From 6958674bf5af23810e1e318981c979450683069c Mon Sep 17 00:00:00 2001 From: hajipour Date: Fri, 26 Jan 2024 14:49:05 +0100 Subject: [PATCH 001/156] bug fix: port & device uuids extracted from device protobuf message instead of custom feature which is dedicated for emulated devices. --- .../rest_server/nbi_plugins/etsi_bwm/Tools.py | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py b/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py index a78d28193..c80591992 100644 --- a/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py +++ b/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py @@ -14,6 +14,7 @@ import json import logging +import re import time from decimal import ROUND_HALF_EVEN, Decimal from flask.json import jsonify @@ -26,6 +27,9 @@ from common.tools.object_factory.Service import json_service_id LOGGER = logging.getLogger(__name__) +RE_PORT_AND_IP_MATCH = r'resource_key: \"\/interface\[(.*)\]\/subinterface\[.*\]\"[.|\n]*.*\\\"address_ip\\\": \\\"{}\\\"' +RE_ENDPOINT_UUID_PORT_MATCH = r'\s*\n?\s*endpoint_uuid .\s*\n?\s*uuid: \"(.*)\"\n?\s*.\n?\s*.\n?\s*name: \"{}\"' +RE_DEVICE_UUID_MATCH = r'\n?\s*device_uuid \{\s*\n?\s*uuid: \"(.*)\"\n?\s*\}\n?\s*\}' def service_2_bwInfo(service: Service) -> dict: response = {} @@ -75,17 +79,20 @@ def bwInfo_2_service(client, bwInfo: dict) -> Service: a_ip = bwInfo['sessionFilter'][0]['sourceIp'] z_ip = bwInfo['sessionFilter'][0]['dstAddress'] - devices = client.ListDevices(Empty()).devices + devices = (str(device) for device in client.ListDevices(Empty()).devices) for device in devices: - for cr in device.device_config.config_rules: - if cr.WhichOneof('config_rule') == 'custom' and cr.custom.resource_key == '_connect/settings': - for ep in json.loads(cr.custom.resource_value)['endpoints']: - if 'ip' in ep and (ep['ip'] == a_ip or ep['ip'] == z_ip): - ep_id = EndPointId() - ep_id.endpoint_uuid.uuid = ep['uuid'] - ep_id.device_id.device_uuid.uuid = device.device_id.device_uuid.uuid - service.service_endpoint_ids.append(ep_id) - + for ep_id in (a_ip, z_ip): + if look_up := re.search(RE_PORT_AND_IP_MATCH.format(ep_id), device): + physical_port = look_up.groups(0)[0] + # 'PORT-' is added as a prefix + port = 'PORT-' + physical_port + port_uuid = re.search(RE_ENDPOINT_UUID_PORT_MATCH.format(port), device).group(0)[0] + device_uuid = re.search(RE_DEVICE_UUID_MATCH, device).group(0)[0] + ep_id = EndPointId() + ep_id.endpoint_uuid.uuid = port_uuid + ep_id.device_id.device_uuid.uuid = device_uuid + service.service_endpoint_ids.append(ep_id) + service.service_type = ServiceTypeEnum.SERVICETYPE_L3NM if 'appInsId' in bwInfo: -- GitLab From 27b2104dd4fb4615db630ec424ee20258acbeec0 Mon Sep 17 00:00:00 2001 From: hajipour Date: Fri, 26 Jan 2024 23:16:03 +0100 Subject: [PATCH 002/156] refactoring: port lookup done sequentially in device protobuf instead of global regex search --- .../rest_server/nbi_plugins/etsi_bwm/Tools.py | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py b/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py index c80591992..17199315d 100644 --- a/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py +++ b/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py @@ -27,9 +27,8 @@ from common.tools.object_factory.Service import json_service_id LOGGER = logging.getLogger(__name__) -RE_PORT_AND_IP_MATCH = r'resource_key: \"\/interface\[(.*)\]\/subinterface\[.*\]\"[.|\n]*.*\\\"address_ip\\\": \\\"{}\\\"' -RE_ENDPOINT_UUID_PORT_MATCH = r'\s*\n?\s*endpoint_uuid .\s*\n?\s*uuid: \"(.*)\"\n?\s*.\n?\s*.\n?\s*name: \"{}\"' -RE_DEVICE_UUID_MATCH = r'\n?\s*device_uuid \{\s*\n?\s*uuid: \"(.*)\"\n?\s*\}\n?\s*\}' +RE_CONFIG_RULE_IF_SUBIF = re.compile(r'^\/interface\[([^\]]+)\]\/subinterface\[([^\]]+)\]$') +RE_CONFIG_RULE_ADDRESS_IP = re.compile(r'\\\"address_ip\\\": \\\"((?:[0-9]{1,3}\.){3}[0-9]{1,3})\\\"') def service_2_bwInfo(service: Service) -> dict: response = {} @@ -79,20 +78,20 @@ def bwInfo_2_service(client, bwInfo: dict) -> Service: a_ip = bwInfo['sessionFilter'][0]['sourceIp'] z_ip = bwInfo['sessionFilter'][0]['dstAddress'] - devices = (str(device) for device in client.ListDevices(Empty()).devices) + devices = client.ListDevices(Empty()).devices for device in devices: - for ep_id in (a_ip, z_ip): - if look_up := re.search(RE_PORT_AND_IP_MATCH.format(ep_id), device): - physical_port = look_up.groups(0)[0] - # 'PORT-' is added as a prefix - port = 'PORT-' + physical_port - port_uuid = re.search(RE_ENDPOINT_UUID_PORT_MATCH.format(port), device).group(0)[0] - device_uuid = re.search(RE_DEVICE_UUID_MATCH, device).group(0)[0] - ep_id = EndPointId() - ep_id.endpoint_uuid.uuid = port_uuid - ep_id.device_id.device_uuid.uuid = device_uuid - service.service_endpoint_ids.append(ep_id) - + device_endpoint_uuids = {ep.name:ep.endpoint_id.endpoint_uuid for ep in device.device_endpoints} + for cr in device.device_config.config_rules: + if cr.WhichOneof('config_rule') == 'custom': + match_subif = RE_CONFIG_RULE_IF_SUBIF.match(cr.custom.resource_key) + match_ip = RE_CONFIG_RULE_ADDRESS_IP.match(cr.custom.resource_value) + if match_subif and match_ip and match_ip.groups(0)[0] in [a_ip, z_ip]: + # `PORT-` added as prefix + port_name = 'PORT-' + match_subif.groups(0)[0] + ep_id = EndPointId() + ep_id.endpoint_uuid.uuid = device_endpoint_uuids[port_name] + ep_id.device_id.device_uuid.uuid = device.device_id.device_uuid + service.service_endpoint_ids.append(ep_id) service.service_type = ServiceTypeEnum.SERVICETYPE_L3NM if 'appInsId' in bwInfo: -- GitLab From c2179dd845b717806fb0acc522f80e70581e0a37 Mon Sep 17 00:00:00 2001 From: hajipour Date: Fri, 26 Jan 2024 23:44:16 +0100 Subject: [PATCH 003/156] bug fix: Showing service info error in webui when service is created by BWM resolved. --- src/webui/service/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/webui/service/__init__.py b/src/webui/service/__init__.py index 05b2eeaf0..5211ad935 100644 --- a/src/webui/service/__init__.py +++ b/src/webui/service/__init__.py @@ -48,7 +48,7 @@ def json_to_list(json_str : str) -> List[Union[str, Tuple[str, str]]]: if isinstance(data, dict): return [('kv', (key, value)) for key, value in data.items()] - elif isinstance(data, list): + elif isinstance(data, list) and not isinstance(data[0], dict): return [('item', ', '.join(data))] else: return [('item', str(data))] -- GitLab From ccdf13d912422c550f141a4f6ca81533ff749aad Mon Sep 17 00:00:00 2001 From: hajipour Date: Sun, 28 Jan 2024 11:18:15 +0100 Subject: [PATCH 004/156] bug fix:device's uuid assigned to EndpointId.device_id.device_uuid.uuid in bwm service creation. --- src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py b/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py index 17199315d..b9ed73850 100644 --- a/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py +++ b/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py @@ -90,7 +90,7 @@ def bwInfo_2_service(client, bwInfo: dict) -> Service: port_name = 'PORT-' + match_subif.groups(0)[0] ep_id = EndPointId() ep_id.endpoint_uuid.uuid = device_endpoint_uuids[port_name] - ep_id.device_id.device_uuid.uuid = device.device_id.device_uuid + ep_id.device_id.device_uuid.uuid = device.device_id.device_uuid.uuid service.service_endpoint_ids.append(ep_id) service.service_type = ServiceTypeEnum.SERVICETYPE_L3NM -- GitLab From 4bbdf917ca1ea8a6a19a2ea9e5bfbe4b3ddf60dd Mon Sep 17 00:00:00 2001 From: hajipour Date: Sun, 28 Jan 2024 17:26:48 +0100 Subject: [PATCH 005/156] bug fix: json_to_list function bug when json_str is empty list resolved. --- src/webui/service/__init__.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/webui/service/__init__.py b/src/webui/service/__init__.py index 5211ad935..7146f321b 100644 --- a/src/webui/service/__init__.py +++ b/src/webui/service/__init__.py @@ -45,10 +45,12 @@ def json_to_list(json_str : str) -> List[Union[str, Tuple[str, str]]]: data = json.loads(json_str) except: # pylint: disable=bare-except return [('item', str(json_str))] - + if isinstance(data, dict): return [('kv', (key, value)) for key, value in data.items()] - elif isinstance(data, list) and not isinstance(data[0], dict): + elif isinstance(data, list) and len(data) == 1 and isinstance(data[0], dict): # BWM use-case + return [('kv', (key, value)) for key, value in data[0].items()] + elif isinstance(data, list) and all(isinstance(d, str) for d in data): return [('item', ', '.join(data))] else: return [('item', str(data))] -- GitLab From f10241a6c1228d1100750f5e79bdff1e88fbce02 Mon Sep 17 00:00:00 2001 From: hajipour Date: Mon, 12 Feb 2024 12:24:01 +0000 Subject: [PATCH 006/156] bug fix: temporary fix for MEC PoC demo. Config rules and OpenConfig driver for L3VPN should change based on telefonica recipe. --- .../drivers/openconfig/OpenConfigDriver.py | 5 +- .../drivers/openconfig/templates/Tools.py | 3 +- .../VPN/Network_instance_multivendor.py | 36 ++++- .../nbi_plugins/etsi_bwm/Resources.py | 15 +- .../rest_server/nbi_plugins/etsi_bwm/Tools.py | 140 +++++++++++++----- .../algorithms/tools/ComposeConfigRules.py | 18 +++ .../l3nm_openconfig/ConfigRules.py | 66 +++++++-- 7 files changed, 229 insertions(+), 54 deletions(-) diff --git a/src/device/service/drivers/openconfig/OpenConfigDriver.py b/src/device/service/drivers/openconfig/OpenConfigDriver.py index 8c6e07b3f..99ae1c8db 100644 --- a/src/device/service/drivers/openconfig/OpenConfigDriver.py +++ b/src/device/service/drivers/openconfig/OpenConfigDriver.py @@ -226,8 +226,11 @@ def edit_config( chk_length(str_resource_name, resource, min_length=2, max_length=2) resource_key,resource_value = resource chk_string(str_resource_name + '.key', resource_key, allow_empty=False) + str_config_messages = compose_config( # get template for configuration - resource_key, resource_value, delete=delete, vendor=netconf_handler.vendor, message_renderer=netconf_handler.message_renderer) + resource_key, resource_value, delete=delete, vendor=netconf_handler.vendor, message_renderer='pyangbind') + # str_config_messages = compose_config( # get template for configuration + # resource_key, resource_value, delete=delete, vendor=netconf_handler.vendor, message_renderer=netconf_handler.message_renderer) for str_config_message in str_config_messages: # configuration of the received templates if str_config_message is None: raise UnsupportedResourceKeyException(resource_key) logger.debug('[{:s}] str_config_message[{:d}] = {:s}'.format( diff --git a/src/device/service/drivers/openconfig/templates/Tools.py b/src/device/service/drivers/openconfig/templates/Tools.py index 79bebef51..3e8043680 100644 --- a/src/device/service/drivers/openconfig/templates/Tools.py +++ b/src/device/service/drivers/openconfig/templates/Tools.py @@ -61,7 +61,8 @@ def generate_templates(resource_key: str, resource_value: str, delete: bool,vend elif "inter_instance_policies" in resource_key: result_templates.append(associate_RP_to_NI(data)) elif "protocols" in resource_key: - if vendor == "ADVA": result_templates.append(add_protocol_NI(data, vendor, delete)) + result_templates.append(add_protocol_NI(data, vendor, delete)) + # if vendor == "ADVA": result_templates.append(add_protocol_NI(data, vendor, delete)) elif "table_connections" in resource_key: result_templates.append(create_table_conns(data, delete)) elif "interface" in resource_key: diff --git a/src/device/service/drivers/openconfig/templates/VPN/Network_instance_multivendor.py b/src/device/service/drivers/openconfig/templates/VPN/Network_instance_multivendor.py index c4d494ea6..e36955a0d 100644 --- a/src/device/service/drivers/openconfig/templates/VPN/Network_instance_multivendor.py +++ b/src/device/service/drivers/openconfig/templates/VPN/Network_instance_multivendor.py @@ -116,6 +116,9 @@ def add_protocol_NI(parameters,vendor, DEL): else: with tag('network-instance'): with tag('name'):text(parameters['name']) + with tag('config'): + with tag('name'): text(parameters['name']) + with tag('type', 'xmlns:oc-ni-types="http://openconfig.net/yang/network-instance-types"'): text('oc-ni-types:DEFAULT_INSTANCE') with tag('protocols'): with tag('protocol'): with tag('identifier', 'xmlns:oc-pol-types="http://openconfig.net/yang/policy-types"'):text('oc-pol-types:',parameters['identifier']) @@ -123,14 +126,41 @@ def add_protocol_NI(parameters,vendor, DEL): with tag('config'): with tag('identifier', 'xmlns:oc-pol-types="http://openconfig.net/yang/policy-types"'):text('oc-pol-types:',parameters['identifier']) with tag('name') :text(parameters['protocol_name']) + with tag('enabled'): text('true') if "BGP" in parameters['identifier']: with tag('bgp'): with tag('global'): + with tag('afi-safis'): + with tag('afi-safi'): + with tag('afi-safi-name', 'xmlns:oc-bgp-types="http://openconfig.net/yang/bgp-types"'): text('oc-bgp-types:IPV4_UNICAST') + with tag('config'): + with tag('afi-safi-name', 'xmlns:oc-bgp-types="http://openconfig.net/yang/bgp-types"'): text('oc-bgp-types:IPV4_UNICAST') + with tag('enabled'): text('true') with tag('config'): with tag('as') :text(parameters['as']) - if "router-id" in parameters: - with tag('router-id'):text(parameters['router-id']) - if vendor == "ADVA": + with tag('peer-groups'): + with tag('peer-group'): + with tag('peer-group-name'): text('IBGP') + with tag('config'): + with tag('peer-group-name'): text('IBGP') + with tag('peer-as'): text(parameters['protocol_name']) + with tag('afi-safis'): + with tag('afi-safi'): + with tag('afi-safi-name', 'xmlns:oc-bgp-types="http://openconfig.net/yang/bgp-types"'): text('oc-bgp-types:IPV4_UNICAST') + with tag('config'): + with tag('afi-safi-name', 'xmlns:oc-bgp-types="http://openconfig.net/yang/bgp-types"'): text('oc-bgp-types:IPV4_UNICAST') + with tag('enabled'): text('true') + + if 'neighbors' in parameters: + with tag('neighbors'): + for neighbor in parameters['neighbors']: + with tag('neighbor'): + with tag('neighbor-address'): text(neighbor['ip_address']) + with tag('config'): + with tag('neighbor-address'): text(neighbor['ip_address']) + with tag('peer-group'): text('IBGP') + # if vendor == "ADVA": + if True: with tag('tables'): with tag('table'): with tag('protocol', 'xmlns:oc-pol-types="http://openconfig.net/yang/policy-types"'):text('oc-pol-types:',parameters['identifier']) diff --git a/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Resources.py b/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Resources.py index 3fccbbb55..394b50de8 100644 --- a/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Resources.py +++ b/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Resources.py @@ -13,7 +13,9 @@ # limitations under the License. import copy, deepmerge, json, logging +from typing import Dict from common.Constants import DEFAULT_CONTEXT_NAME +from werkzeug.exceptions import UnsupportedMediaType from context.client.ContextClient import ContextClient from flask_restful import Resource, request from service.client.ServiceClient import ServiceClient @@ -37,15 +39,20 @@ class BwInfo(_Resource): return bw_allocations def post(self): - bwinfo = request.get_json() - service = bwInfo_2_service(self.client, bwinfo) + if not request.is_json: + raise UnsupportedMediaType('JSON payload is required') + request_data: Dict = request.get_json() + service = bwInfo_2_service(self.client, request_data) stripped_service = copy.deepcopy(service) stripped_service.ClearField('service_endpoint_ids') stripped_service.ClearField('service_constraints') stripped_service.ClearField('service_config') - response = format_grpc_to_json(self.service_client.CreateService(stripped_service)) - response = format_grpc_to_json(self.service_client.UpdateService(service)) + try: + response = format_grpc_to_json(self.service_client.CreateService(stripped_service)) + response = format_grpc_to_json(self.service_client.UpdateService(service)) + except Exception as e: # pylint: disable=broad-except + return e return response diff --git a/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py b/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py index a78d28193..d3be769c9 100644 --- a/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py +++ b/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py @@ -14,22 +14,35 @@ import json import logging +import re import time from decimal import ROUND_HALF_EVEN, Decimal from flask.json import jsonify from common.proto.context_pb2 import ( - ContextId, Empty, EndPointId, ServiceId, ServiceTypeEnum, Service, Constraint, Constraint_SLA_Capacity, + ContextId, Empty, EndPointId, ServiceId, ServiceTypeEnum, Service, ServiceStatusEnum, Constraint, Constraint_SLA_Capacity, ConfigRule, ConfigRule_Custom, ConfigActionEnum) from common.tools.grpc.Tools import grpc_message_to_json +from common.tools.grpc.ConfigRules import update_config_rule_custom from common.tools.object_factory.Context import json_context_id from common.tools.object_factory.Service import json_service_id LOGGER = logging.getLogger(__name__) +ENDPOINT_SETTINGS_KEY = '/device[{:s}]/endpoint[{:s}]/vlan[{:d}]/settings' +RE_CONFIG_RULE_IF_SUBIF = re.compile(r'^\/interface\[([^\]]+)\]\/subinterface\[([^\]]+)\]$') +MEC_CONSIDERED_FIELDS = ['requestType', 'sessionFilter', 'fixedAllocation', 'allocationDirection'] +ALLOCATION_DIRECTION_DESCRIPTIONS = { + '00' : 'Downlink (towards the UE)', + '01' : 'Uplink (towards the application/session)', + '10' : 'Symmetrical'} +VLAN_TAG = 0 +PREFIX_LENGTH = 24 +BGP_AS = 65000 +policy_AZ = 'srv_{:d}_a'.format(VLAN_TAG) +policy_ZA = 'srv_{:d}_b'.format(VLAN_TAG) def service_2_bwInfo(service: Service) -> dict: response = {} - # allocationDirection = '??' # String: 00 = Downlink (towards the UE); 01 = Uplink (towards the application/session); 10 = Symmetrical response['appInsId'] = service.service_id.service_uuid.uuid # String: Application instance identifier for constraint in service.service_constraints: if constraint.WhichOneof('constraint') == 'sla_capacity': @@ -55,47 +68,108 @@ def service_2_bwInfo(service: Service) -> dict: return response -def bwInfo_2_service(client, bwInfo: dict) -> Service: +def bwInfo_2_service(client, bw_info: dict) -> Service: + # add description to allocationDirection code + if ad_code := bw_info.get('allocationDirection'): + bw_info['allocationDirection'] = {'code': ad_code, 'description': ALLOCATION_DIRECTION_DESCRIPTIONS[ad_code]} + if 'sessionFilter' in bw_info: + bw_info['sessionFilter'] = bw_info['sessionFilter'][0] # Discard other items in sessionFilter field + service = Service() - for key in ['allocationDirection', 'fixedBWPriority', 'requestType', 'timeStamp', 'sessionFilter']: - if key not in bwInfo: - continue - config_rule = ConfigRule() - config_rule.action = ConfigActionEnum.CONFIGACTION_SET - config_rule_custom = ConfigRule_Custom() - config_rule_custom.resource_key = key - if key != 'sessionFilter': - config_rule_custom.resource_value = str(bwInfo[key]) - else: - config_rule_custom.resource_value = json.dumps(bwInfo[key]) - config_rule.custom.CopyFrom(config_rule_custom) - service.service_config.config_rules.append(config_rule) - - if 'sessionFilter' in bwInfo: - a_ip = bwInfo['sessionFilter'][0]['sourceIp'] - z_ip = bwInfo['sessionFilter'][0]['dstAddress'] + + service_config_rules = service.service_config.config_rules + + route_distinguisher = '{:5d}:{:03d}'.format(BGP_AS, VLAN_TAG) + settings_cr_key = '/settings' + settings_cr_value = {'bgp_as':(BGP_AS, True), 'route_distinguisher': (route_distinguisher, True)} + update_config_rule_custom(service_config_rules, settings_cr_key, settings_cr_value) + + request_cr_key = '/request' + request_cr_value = {k:bw_info[k] for k in MEC_CONSIDERED_FIELDS} + + config_rule = ConfigRule() + config_rule.action = ConfigActionEnum.CONFIGACTION_SET + config_rule_custom = ConfigRule_Custom() + config_rule_custom.resource_key = request_cr_key + config_rule_custom.resource_value = json.dumps(request_cr_value) + config_rule.custom.CopyFrom(config_rule_custom) + service_config_rules.append(config_rule) + + if 'sessionFilter' in bw_info: + a_ip = bw_info['sessionFilter']['sourceIp'] + z_ip = bw_info['sessionFilter']['dstAddress'] devices = client.ListDevices(Empty()).devices + router_id_counter = 1 for device in devices: + device_endpoint_uuids = {ep.name:ep.endpoint_id.endpoint_uuid.uuid for ep in device.device_endpoints} for cr in device.device_config.config_rules: - if cr.WhichOneof('config_rule') == 'custom' and cr.custom.resource_key == '_connect/settings': - for ep in json.loads(cr.custom.resource_value)['endpoints']: - if 'ip' in ep and (ep['ip'] == a_ip or ep['ip'] == z_ip): - ep_id = EndPointId() - ep_id.endpoint_uuid.uuid = ep['uuid'] - ep_id.device_id.device_uuid.uuid = device.device_id.device_uuid.uuid - service.service_endpoint_ids.append(ep_id) - + if cr.WhichOneof('config_rule') != 'custom': + continue + match_subif = RE_CONFIG_RULE_IF_SUBIF.match(cr.custom.resource_key) + if not match_subif: + continue + address_ip = json.loads(cr.custom.resource_value).get('address_ip') + if address_ip not in [a_ip, z_ip]: + continue + port_name = 'PORT-' + match_subif.groups(0)[0] # `PORT-` added as prefix + ep_id = EndPointId() + ep_id.endpoint_uuid.uuid = device_endpoint_uuids[port_name] + ep_id.device_id.device_uuid.uuid = device.device_id.device_uuid.uuid + service.service_endpoint_ids.append(ep_id) + + # add interface config rules + endpoint_settings_key = ENDPOINT_SETTINGS_KEY.format(device.name, port_name, VLAN_TAG) + if address_ip == a_ip: + field_updates = { + 'address_ip': (address_ip, True), + # 'router_id': ('.'.join([str(router_id_counter)]*4), True), + 'router_id': ('200.1.1.1', True), + 'neighbor_address_ip': ('192.168.150.2', True), + 'route_distinguisher': (route_distinguisher, True), + 'sub_interface_index': (0, True), + 'vlan_id' : (VLAN_TAG, True), + # 'bgp_as': (BGP_AS+router_id_counter, True), + 'bgp_as': (BGP_AS, True), + 'ip_address': (address_ip, True), + 'prefix_length': (PREFIX_LENGTH, True), + 'policy_AZ' : (policy_AZ, True), + 'policy_ZA' : (policy_ZA, True), + 'address_prefix' : (PREFIX_LENGTH, True), + } + elif address_ip == z_ip: + field_updates = { + 'address_ip': (address_ip, True), + # 'router_id': ('.'.join([str(router_id_counter)]*4), True), + 'router_id': ('200.1.1.2', True), + 'neighbor_address_ip': ('192.168.150.1', True), + 'route_distinguisher': (route_distinguisher, True), + 'sub_interface_index': (0, True), + 'vlan_id' : (VLAN_TAG, True), + # 'bgp_as': (BGP_AS+router_id_counter, True), + 'bgp_as': (BGP_AS, True), + 'ip_address': (address_ip, True), + 'prefix_length': (PREFIX_LENGTH, True), + 'policy_AZ' : (policy_ZA, True), + 'policy_ZA' : (policy_AZ, True), + 'address_prefix' : (PREFIX_LENGTH, True), + } + router_id_counter += 1 + LOGGER.debug(f'BEFORE UPDATE -> device.device_config.config_rules: {service_config_rules}') + update_config_rule_custom(service_config_rules, endpoint_settings_key, field_updates) + LOGGER.debug(f'AFTER UPDATE -> device.device_config.config_rules: {service_config_rules}') + + service.service_status.service_status = ServiceStatusEnum.SERVICESTATUS_PLANNED service.service_type = ServiceTypeEnum.SERVICETYPE_L3NM - if 'appInsId' in bwInfo: - service.service_id.service_uuid.uuid = bwInfo['appInsId'] + if 'appInsId' in bw_info: + service.service_id.service_uuid.uuid = bw_info['appInsId'] service.service_id.context_id.context_uuid.uuid = 'admin' - service.name = bwInfo['appInsId'] + service.name = bw_info['appInsId'] - if 'fixedAllocation' in bwInfo: + if 'fixedAllocation' in bw_info: capacity = Constraint_SLA_Capacity() - capacity.capacity_gbps = float(bwInfo['fixedAllocation']) / 1.e9 + capacity.capacity_gbps = float(bw_info['fixedAllocation']) / 1.e9 constraint = Constraint() constraint.sla_capacity.CopyFrom(capacity) service.service_constraints.append(constraint) diff --git a/src/pathcomp/frontend/service/algorithms/tools/ComposeConfigRules.py b/src/pathcomp/frontend/service/algorithms/tools/ComposeConfigRules.py index 329552a91..498db7dcd 100644 --- a/src/pathcomp/frontend/service/algorithms/tools/ComposeConfigRules.py +++ b/src/pathcomp/frontend/service/algorithms/tools/ComposeConfigRules.py @@ -24,6 +24,7 @@ SETTINGS_RULE_NAME = '/settings' DEVICE_SETTINGS = re.compile(r'\/device\[([^\]]+)\]\/settings') ENDPOINT_SETTINGS = re.compile(r'\/device\[([^\]]+)\]\/endpoint\[([^\]]+)\]\/settings') +RE_ENDPOINT_VLAN_SETTINGS = re.compile(r'\/device\[([^\]]+)\]\/endpoint\[([^\]]+)\]\/vlan\[([^\]]+)\]\/settings') L2NM_SETTINGS_FIELD_DEFAULTS = { 'encapsulation_type': 'dot1q', @@ -150,6 +151,23 @@ def compose_device_config_rules( device_endpoint_keys = set(itertools.product(device_keys, endpoint_keys)) if len(device_endpoint_keys.intersection(endpoints_traversed)) == 0: continue subservice_config_rules.append(config_rule) + + match = RE_ENDPOINT_VLAN_SETTINGS.match(config_rule.custom.resource_key) + if match is not None: + device_uuid_or_name = match.group(1) + device_name_or_uuid = device_name_mapping[device_uuid_or_name] + device_keys = {device_uuid_or_name, device_name_or_uuid} + + endpoint_uuid_or_name = match.group(2) + endpoint_name_or_uuid_1 = endpoint_name_mapping[(device_uuid_or_name, endpoint_uuid_or_name)] + endpoint_name_or_uuid_2 = endpoint_name_mapping[(device_name_or_uuid, endpoint_uuid_or_name)] + endpoint_keys = {endpoint_uuid_or_name, endpoint_name_or_uuid_1, endpoint_name_or_uuid_2} + + device_endpoint_keys = set(itertools.product(device_keys, endpoint_keys)) + if len(device_endpoint_keys.intersection(endpoints_traversed)) == 0: continue + # ! check later: vlan removed from config_rule + config_rule.custom.resource_key = re.sub('\/vlan\[[^\]]+\]', '', config_rule.custom.resource_key) + subservice_config_rules.append(config_rule) else: continue diff --git a/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py b/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py index 1e4425cdb..0369d6207 100644 --- a/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py +++ b/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py @@ -37,6 +37,7 @@ def setup_config_rules( vlan_id = json_endpoint_settings.get('vlan_id', 1 ) # 400 address_ip = json_endpoint_settings.get('address_ip', '0.0.0.0') # '2.2.2.1' address_prefix = json_endpoint_settings.get('address_prefix', 24 ) # 30 + neighbor_address_ip = json_endpoint_settings.get('neighbor_address_ip', '0.0.0.0') # '2.2.2.1' policy_import = json_endpoint_settings.get('policy_AZ', '2' ) # 2 policy_export = json_endpoint_settings.get('policy_ZA', '7' ) # 30 @@ -46,18 +47,21 @@ def setup_config_rules( network_subinterface_desc = json_endpoint_settings.get('subif_description','') #service_short_uuid = service_uuid.split('-')[-1] #network_instance_name = '{:s}-NetInst'.format(service_short_uuid) - network_instance_name = json_endpoint_settings.get('ni_name', service_uuid.split('-')[-1]) #ELAN-AC:1 + # network_instance_name = json_endpoint_settings.get('ni_name', service_uuid.split('-')[-1]) #ELAN-AC:1 + network_instance_name = 'default' - if_subif_name = '{:s}.{:d}'.format(endpoint_name, vlan_id) + ''' + # if_subif_name = '{:s}.{:d}'.format(endpoint_name, vlan_id) + if_subif_name = '{:s}'.format(endpoint_name[5:]) json_config_rules = [ - # Configure Interface (not used) - #json_config_rule_set( + # # Configure Interface (not used) + # json_config_rule_set( # '/interface[{:s}]'.format(endpoint_name), { # 'name': endpoint_name, # 'description': network_interface_desc, # 'mtu': mtu, - #}), + # }), #Create network instance json_config_rule_set( @@ -74,8 +78,10 @@ def setup_config_rules( json_config_rule_set( '/network_instance[{:s}]/protocols[BGP]'.format(network_instance_name), { 'name': network_instance_name, - 'protocol_name': 'BGP', + # 'protocol_name': 'BGP', + 'protocol_name': bgp_as, 'identifier': 'BGP', + # 'identifier': bgp_as, 'as': bgp_as, 'router_id': router_id, }), @@ -101,7 +107,8 @@ def setup_config_rules( json_config_rule_set( '/interface[{:s}]/subinterface[{:d}]'.format(if_subif_name, sub_interface_index), { 'name' : if_subif_name, - 'type' :'l3ipvlan', + # 'type' :'l3ipvlan', + 'type' :'ethernetCsmacd', 'mtu' : mtu, 'index' : sub_interface_index, 'description' : network_subinterface_desc, @@ -183,6 +190,40 @@ def setup_config_rules( }), ] + ''' + if_subif_name = '{:s}'.format(endpoint_name[5:]) + + json_config_rules = [ + + #Add DIRECTLY CONNECTED protocol to network instance + json_config_rule_set( + '/network_instance[{:s}]/protocols[DIRECTLY_CONNECTED]'.format(network_instance_name), { + 'name': network_instance_name, + 'identifier': 'DIRECTLY_CONNECTED', + 'protocol_name': 'DIRECTLY_CONNECTED', + }), + + # Add BGP neighbors + json_config_rule_set( + '/network_instance[{:s}]/protocols[BGP]'.format(network_instance_name), { + 'name': network_instance_name, + 'protocol_name': bgp_as, + 'identifier': 'BGP', + 'as': bgp_as, + 'router_id': router_id, + 'neighbors': [{'ip_address': neighbor_address_ip, 'remote_as': bgp_as}] + }), + json_config_rule_set( + '/network_instance[{:s}]/table_connections[DIRECTLY_CONNECTED][BGP][IPV4]'.format(network_instance_name), { + 'name' : network_instance_name, + 'src_protocol' : 'DIRECTLY_CONNECTED', + 'dst_protocol' : 'BGP', + 'address_family' : 'IPV4', + 'default_import_policy': 'ACCEPT_ROUTE', + }), + + ] + for res_key, res_value in endpoint_acls: json_config_rules.append( {'action': 1, 'acl': res_value} @@ -201,7 +242,8 @@ def teardown_config_rules( json_endpoint_settings : Dict = endpoint_settings.value service_short_uuid = service_uuid.split('-')[-1] - network_instance_name = '{:s}-NetInst'.format(service_short_uuid) + # network_instance_name = '{:s}-NetInst'.format(service_short_uuid) + network_instance_name = json_endpoint_settings.get('ni_name', service_short_uuid) #ELAN-AC:1 #network_interface_desc = '{:s}-NetIf'.format(service_uuid) #network_subinterface_desc = '{:s}-NetSubIf'.format(service_uuid) @@ -262,10 +304,10 @@ def teardown_config_rules( #Delete interface; automatically deletes: # - /interface[]/subinterface[] - json_config_rule_delete('/interface[{:s}]/subinterface[0]'.format(if_subif_name), - { - 'name': if_subif_name, - }), + # json_config_rule_delete('/interface[{:s}]/subinterface[0]'.format(if_subif_name), + # { + # 'name': if_subif_name, + # }), #Delete network instance; automatically deletes: # - /network_instance[]/interface[] -- GitLab From 5d9967880633c624761e6089a8592ec74959d299 Mon Sep 17 00:00:00 2001 From: kpoulakakis Date: Wed, 14 Feb 2024 14:04:11 +0200 Subject: [PATCH 007/156] refactor: Decouple services that needed for monitoring (alarms) and based common policy services. Didn't change any of th existing implementation. --- .../policy/policy/AddPolicyDeviceImpl.java | 80 ++ .../policy/policy/AddPolicyServiceImpl.java | 78 ++ .../tfs/policy/policy/CommonAlarmService.java | 173 ++++ .../policy/CommonPolicyServiceImpl.java | 525 ++++++++++++ .../tfs/policy/policy/DeletePolicyImpl.java | 3 + .../tfs/policy/policy/PolicyServiceImpl.java | 774 +----------------- 6 files changed, 880 insertions(+), 753 deletions(-) create mode 100644 src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyDeviceImpl.java create mode 100644 src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java create mode 100644 src/policy/src/main/java/org/etsi/tfs/policy/policy/CommonAlarmService.java create mode 100644 src/policy/src/main/java/org/etsi/tfs/policy/policy/CommonPolicyServiceImpl.java create mode 100644 src/policy/src/main/java/org/etsi/tfs/policy/policy/DeletePolicyImpl.java diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyDeviceImpl.java b/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyDeviceImpl.java new file mode 100644 index 000000000..1d6302a28 --- /dev/null +++ b/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyDeviceImpl.java @@ -0,0 +1,80 @@ +package org.etsi.tfs.policy.policy; + +import static org.etsi.tfs.policy.common.ApplicationProperties.INVALID_MESSAGE; +import static org.etsi.tfs.policy.common.ApplicationProperties.VALIDATED_POLICYRULE_STATE; + +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.groups.UniJoin; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.util.List; +import org.etsi.tfs.policy.context.ContextService; +import org.etsi.tfs.policy.exception.ExternalServiceFailureException; +import org.etsi.tfs.policy.policy.model.PolicyRule; +import org.etsi.tfs.policy.policy.model.PolicyRuleBasic; +import org.etsi.tfs.policy.policy.model.PolicyRuleDevice; +import org.etsi.tfs.policy.policy.model.PolicyRuleState; +import org.etsi.tfs.policy.policy.model.PolicyRuleStateEnum; +import org.etsi.tfs.policy.policy.model.PolicyRuleTypeDevice; +import org.etsi.tfs.policy.policy.service.PolicyRuleConditionValidator; + +@ApplicationScoped +public class AddPolicyDeviceImpl { + + @Inject private PolicyRuleConditionValidator policyRuleConditionValidator; + + @Inject private CommonPolicyServiceImpl commonPolicyServiceImpl; + @Inject private CommonAlarmService commonAlarmService; + + @Inject private ContextService contextService; + + public Uni> returnInvalidDeviceIds(List deviceIds) { + UniJoin.Builder builder = Uni.join().builder(); + for (String deviceId : deviceIds) { + final var validatedDeviceId = policyRuleConditionValidator.isDeviceIdValid(deviceId); + builder.add(validatedDeviceId); + } + return builder.joinAll().andFailFast(); + } + + public Uni areDeviceOnContext( + List areDevices, + PolicyRuleDevice policyRuleDevice, + PolicyRuleBasic policyRuleBasic) { + if (areDevices.contains(false)) { + var policyRuleState = + new PolicyRuleState( + PolicyRuleStateEnum.POLICY_FAILED, + String.format( + INVALID_MESSAGE, policyRuleDevice.getPolicyRuleBasic().getPolicyRuleId())); + + return Uni.createFrom().item(policyRuleState); + } + + final var policyRuleTypeDevice = new PolicyRuleTypeDevice(policyRuleDevice); + final var policyRule = new PolicyRule(policyRuleTypeDevice); + + final var alarmDescriptorList = commonPolicyServiceImpl.createAlarmDescriptorList(policyRule); + if (alarmDescriptorList.isEmpty()) { + var policyRuleState = + new PolicyRuleState( + PolicyRuleStateEnum.POLICY_FAILED, + String.format( + "Invalid PolicyRuleConditions in PolicyRule with ID: %s", + policyRuleBasic.getPolicyRuleId())); + return Uni.createFrom().item(policyRuleState); + } + + return contextService + .setPolicyRule(policyRule) + .onFailure() + .transform(failure -> new ExternalServiceFailureException(failure.getMessage())) + .onItem() + .transform( + policyId -> { + commonAlarmService.startMonitoringBasedOnAlarmDescriptors( + policyId, policyRuleDevice, alarmDescriptorList); + return VALIDATED_POLICYRULE_STATE; + }); + } +} diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java b/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java new file mode 100644 index 000000000..978484130 --- /dev/null +++ b/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java @@ -0,0 +1,78 @@ +package org.etsi.tfs.policy.policy; + +import static org.etsi.tfs.policy.common.ApplicationProperties.INVALID_MESSAGE; +import static org.etsi.tfs.policy.common.ApplicationProperties.VALIDATED_POLICYRULE_STATE; + +import io.smallrye.mutiny.Uni; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.util.List; +import org.etsi.tfs.policy.context.ContextService; +import org.etsi.tfs.policy.context.model.ServiceId; +import org.etsi.tfs.policy.exception.NewException; +import org.etsi.tfs.policy.monitoring.model.AlarmDescriptor; +import org.etsi.tfs.policy.policy.model.PolicyRule; +import org.etsi.tfs.policy.policy.model.PolicyRuleBasic; +import org.etsi.tfs.policy.policy.model.PolicyRuleService; +import org.etsi.tfs.policy.policy.model.PolicyRuleState; +import org.etsi.tfs.policy.policy.model.PolicyRuleStateEnum; +import org.etsi.tfs.policy.policy.model.PolicyRuleTypeService; +import org.jboss.logging.Logger; + +@ApplicationScoped +public class AddPolicyServiceImpl { + private static final Logger LOGGER = Logger.getLogger(AddPolicyServiceImpl.class); + + @Inject private CommonPolicyServiceImpl commonPolicyService; + @Inject private CommonAlarmService commonAlarmService; + @Inject private ContextService contextService; + + public Uni constructPolicyStateBasedOnCriteria( + Boolean isService, + ServiceId serviceId, + PolicyRuleService policyRuleService, + PolicyRuleBasic policyRuleBasic) { + + if (!isService) { + var policyRuleState = + new PolicyRuleState( + PolicyRuleStateEnum.POLICY_FAILED, String.format(INVALID_MESSAGE, serviceId)); + + return Uni.createFrom().item(policyRuleState); + } + + final var policyRuleTypeService = new PolicyRuleTypeService(policyRuleService); + final var policyRule = new PolicyRule(policyRuleTypeService); + final var alarmDescriptorList = commonPolicyService.createAlarmDescriptorList(policyRule); + + if (alarmDescriptorList.isEmpty()) { + var policyRuleState = + new PolicyRuleState( + PolicyRuleStateEnum.POLICY_FAILED, + String.format( + "Invalid PolicyRuleConditions in PolicyRule with ID: %s", + policyRuleBasic.getPolicyRuleId())); + return Uni.createFrom().item(policyRuleState); + } + + return setPolicyRuleOnContextAndReturnState(policyRule, policyRuleService, alarmDescriptorList); + } + + private Uni setPolicyRuleOnContextAndReturnState( + PolicyRule policyRule, + PolicyRuleService policyRuleService, + List alarmDescriptorList) { + return contextService + .setPolicyRule(policyRule) + .onFailure() + .transform(failure -> new NewException(failure.getMessage())) + .onItem() + .transform( + policyId -> { + commonAlarmService.startMonitoringBasedOnAlarmDescriptors( + policyId, policyRuleService, alarmDescriptorList); + + return VALIDATED_POLICYRULE_STATE; + }); + } +} diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/policy/CommonAlarmService.java b/src/policy/src/main/java/org/etsi/tfs/policy/policy/CommonAlarmService.java new file mode 100644 index 000000000..a5bb7df21 --- /dev/null +++ b/src/policy/src/main/java/org/etsi/tfs/policy/policy/CommonAlarmService.java @@ -0,0 +1,173 @@ +package org.etsi.tfs.policy.policy; + +import static org.etsi.tfs.policy.common.ApplicationProperties.PROVISIONED_POLICYRULE_STATE; +import static org.etsi.tfs.policy.common.ApplicationProperties.VALIDATED_POLICYRULE_STATE; + +import io.smallrye.mutiny.Multi; +import io.smallrye.mutiny.Uni; +import io.smallrye.mutiny.subscription.Cancellable; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.util.ArrayList; +import java.util.List; +import org.etsi.tfs.policy.monitoring.MonitoringService; +import org.etsi.tfs.policy.monitoring.model.AlarmDescriptor; +import org.etsi.tfs.policy.monitoring.model.AlarmResponse; +import org.etsi.tfs.policy.monitoring.model.AlarmSubscription; +import org.etsi.tfs.policy.policy.model.PolicyRuleDevice; +import org.etsi.tfs.policy.policy.model.PolicyRuleService; +import org.jboss.logging.Logger; + +@ApplicationScoped +public class CommonAlarmService { + private static final Logger LOGGER = Logger.getLogger(CommonAlarmService.class); + + @Inject private CommonPolicyServiceImpl commonPolicyServiceImpl; + @Inject private MonitoringService monitoringService; + + public void startMonitoringBasedOnAlarmDescriptors( + String policyId, + PolicyRuleDevice policyRuleDevice, + List alarmDescriptorList) { + commonPolicyServiceImpl.setPolicyRuleDeviceToContext( + policyRuleDevice, VALIDATED_POLICYRULE_STATE); + commonPolicyServiceImpl.noAlarms = 0; + + List> alarmIds = createAlarmList(alarmDescriptorList); + + List> alarmResponseStreamList = + transformAlarmIds(alarmIds, policyRuleDevice); + + // Merge the promised alarms into one stream (Multi Object) + final var multi = Multi.createBy().merging().streams(alarmResponseStreamList); + commonPolicyServiceImpl.setPolicyRuleDeviceToContext( + policyRuleDevice, PROVISIONED_POLICYRULE_STATE); + + commonPolicyServiceImpl + .getSubscriptionList() + .put(policyId, monitorAlarmResponseForDevice(multi)); + + // TODO: Resubscribe to the stream, if it has ended + + // TODO: Redesign evaluation of action + // evaluateAction(policyRule, alarmDescriptorList, multi); + } + + public void startMonitoringBasedOnAlarmDescriptors( + String policyId, + PolicyRuleService policyRuleService, + List alarmDescriptorList) { + commonPolicyServiceImpl.setPolicyRuleServiceToContext( + policyRuleService, VALIDATED_POLICYRULE_STATE); + commonPolicyServiceImpl.noAlarms = 0; + + List> alarmIds = + createAlarmList(alarmDescriptorList); // setAllarmtomonitoring get back alarmid + + List> alarmResponseStreamList = + transformAlarmIds(alarmIds, policyRuleService); + + // Merge the promised alarms into one stream (Multi Object) + final var multi = Multi.createBy().merging().streams(alarmResponseStreamList); + commonPolicyServiceImpl.setPolicyRuleServiceToContext( + policyRuleService, PROVISIONED_POLICYRULE_STATE); + + commonPolicyServiceImpl + .getSubscriptionList() + .put(policyId, monitorAlarmResponseForService(multi)); + + // TODO: Resubscribe to the stream, if it has ended + + // TODO: Redesign evaluation of action + // evaluateAction(policyRule, alarmDescriptorList, multi); + } + + /** + * Transform the alarmIds into promised alarms returned from the getAlarmResponseStream + * + * @param alarmIds the list of alarm ids + * @param policyRuleService the policy rule service + * @return + */ + private List> transformAlarmIds( + List> alarmIds, PolicyRuleService policyRuleService) { + List> alarmResponseStreamList = new ArrayList<>(); + for (Uni alarmId : alarmIds) { + Multi alarmResponseStream = + alarmId.onItem().transformToMulti(id -> setPolicyMonitor(policyRuleService, id)); + + alarmResponseStreamList.add(alarmResponseStream); + } + return alarmResponseStreamList; + } + + private List> transformAlarmIds( + List> alarmIds, PolicyRuleDevice policyRuleDevice) { + // Transform the alarmIds into promised alarms returned from the + // getAlarmResponseStream + List> alarmResponseStreamList = new ArrayList<>(); + for (Uni alarmId : alarmIds) { + alarmResponseStreamList.add( + alarmId.onItem().transformToMulti(id -> setPolicyMonitor(policyRuleDevice, id))); + } + return alarmResponseStreamList; + } + + private Multi setPolicyMonitor(PolicyRuleService policyRuleService, String id) { + commonPolicyServiceImpl.getAlarmPolicyRuleServiceMap().put(id, policyRuleService); + + // TODO: Create infinite subscription + var alarmSubscription = new AlarmSubscription(id, 259200, 5000); + return monitoringService.getAlarmResponseStream(alarmSubscription); + } + + private Multi setPolicyMonitor(PolicyRuleDevice policyRuleDevice, String id) { + commonPolicyServiceImpl.getAlarmPolicyRuleDeviceMap().put(id, policyRuleDevice); + + // TODO: Create infinite subscription + var alarmSubscription = new AlarmSubscription(id, 259200, 5000); + return monitoringService.getAlarmResponseStream(alarmSubscription); + } + + /** + * Create an alarmIds list that contains the promised ids returned from setKpiAlarm + * + * @param alarmDescriptorList the list of alarm descriptors + * @return the list of alarm descriptors + */ + public List> createAlarmList(List alarmDescriptorList) { + List> alarmIds = new ArrayList>(); + for (AlarmDescriptor alarmDescriptor : alarmDescriptorList) { + LOGGER.infof("alarmDescriptor:"); + LOGGER.infof(alarmDescriptor.toString()); + alarmIds.add(monitoringService.setKpiAlarm(alarmDescriptor)); + } + return alarmIds; + } + + private Cancellable monitorAlarmResponseForService(Multi multi) { + return multi + .subscribe() + .with( + alarmResponse -> { + LOGGER.infof("**************************Received Alarm!**************************"); + LOGGER.infof("alarmResponse:"); + LOGGER.info(alarmResponse); + LOGGER.info(alarmResponse.getAlarmId()); + commonPolicyServiceImpl.applyActionService(alarmResponse.getAlarmId()); + }); + } + + private Cancellable monitorAlarmResponseForDevice(Multi multi) { + return multi + .subscribe() + .with( + alarmResponse -> { + LOGGER.infof("**************************Received Alarm!**************************"); + LOGGER.infof("alarmResponse:"); + LOGGER.info(alarmResponse); + LOGGER.info(alarmResponse.getAlarmId()); + commonPolicyServiceImpl.applyActionDevice(alarmResponse.getAlarmId()); + }); + } +} diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/policy/CommonPolicyServiceImpl.java b/src/policy/src/main/java/org/etsi/tfs/policy/policy/CommonPolicyServiceImpl.java new file mode 100644 index 000000000..263619f81 --- /dev/null +++ b/src/policy/src/main/java/org/etsi/tfs/policy/policy/CommonPolicyServiceImpl.java @@ -0,0 +1,525 @@ +package org.etsi.tfs.policy.policy; + +import static org.etsi.tfs.policy.common.ApplicationProperties.ACTIVE_POLICYRULE_STATE; +import static org.etsi.tfs.policy.common.ApplicationProperties.ENFORCED_POLICYRULE_STATE; +import static org.etsi.tfs.policy.common.ApplicationProperties.INVALID_MESSAGE; + +import io.smallrye.mutiny.subscription.Cancellable; +import jakarta.enterprise.context.ApplicationScoped; +import jakarta.inject.Inject; +import java.time.Instant; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Random; +import java.util.concurrent.ConcurrentHashMap; +import org.etsi.tfs.policy.context.ContextService; +import org.etsi.tfs.policy.context.model.ConfigActionEnum; +import org.etsi.tfs.policy.context.model.ConfigRule; +import org.etsi.tfs.policy.context.model.ConfigRuleCustom; +import org.etsi.tfs.policy.context.model.ConfigRuleTypeCustom; +import org.etsi.tfs.policy.context.model.Constraint; +import org.etsi.tfs.policy.context.model.ConstraintCustom; +import org.etsi.tfs.policy.context.model.ConstraintTypeCustom; +import org.etsi.tfs.policy.context.model.ServiceConfig; +import org.etsi.tfs.policy.device.DeviceService; +import org.etsi.tfs.policy.monitoring.MonitoringService; +import org.etsi.tfs.policy.monitoring.model.AlarmDescriptor; +import org.etsi.tfs.policy.monitoring.model.KpiValueRange; +import org.etsi.tfs.policy.policy.model.BooleanOperator; +import org.etsi.tfs.policy.policy.model.PolicyRule; +import org.etsi.tfs.policy.policy.model.PolicyRuleAction; +import org.etsi.tfs.policy.policy.model.PolicyRuleActionConfig; +import org.etsi.tfs.policy.policy.model.PolicyRuleActionEnum; +import org.etsi.tfs.policy.policy.model.PolicyRuleBasic; +import org.etsi.tfs.policy.policy.model.PolicyRuleCondition; +import org.etsi.tfs.policy.policy.model.PolicyRuleDevice; +import org.etsi.tfs.policy.policy.model.PolicyRuleService; +import org.etsi.tfs.policy.policy.model.PolicyRuleState; +import org.etsi.tfs.policy.policy.model.PolicyRuleStateEnum; +import org.etsi.tfs.policy.policy.model.PolicyRuleTypeDevice; +import org.etsi.tfs.policy.policy.model.PolicyRuleTypeService; +import org.etsi.tfs.policy.service.ServiceService; +import org.jboss.logging.Logger; + +@ApplicationScoped +public class CommonPolicyServiceImpl { + + private static final Logger LOGGER = Logger.getLogger(CommonPolicyServiceImpl.class); + + @Inject private MonitoringService monitoringService; + @Inject private ContextService contextService; + @Inject private ServiceService serviceService; + @Inject private DeviceService deviceService; + + private static final int POLICY_EVALUATION_TIMEOUT = 5; + private static final int ACCEPTABLE_NUMBER_OF_ALARMS = 3; + private static final int MONITORING_WINDOW_IN_SECONDS = 5; + private static final int SAMPLING_RATE_PER_SECOND = 1; + + // TODO: Find a better way to disregard alarms while reconfiguring path + // Temporary solution for not calling the same rpc more than it's needed + public static int noAlarms = 0; + + private ConcurrentHashMap alarmPolicyRuleServiceMap = + new ConcurrentHashMap<>(); + private ConcurrentHashMap alarmPolicyRuleDeviceMap = + new ConcurrentHashMap<>(); + private ConcurrentHashMap subscriptionList = new ConcurrentHashMap<>(); + private HashMap policyRuleActionMap = new HashMap<>(); + + public ConcurrentHashMap getSubscriptionList() { + return subscriptionList; + } + + public ConcurrentHashMap getAlarmPolicyRuleServiceMap() { + return alarmPolicyRuleServiceMap; + } + + public ConcurrentHashMap getAlarmPolicyRuleDeviceMap() { + return alarmPolicyRuleDeviceMap; + } + + public HashMap getPolicyRuleActionMap() { + return policyRuleActionMap; + } + + private static String gen() { + Random r = new Random(System.currentTimeMillis()); + return String.valueOf((1 + r.nextInt(2)) * 10000 + r.nextInt(10000)); + } + + private static double getTimeStamp() { + long now = Instant.now().getEpochSecond(); + return Long.valueOf(now).doubleValue(); + } + + public void applyActionService(String alarmId) { + PolicyRuleService policyRuleService = alarmPolicyRuleServiceMap.get(alarmId); + PolicyRuleAction policyRuleAction = + policyRuleService.getPolicyRuleBasic().getPolicyRuleActions().get(0); + + if (noAlarms == 0) { + noAlarms++; + setPolicyRuleServiceToContext(policyRuleService, ACTIVE_POLICYRULE_STATE); + + switch (policyRuleAction.getPolicyRuleActionEnum()) { + case POLICY_RULE_ACTION_ADD_SERVICE_CONSTRAINT: + addServiceConstraint(policyRuleService, policyRuleAction); + case POLICY_RULE_ACTION_ADD_SERVICE_CONFIGRULE: + addServiceConfigRule(policyRuleService, policyRuleAction); + case POLICY_RULE_ACTION_RECALCULATE_PATH: + callRecalculatePathRPC(policyRuleService, policyRuleAction); + default: + LOGGER.errorf(INVALID_MESSAGE, policyRuleAction.getPolicyRuleActionEnum()); + return; + } + } else if (noAlarms == 2) { + noAlarms = 0; + } else { + noAlarms++; + } + } + + public List createAlarmDescriptorList(PolicyRule policyRule) { + final var policyRuleType = policyRule.getPolicyRuleType(); + final var policyRuleTypeSpecificType = policyRuleType.getPolicyRuleType(); + + List alarmDescriptorList = new ArrayList<>(); + if (policyRuleTypeSpecificType instanceof PolicyRuleService) { + final var policyRuleService = (PolicyRuleService) policyRuleTypeSpecificType; + final var policyRuleBasic = policyRuleService.getPolicyRuleBasic(); + + alarmDescriptorList = parsePolicyRuleCondition(policyRuleBasic); + if (alarmDescriptorList.isEmpty()) { + return List.of(); + } + } else { + final var policyRuleDevice = (PolicyRuleDevice) policyRuleTypeSpecificType; + final var policyRuleBasic = policyRuleDevice.getPolicyRuleBasic(); + + alarmDescriptorList = parsePolicyRuleCondition(policyRuleBasic); + if (alarmDescriptorList.isEmpty()) { + return List.of(); + } + for (AlarmDescriptor alarmDescriptor : alarmDescriptorList) { + alarmPolicyRuleDeviceMap.put(alarmDescriptor.getAlarmId(), policyRuleDevice); + } + } + + return alarmDescriptorList; + } + + private List parsePolicyRuleCondition(PolicyRuleBasic policyRuleBasic) { + BooleanOperator booleanOperator = policyRuleBasic.getBooleanOperator(); + if (booleanOperator == BooleanOperator.POLICYRULE_CONDITION_BOOLEAN_OR) { + return parsePolicyRuleConditionOr(policyRuleBasic); + } + if (booleanOperator == BooleanOperator.POLICYRULE_CONDITION_BOOLEAN_AND) { + return Arrays.asList(parsePolicyRuleConditionAnd(policyRuleBasic)); + } + return List.of(); + } + + private List parsePolicyRuleConditionOr(PolicyRuleBasic policyRuleBasic) { + + List policyRuleConditions = policyRuleBasic.getPolicyRuleConditions(); + List alarmDescriptorList = new ArrayList<>(); + + for (PolicyRuleCondition policyRuleCondition : policyRuleConditions) { + var kpiValueRange = convertPolicyRuleConditionToKpiValueRange(policyRuleCondition); + + // TODO: Temp fix for AlarmDescriptor object + AlarmDescriptor alarmDescriptor = + new AlarmDescriptor( + "", + "alarmDescription", + "alarmName-" + gen(), + policyRuleCondition.getKpiId(), + kpiValueRange, + getTimeStamp()); + + alarmDescriptorList.add(alarmDescriptor); + } + + HashMap policyRuleActionMap = new HashMap<>(); + List policyRuleActions = policyRuleBasic.getPolicyRuleActions(); + + for (int i = 0; i < policyRuleActions.size(); i++) { + policyRuleActionMap.put(alarmDescriptorList.get(i).getAlarmId(), policyRuleActions.get(i)); + } + + return alarmDescriptorList; + } + + private AlarmDescriptor parsePolicyRuleConditionAnd(PolicyRuleBasic policyRuleBasic) { + + // TODO: KpiIds should be the same. Add check. + + List policyRuleConditionList = policyRuleBasic.getPolicyRuleConditions(); + List kpisList = new ArrayList(); + + for (PolicyRuleCondition policyRuleCondition : policyRuleConditionList) { + kpisList.add(policyRuleCondition.getKpiId()); + } + + if (policyRuleConditionList.size() > 1) { + return createAlarmDescriptorWithRange(policyRuleConditionList); + } + + return createAlarmDescriptorWithoutRange(policyRuleConditionList.get(0)); + } + + private AlarmDescriptor createAlarmDescriptorWithRange( + List policyRuleConditionList) { + + final var kpiId = policyRuleConditionList.get(0).getKpiId(); + + HashMap KpiValueRangeMap = new HashMap<>(); + for (PolicyRuleCondition policyRuleCondition : policyRuleConditionList) { + + if (!KpiValueRangeMap.containsKey(kpiId)) { + var kpiValueRange = convertPolicyRuleConditionToKpiValueRange(policyRuleCondition); + KpiValueRangeMap.put(kpiId, kpiValueRange); + continue; + } + + var kpiValueRange = convertPolicyRuleConditionToKpiValueRange(policyRuleCondition); + // TODO: Handle combineKpiValueRanges exceptions + var combinedKpiValueRange = + combineKpiValueRanges(kpiId, KpiValueRangeMap.get(kpiId), kpiValueRange); + KpiValueRangeMap.put(kpiId, combinedKpiValueRange); + } + + return new AlarmDescriptor( + "", + "alarmDescription", + "alarmName-" + gen(), + kpiId, + KpiValueRangeMap.get(kpiId), + getTimeStamp()); + } + + private KpiValueRange convertPolicyRuleConditionToKpiValueRange( + PolicyRuleCondition policyRuleCondition) { + + switch (policyRuleCondition.getNumericalOperator()) { + case POLICY_RULE_CONDITION_NUMERICAL_EQUAL: + return new KpiValueRange( + policyRuleCondition.getKpiValue(), policyRuleCondition.getKpiValue(), true, true, true); + case POLICY_RULE_CONDITION_NUMERICAL_NOT_EQUAL: + return new KpiValueRange( + policyRuleCondition.getKpiValue(), + policyRuleCondition.getKpiValue(), + true, + false, + false); + + case POLICY_RULE_CONDITION_NUMERICAL_GREATER_THAN: + return new KpiValueRange(null, policyRuleCondition.getKpiValue(), true, false, false); + + case POLICY_RULE_CONDITION_NUMERICAL_GREATER_THAN_EQUAL: + return new KpiValueRange(null, policyRuleCondition.getKpiValue(), true, true, false); + + case POLICY_RULE_CONDITION_NUMERICAL_LESS_THAN: + return new KpiValueRange(policyRuleCondition.getKpiValue(), null, true, false, false); + + case POLICY_RULE_CONDITION_NUMERICAL_LESS_THAN_EQUAL: + return new KpiValueRange(policyRuleCondition.getKpiValue(), null, true, false, true); + default: + return null; + } + } + + private KpiValueRange combineKpiValueRanges( + String kpiId, KpiValueRange firstKpiValueRange, KpiValueRange secondKpiValueRange) { + if (secondKpiValueRange.getInRange() == true) { + LOGGER.errorf("KpiId: %s, has already range values", kpiId); + return null; + } + + if ((firstKpiValueRange.getKpiMinValue() != null) + && (secondKpiValueRange.getKpiMinValue() != null)) { + LOGGER.errorf("KpiId: %s, has already min value", kpiId); + return null; + } + + if ((firstKpiValueRange.getKpiMaxValue() != null) + && (secondKpiValueRange.getKpiMinValue() != null)) { + LOGGER.errorf("KpiId: %s, has already max value", kpiId); + return null; + } + + // Objects.nonNull(secondKpiValueRange); + + var kpiMinValue = + firstKpiValueRange.getKpiMinValue() != null + ? firstKpiValueRange.getKpiMinValue() + : secondKpiValueRange.getKpiMinValue(); + var kpiMaxValue = + firstKpiValueRange.getKpiMaxValue() != null + ? firstKpiValueRange.getKpiMaxValue() + : secondKpiValueRange.getKpiMaxValue(); + boolean includeMinValue = + firstKpiValueRange.getIncludeMinValue() || secondKpiValueRange.getIncludeMinValue(); + boolean includeMaxValue = + firstKpiValueRange.getIncludeMaxValue() || secondKpiValueRange.getIncludeMaxValue(); + + return new KpiValueRange(kpiMinValue, kpiMaxValue, true, includeMinValue, includeMaxValue); + } + + private AlarmDescriptor createAlarmDescriptorWithoutRange( + PolicyRuleCondition policyRuleCondition) { + + final var kpiId = policyRuleCondition.getKpiId(); + final var kpiValueRange = convertPolicyRuleConditionToKpiValueRange(policyRuleCondition); + + return new AlarmDescriptor( + "", "alarmDescription", "alarmName-" + gen(), kpiId, kpiValueRange, getTimeStamp()); + } + + // TODO: To be refactored or deprecated + // private void evaluateAction( + // PolicyRule policyRule, + // List alarmDescriptorList, + // Multi multi) { + // + // Long count = + // multi + // .collect() + // .with(Collectors.counting()) + // .await() + // .atMost(Duration.ofMinutes(POLICY_EVALUATION_TIMEOUT)); + // + // if (count > ACCEPTABLE_NUMBER_OF_ALARMS) { + // for (AlarmDescriptor alarmDescriptor : alarmDescriptorList) { + // monitoringService + // .deleteAlarm(alarmDescriptor.getAlarmId()) + // .subscribe() + // .with( + // emptyMessage -> + // LOGGER.infof( + // "Alarm [%s] has been deleted as ineffective.\n", + // alarmDescriptor.getAlarmId())); + // } + // setPolicyRuleToContext(policyRule, INEFFECTIVE_POLICYRULE_STATE); + // } else { + // setPolicyRuleToContext(policyRule, EFFECTIVE_POLICYRULE_STATE); + // } + // } + + public void applyActionDevice(String alarmId) { + PolicyRuleDevice policyRuleDevice = alarmPolicyRuleDeviceMap.get(alarmId); + + if (policyRuleActionMap.get(alarmId).getPolicyRuleActionEnum() + == PolicyRuleActionEnum.POLICY_RULE_ACTION_SET_DEVICE_STATUS) { + // In case additional PolicyRuleAction for Devices will be added + } + + setPolicyRuleDeviceToContext(policyRuleDevice, ACTIVE_POLICYRULE_STATE); + + List deviceIds = policyRuleDevice.getDeviceIds(); + List actionConfigs = + policyRuleActionMap.get(alarmId).getPolicyRuleActionConfigs(); + + if (deviceIds.size() != actionConfigs.size()) { + String message = + String.format( + "The number of action parameters in PolicyRuleDevice with ID: %s, is not aligned with the number of devices.", + policyRuleDevice.getPolicyRuleBasic().getPolicyRuleId()); + setPolicyRuleDeviceToContext( + policyRuleDevice, new PolicyRuleState(PolicyRuleStateEnum.POLICY_FAILED, message)); + return; + } + + for (var i = 0; i < deviceIds.size(); i++) { + activateDevice(deviceIds.get(i), actionConfigs.get(i)); + } + + setPolicyRuleDeviceToContext(policyRuleDevice, ENFORCED_POLICYRULE_STATE); + } + + private void activateDevice(String deviceId, PolicyRuleActionConfig actionConfig) { + + Boolean toBeEnabled; + if (actionConfig.getActionKey() == "ENABLED") { + toBeEnabled = true; + } else if (actionConfig.getActionKey() == "DISABLED") { + toBeEnabled = false; + } else { + LOGGER.errorf(INVALID_MESSAGE, actionConfig.getActionKey()); + return; + } + + final var deserializedDeviceUni = contextService.getDevice(deviceId); + + deserializedDeviceUni + .subscribe() + .with( + device -> { + if (toBeEnabled && device.isDisabled()) { + device.enableDevice(); + } else if (!toBeEnabled && device.isEnabled()) { + device.disableDevice(); + } else { + LOGGER.errorf(INVALID_MESSAGE, "Device is already in the desired state"); + return; + } + + deviceService.configureDevice(device); + }); + } + + private void addServiceConfigRule( + PolicyRuleService policyRuleService, PolicyRuleAction policyRuleAction) { + + ConfigActionEnum configActionEnum = ConfigActionEnum.SET; + List actionConfigs = policyRuleAction.getPolicyRuleActionConfigs(); + List newConfigRules = new ArrayList<>(); + + for (PolicyRuleActionConfig actionConfig : actionConfigs) { + ConfigRuleCustom configRuleCustom = + new ConfigRuleCustom(actionConfig.getActionKey(), actionConfig.getActionValue()); + ConfigRuleTypeCustom configRuleType = new ConfigRuleTypeCustom(configRuleCustom); + ConfigRule configRule = new ConfigRule(configActionEnum, configRuleType); + newConfigRules.add(configRule); + } + + var deserializedServiceUni = contextService.getService(policyRuleService.getServiceId()); + deserializedServiceUni + .subscribe() + .with( + deserializedService -> { + List configRules = + deserializedService.getServiceConfig().getConfigRules(); + configRules.addAll(newConfigRules); + deserializedService.setServiceConfig(new ServiceConfig(configRules)); + }); + } + + private void addServiceConstraint( + PolicyRuleService policyRuleService, PolicyRuleAction policyRuleAction) { + + List actionConfigs = policyRuleAction.getPolicyRuleActionConfigs(); + List constraintList = new ArrayList<>(); + + for (PolicyRuleActionConfig actionConfig : actionConfigs) { + var constraintCustom = + new ConstraintCustom(actionConfig.getActionKey(), actionConfig.getActionValue()); + var constraintTypeCustom = new ConstraintTypeCustom(constraintCustom); + constraintList.add(new Constraint(constraintTypeCustom)); + } + + final var deserializedServiceUni = contextService.getService(policyRuleService.getServiceId()); + + deserializedServiceUni + .subscribe() + .with( + deserializedService -> { + deserializedService.appendServiceConstraints(constraintList); + serviceService.updateService(deserializedService); + setPolicyRuleServiceToContext(policyRuleService, ENFORCED_POLICYRULE_STATE); + }); + } + + private void callRecalculatePathRPC( + PolicyRuleService policyRuleService, PolicyRuleAction policyRuleAction) { + + final var deserializedServiceUni = contextService.getService(policyRuleService.getServiceId()); + + deserializedServiceUni + .subscribe() + .with( + deserializedService -> { + serviceService + .recomputeConnections(deserializedService) + .subscribe() + .with( + x -> { + LOGGER.info("called recomputeConnections with:"); + LOGGER.info(deserializedService); + setPolicyRuleServiceToContext(policyRuleService, ENFORCED_POLICYRULE_STATE); + }); + }); + } + + private void setPolicyRuleToContext(PolicyRule policyRule, PolicyRuleState policyRuleState) { + final var policyRuleType = policyRule.getPolicyRuleType(); + final var policyRuleTypeSpecificType = policyRuleType.getPolicyRuleType(); + + if (policyRuleTypeSpecificType instanceof PolicyRuleService) { + setPolicyRuleServiceToContext( + (PolicyRuleService) policyRuleTypeSpecificType, policyRuleState); + } + if (policyRuleTypeSpecificType instanceof PolicyRuleDevice) { + setPolicyRuleDeviceToContext((PolicyRuleDevice) policyRuleTypeSpecificType, policyRuleState); + } + } + + public void setPolicyRuleServiceToContext( + PolicyRuleService policyRuleService, PolicyRuleState policyRuleState) { + LOGGER.infof("Setting Policy Rule state to [%s]", policyRuleState.toString()); + + final var policyRuleBasic = policyRuleService.getPolicyRuleBasic(); + policyRuleBasic.setPolicyRuleState(policyRuleState); + policyRuleService.setPolicyRuleBasic(policyRuleBasic); + + final var policyRuleTypeService = new PolicyRuleTypeService(policyRuleService); + final var policyRule = new PolicyRule(policyRuleTypeService); + contextService.setPolicyRule(policyRule).subscribe().with(x -> {}); + } + + public void setPolicyRuleDeviceToContext( + PolicyRuleDevice policyRuleDevice, PolicyRuleState policyRuleState) { + LOGGER.infof("Setting Policy Rule state to [%s]", policyRuleState.toString()); + + final var policyRuleBasic = policyRuleDevice.getPolicyRuleBasic(); + policyRuleBasic.setPolicyRuleState(policyRuleState); + policyRuleDevice.setPolicyRuleBasic(policyRuleBasic); + + final var policyRuleTypeService = new PolicyRuleTypeDevice(policyRuleDevice); + final var policyRule = new PolicyRule(policyRuleTypeService); + contextService.setPolicyRule(policyRule).subscribe().with(x -> {}); + } +} diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/policy/DeletePolicyImpl.java b/src/policy/src/main/java/org/etsi/tfs/policy/policy/DeletePolicyImpl.java new file mode 100644 index 000000000..d78d00b83 --- /dev/null +++ b/src/policy/src/main/java/org/etsi/tfs/policy/policy/DeletePolicyImpl.java @@ -0,0 +1,3 @@ +package org.etsi.tfs.policy.policy; + +public class DeletePolicyImpl {} diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/policy/PolicyServiceImpl.java b/src/policy/src/main/java/org/etsi/tfs/policy/policy/PolicyServiceImpl.java index 984276f59..8a3a86508 100644 --- a/src/policy/src/main/java/org/etsi/tfs/policy/policy/PolicyServiceImpl.java +++ b/src/policy/src/main/java/org/etsi/tfs/policy/policy/PolicyServiceImpl.java @@ -18,54 +18,18 @@ package org.etsi.tfs.policy.policy; import static org.etsi.tfs.policy.common.ApplicationProperties.*; -import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.Uni; -import io.smallrye.mutiny.groups.UniJoin; -import io.smallrye.mutiny.subscription.Cancellable; import jakarta.enterprise.context.ApplicationScoped; import jakarta.inject.Inject; -import java.time.Instant; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Random; -import java.util.concurrent.ConcurrentHashMap; import java.util.function.Function; import org.etsi.tfs.policy.context.ContextService; -import org.etsi.tfs.policy.context.model.ConfigActionEnum; -import org.etsi.tfs.policy.context.model.ConfigRule; -import org.etsi.tfs.policy.context.model.ConfigRuleCustom; -import org.etsi.tfs.policy.context.model.ConfigRuleTypeCustom; -import org.etsi.tfs.policy.context.model.Constraint; -import org.etsi.tfs.policy.context.model.ConstraintCustom; -import org.etsi.tfs.policy.context.model.ConstraintTypeCustom; -import org.etsi.tfs.policy.context.model.ServiceConfig; -import org.etsi.tfs.policy.context.model.ServiceId; -import org.etsi.tfs.policy.device.DeviceService; import org.etsi.tfs.policy.exception.ExternalServiceFailureException; -import org.etsi.tfs.policy.exception.NewException; -import org.etsi.tfs.policy.monitoring.MonitoringService; -import org.etsi.tfs.policy.monitoring.model.AlarmDescriptor; -import org.etsi.tfs.policy.monitoring.model.AlarmResponse; -import org.etsi.tfs.policy.monitoring.model.AlarmSubscription; -import org.etsi.tfs.policy.monitoring.model.KpiValueRange; -import org.etsi.tfs.policy.policy.model.BooleanOperator; import org.etsi.tfs.policy.policy.model.PolicyRule; -import org.etsi.tfs.policy.policy.model.PolicyRuleAction; -import org.etsi.tfs.policy.policy.model.PolicyRuleActionConfig; -import org.etsi.tfs.policy.policy.model.PolicyRuleActionEnum; -import org.etsi.tfs.policy.policy.model.PolicyRuleBasic; -import org.etsi.tfs.policy.policy.model.PolicyRuleCondition; import org.etsi.tfs.policy.policy.model.PolicyRuleDevice; import org.etsi.tfs.policy.policy.model.PolicyRuleService; import org.etsi.tfs.policy.policy.model.PolicyRuleState; import org.etsi.tfs.policy.policy.model.PolicyRuleStateEnum; -import org.etsi.tfs.policy.policy.model.PolicyRuleTypeDevice; -import org.etsi.tfs.policy.policy.model.PolicyRuleTypeService; -import org.etsi.tfs.policy.policy.service.PolicyRuleConditionFieldsGetter; import org.etsi.tfs.policy.policy.service.PolicyRuleConditionValidator; -import org.etsi.tfs.policy.service.ServiceService; import org.jboss.logging.Logger; @ApplicationScoped @@ -73,52 +37,24 @@ public class PolicyServiceImpl implements PolicyService { private static final Logger LOGGER = Logger.getLogger(PolicyServiceImpl.class); - private static final int POLICY_EVALUATION_TIMEOUT = 5; - private static final int ACCEPTABLE_NUMBER_OF_ALARMS = 3; - private static final int MONITORING_WINDOW_IN_SECONDS = 5; - private static final int SAMPLING_RATE_PER_SECOND = 1; - // TODO: Find a better way to disregard alarms while reconfiguring path - // Temporary solution for not calling the same rpc more than it's needed - private static int noAlarms = 0; - private final ContextService contextService; - private final MonitoringService monitoringService; - private final ServiceService serviceService; - private final DeviceService deviceService; private final PolicyRuleConditionValidator policyRuleConditionValidator; - private final PolicyRuleConditionFieldsGetter policyRuleConditionFieldsGetter; - - private HashMap policyRuleActionMap = new HashMap<>(); - private ConcurrentHashMap alarmPolicyRuleServiceMap = - new ConcurrentHashMap<>(); - private ConcurrentHashMap alarmPolicyRuleDeviceMap = - new ConcurrentHashMap<>(); - private ConcurrentHashMap subscriptionList = new ConcurrentHashMap<>(); + private final CommonPolicyServiceImpl commonPolicyServiceImpl; + private final AddPolicyServiceImpl addPolicyServiceImpl; + private final AddPolicyDeviceImpl addPolicyDeviceImpl; @Inject public PolicyServiceImpl( ContextService contextService, - MonitoringService monitoringService, - ServiceService serviceService, - DeviceService deviceService, PolicyRuleConditionValidator policyRuleConditionValidator, - PolicyRuleConditionFieldsGetter policyRuleConditionFieldsGetter) { + CommonPolicyServiceImpl commonPolicyServiceImpl, + AddPolicyServiceImpl addPolicyServiceImpl, + AddPolicyDeviceImpl addPolicyDeviceImpl) { this.contextService = contextService; - this.monitoringService = monitoringService; - this.serviceService = serviceService; - this.deviceService = deviceService; this.policyRuleConditionValidator = policyRuleConditionValidator; - this.policyRuleConditionFieldsGetter = policyRuleConditionFieldsGetter; - } - - private static String gen() { - Random r = new Random(System.currentTimeMillis()); - return String.valueOf((1 + r.nextInt(2)) * 10000 + r.nextInt(10000)); - } - - private static double getTimeStamp() { - long now = Instant.now().getEpochSecond(); - return Long.valueOf(now).doubleValue(); + this.commonPolicyServiceImpl = commonPolicyServiceImpl; + this.addPolicyServiceImpl = addPolicyServiceImpl; + this.addPolicyDeviceImpl = addPolicyDeviceImpl; } @Override @@ -153,128 +89,11 @@ public class PolicyServiceImpl implements PolicyService { .onItem() .transform( isService -> - constructPolicyStateBasedOnCriteria( + addPolicyServiceImpl.constructPolicyStateBasedOnCriteria( isService, serviceId, policyRuleService, policyRuleBasic)) .flatMap(Function.identity()); } - private Uni constructPolicyStateBasedOnCriteria( - Boolean isService, - ServiceId serviceId, - PolicyRuleService policyRuleService, - PolicyRuleBasic policyRuleBasic) { - - if (!isService) { - var policyRuleState = - new PolicyRuleState( - PolicyRuleStateEnum.POLICY_FAILED, String.format(INVALID_MESSAGE, serviceId)); - - return Uni.createFrom().item(policyRuleState); - } - - final var policyRuleTypeService = new PolicyRuleTypeService(policyRuleService); - final var policyRule = new PolicyRule(policyRuleTypeService); - final var alarmDescriptorList = createAlarmDescriptorList(policyRule); - - if (alarmDescriptorList.isEmpty()) { - var policyRuleState = - new PolicyRuleState( - PolicyRuleStateEnum.POLICY_FAILED, - String.format( - "Invalid PolicyRuleConditions in PolicyRule with ID: %s", - policyRuleBasic.getPolicyRuleId())); - return Uni.createFrom().item(policyRuleState); - } - - return setPolicyRuleOnContextAndReturnState(policyRule, policyRuleService, alarmDescriptorList); - } - - private Uni setPolicyRuleOnContextAndReturnState( - PolicyRule policyRule, - PolicyRuleService policyRuleService, - List alarmDescriptorList) { - return contextService - .setPolicyRule(policyRule) - .onFailure() - .transform(failure -> new NewException(failure.getMessage())) - .onItem() - .transform( - policyId -> { - startMonitoringBasedOnAlarmDescriptors( - policyId, policyRuleService, alarmDescriptorList); - - return VALIDATED_POLICYRULE_STATE; - }); - } - - private void startMonitoringBasedOnAlarmDescriptors( - String policyId, - PolicyRuleService policyRuleService, - List alarmDescriptorList) { - setPolicyRuleServiceToContext(policyRuleService, VALIDATED_POLICYRULE_STATE); - noAlarms = 0; - - List> alarmIds = - createAlarmList(alarmDescriptorList); // setAllarmtomonitoring get back alarmid - - List> alarmResponseStreamList = - transformAlarmIds(alarmIds, policyRuleService); - - // Merge the promised alarms into one stream (Multi Object) - final var multi = Multi.createBy().merging().streams(alarmResponseStreamList); - setPolicyRuleServiceToContext(policyRuleService, PROVISIONED_POLICYRULE_STATE); - - subscriptionList.put(policyId, monitorAlarmResponseForService(multi)); - - // TODO: Resubscribe to the stream, if it has ended - - // TODO: Redesign evaluation of action - // evaluateAction(policyRule, alarmDescriptorList, multi); - } - - /** - * Transform the alarmIds into promised alarms returned from the getAlarmResponseStream - * - * @param alarmIds the list of alarm ids - * @param policyRuleService the policy rule service - * @return - */ - private List> transformAlarmIds( - List> alarmIds, PolicyRuleService policyRuleService) { - List> alarmResponseStreamList = new ArrayList<>(); - for (Uni alarmId : alarmIds) { - Multi alarmResponseStream = - alarmId.onItem().transformToMulti(id -> setPolicyMonitor(policyRuleService, id)); - - alarmResponseStreamList.add(alarmResponseStream); - } - return alarmResponseStreamList; - } - - private Multi setPolicyMonitor(PolicyRuleService policyRuleService, String id) { - alarmPolicyRuleServiceMap.put(id, policyRuleService); - - // TODO: Create infinite subscription - var alarmSubscription = new AlarmSubscription(id, 259200, 5000); - return monitoringService.getAlarmResponseStream(alarmSubscription); - } - - /** - * Create an alarmIds list that contains the promised ids returned from setKpiAlarm - * - * @param alarmDescriptorList the list of alarm descriptors - * @return the list of alarm descriptors - */ - public List> createAlarmList(List alarmDescriptorList) { - List> alarmIds = new ArrayList>(); - for (AlarmDescriptor alarmDescriptor : alarmDescriptorList) { - LOGGER.infof("alarmDescriptor:"); - LOGGER.infof(alarmDescriptor.toString()); - alarmIds.add(monitoringService.setKpiAlarm(alarmDescriptor)); - } - return alarmIds; - } - @Override public Uni addPolicyDevice(PolicyRuleDevice policyRuleDevice) { LOGGER.infof("Received %s", policyRuleDevice); @@ -298,110 +117,17 @@ public class PolicyServiceImpl implements PolicyService { } final var deviceIds = policyRuleDevice.getDeviceIds(); - final var areDevicesValid = returnInvalidDeviceIds(deviceIds); + final var areDevicesValid = addPolicyDeviceImpl.returnInvalidDeviceIds(deviceIds); return areDevicesValid - .onFailure() - .transform(failure -> new ExternalServiceFailureException(failure.getMessage())) - .onItem() - .transform(areDevices -> areDeviceOnContext(areDevices, policyRuleDevice, policyRuleBasic)) - .flatMap(Function.identity()); - } - - private Uni areDeviceOnContext( - List areDevices, - PolicyRuleDevice policyRuleDevice, - PolicyRuleBasic policyRuleBasic) { - if (areDevices.contains(false)) { - var policyRuleState = - new PolicyRuleState( - PolicyRuleStateEnum.POLICY_FAILED, - String.format( - INVALID_MESSAGE, policyRuleDevice.getPolicyRuleBasic().getPolicyRuleId())); - - return Uni.createFrom().item(policyRuleState); - } - - final var policyRuleTypeDevice = new PolicyRuleTypeDevice(policyRuleDevice); - final var policyRule = new PolicyRule(policyRuleTypeDevice); - - final var alarmDescriptorList = createAlarmDescriptorList(policyRule); - if (alarmDescriptorList.isEmpty()) { - var policyRuleState = - new PolicyRuleState( - PolicyRuleStateEnum.POLICY_FAILED, - String.format( - "Invalid PolicyRuleConditions in PolicyRule with ID: %s", - policyRuleBasic.getPolicyRuleId())); - return Uni.createFrom().item(policyRuleState); - } - - return contextService - .setPolicyRule(policyRule) .onFailure() .transform(failure -> new ExternalServiceFailureException(failure.getMessage())) .onItem() .transform( - policyId -> { - startMonitoringBasedOnAlarmDescriptors( - policyId, policyRuleDevice, alarmDescriptorList); - return VALIDATED_POLICYRULE_STATE; - }); - } - - private void startMonitoringBasedOnAlarmDescriptors( - String policyId, - PolicyRuleDevice policyRuleDevice, - List alarmDescriptorList) { - setPolicyRuleDeviceToContext(policyRuleDevice, VALIDATED_POLICYRULE_STATE); - noAlarms = 0; - - List> alarmIds = getAlarmIds(alarmDescriptorList); - - List> alarmResponseStreamList = - getAlarmResponse(alarmIds, policyRuleDevice); - - // Merge the promised alarms into one stream (Multi Object) - final var multi = Multi.createBy().merging().streams(alarmResponseStreamList); - setPolicyRuleDeviceToContext(policyRuleDevice, PROVISIONED_POLICYRULE_STATE); - - subscriptionList.put(policyId, monitorAlarmResponseForDevice(multi)); - - // TODO: Resubscribe to the stream, if it has ended - - // TODO: Redesign evaluation of action - // evaluateAction(policyRule, alarmDescriptorList, multi); - } - - private List> getAlarmResponse( - List> alarmIds, PolicyRuleDevice policyRuleDevice) { - // Transform the alarmIds into promised alarms returned from the - // getAlarmResponseStream - List> alarmResponseStreamList = new ArrayList<>(); - for (Uni alarmId : alarmIds) { - alarmResponseStreamList.add( - alarmId.onItem().transformToMulti(id -> setPolicyMonitoringDevice(policyRuleDevice, id))); - } - return alarmResponseStreamList; - } - - private Multi setPolicyMonitoringDevice( - PolicyRuleDevice policyRuleDevice, String id) { - alarmPolicyRuleDeviceMap.put(id, policyRuleDevice); - - // TODO: Create infinite subscription - var alarmSubscription = new AlarmSubscription(id, 259200, 5000); - return monitoringService.getAlarmResponseStream(alarmSubscription); - } - - private List> getAlarmIds(List alarmDescriptorList) { - List> alarmIds = new ArrayList>(); - for (AlarmDescriptor alarmDescriptor : alarmDescriptorList) { - LOGGER.infof("alarmDescriptor:"); - LOGGER.infof(alarmDescriptor.toString()); - alarmIds.add(monitoringService.setKpiAlarm(alarmDescriptor)); - } - return alarmIds; + areDevices -> + addPolicyDeviceImpl.areDeviceOnContext( + areDevices, policyRuleDevice, policyRuleBasic)) + .flatMap(Function.identity()); } @Override @@ -472,6 +198,8 @@ public class PolicyServiceImpl implements PolicyService { policyRuleConditionValidator.isUpdatedPolicyRuleIdValid(policyRuleId); return isPolicyRuleValid + .onFailure() + .transform(failure -> new ExternalServiceFailureException(failure.getMessage())) .onItem() .transform( isPolicyRuleService -> { @@ -505,6 +233,8 @@ public class PolicyServiceImpl implements PolicyService { contextService .setPolicyRule(policyRule) + .onFailure() + .transform(failure -> new ExternalServiceFailureException(failure.getMessage())) .subscribe() .with( tmp -> @@ -514,471 +244,9 @@ public class PolicyServiceImpl implements PolicyService { contextService.removePolicyRule(policyId).subscribe().with(x -> {}); // TODO: When the Map doesn't contains the policyId we should throw an exception? - if (subscriptionList.contains(policyId)) subscriptionList.get(policyId).cancel(); + if (commonPolicyServiceImpl.getSubscriptionList().contains(policyId)) + commonPolicyServiceImpl.getSubscriptionList().get(policyId).cancel(); return policyRuleBasic.getPolicyRuleState(); } - - private Uni> returnInvalidDeviceIds(List deviceIds) { - UniJoin.Builder builder = Uni.join().builder(); - for (String deviceId : deviceIds) { - final var validatedDeviceId = policyRuleConditionValidator.isDeviceIdValid(deviceId); - builder.add(validatedDeviceId); - } - return builder.joinAll().andFailFast(); - } - - private List createAlarmDescriptorList(PolicyRule policyRule) { - final var policyRuleType = policyRule.getPolicyRuleType(); - final var policyRuleTypeSpecificType = policyRuleType.getPolicyRuleType(); - - List alarmDescriptorList = new ArrayList<>(); - if (policyRuleTypeSpecificType instanceof PolicyRuleService) { - final var policyRuleService = (PolicyRuleService) policyRuleTypeSpecificType; - final var policyRuleBasic = policyRuleService.getPolicyRuleBasic(); - - alarmDescriptorList = parsePolicyRuleCondition(policyRuleBasic); - if (alarmDescriptorList.isEmpty()) { - return List.of(); - } - } else { - final var policyRuleDevice = (PolicyRuleDevice) policyRuleTypeSpecificType; - final var policyRuleBasic = policyRuleDevice.getPolicyRuleBasic(); - - alarmDescriptorList = parsePolicyRuleCondition(policyRuleBasic); - if (alarmDescriptorList.isEmpty()) { - return List.of(); - } - for (AlarmDescriptor alarmDescriptor : alarmDescriptorList) { - alarmPolicyRuleDeviceMap.put(alarmDescriptor.getAlarmId(), policyRuleDevice); - } - } - - return alarmDescriptorList; - } - - private Cancellable monitorAlarmResponseForService(Multi multi) { - return multi - .subscribe() - .with( - alarmResponse -> { - LOGGER.infof("**************************Received Alarm!**************************"); - LOGGER.infof("alarmResponse:"); - LOGGER.info(alarmResponse); - LOGGER.info(alarmResponse.getAlarmId()); - applyActionService(alarmResponse.getAlarmId()); - }); - } - - private Cancellable monitorAlarmResponseForDevice(Multi multi) { - return multi - .subscribe() - .with( - alarmResponse -> { - LOGGER.infof("**************************Received Alarm!**************************"); - LOGGER.infof("alarmResponse:"); - LOGGER.info(alarmResponse); - LOGGER.info(alarmResponse.getAlarmId()); - applyActionDevice(alarmResponse.getAlarmId()); - }); - } - - // TODO: To be refactored or deprecated - // private void evaluateAction( - // PolicyRule policyRule, - // List alarmDescriptorList, - // Multi multi) { - // - // Long count = - // multi - // .collect() - // .with(Collectors.counting()) - // .await() - // .atMost(Duration.ofMinutes(POLICY_EVALUATION_TIMEOUT)); - // - // if (count > ACCEPTABLE_NUMBER_OF_ALARMS) { - // for (AlarmDescriptor alarmDescriptor : alarmDescriptorList) { - // monitoringService - // .deleteAlarm(alarmDescriptor.getAlarmId()) - // .subscribe() - // .with( - // emptyMessage -> - // LOGGER.infof( - // "Alarm [%s] has been deleted as ineffective.\n", - // alarmDescriptor.getAlarmId())); - // } - // setPolicyRuleToContext(policyRule, INEFFECTIVE_POLICYRULE_STATE); - // } else { - // setPolicyRuleToContext(policyRule, EFFECTIVE_POLICYRULE_STATE); - // } - // } - - private void applyActionDevice(String alarmId) { - PolicyRuleDevice policyRuleDevice = alarmPolicyRuleDeviceMap.get(alarmId); - - if (policyRuleActionMap.get(alarmId).getPolicyRuleActionEnum() - == PolicyRuleActionEnum.POLICY_RULE_ACTION_SET_DEVICE_STATUS) { - // In case additional PolicyRuleAction for Devices will be added - } - - setPolicyRuleDeviceToContext(policyRuleDevice, ACTIVE_POLICYRULE_STATE); - - List deviceIds = policyRuleDevice.getDeviceIds(); - List actionConfigs = - policyRuleActionMap.get(alarmId).getPolicyRuleActionConfigs(); - - if (deviceIds.size() != actionConfigs.size()) { - String message = - String.format( - "The number of action parameters in PolicyRuleDevice with ID: %s, is not aligned with the number of devices.", - policyRuleDevice.getPolicyRuleBasic().getPolicyRuleId()); - setPolicyRuleDeviceToContext( - policyRuleDevice, new PolicyRuleState(PolicyRuleStateEnum.POLICY_FAILED, message)); - return; - } - - for (var i = 0; i < deviceIds.size(); i++) { - activateDevice(deviceIds.get(i), actionConfigs.get(i)); - } - - setPolicyRuleDeviceToContext(policyRuleDevice, ENFORCED_POLICYRULE_STATE); - } - - private void activateDevice(String deviceId, PolicyRuleActionConfig actionConfig) { - - Boolean toBeEnabled; - if (actionConfig.getActionKey() == "ENABLED") { - toBeEnabled = true; - } else if (actionConfig.getActionKey() == "DISABLED") { - toBeEnabled = false; - } else { - LOGGER.errorf(INVALID_MESSAGE, actionConfig.getActionKey()); - return; - } - - final var deserializedDeviceUni = contextService.getDevice(deviceId); - - deserializedDeviceUni - .subscribe() - .with( - device -> { - if (toBeEnabled && device.isDisabled()) { - device.enableDevice(); - } else if (!toBeEnabled && device.isEnabled()) { - device.disableDevice(); - } else { - LOGGER.errorf(INVALID_MESSAGE, "Device is already in the desired state"); - return; - } - - deviceService.configureDevice(device); - }); - } - - private void addServiceConfigRule( - PolicyRuleService policyRuleService, PolicyRuleAction policyRuleAction) { - - ConfigActionEnum configActionEnum = ConfigActionEnum.SET; - List actionConfigs = policyRuleAction.getPolicyRuleActionConfigs(); - List newConfigRules = new ArrayList<>(); - - for (PolicyRuleActionConfig actionConfig : actionConfigs) { - ConfigRuleCustom configRuleCustom = - new ConfigRuleCustom(actionConfig.getActionKey(), actionConfig.getActionValue()); - ConfigRuleTypeCustom configRuleType = new ConfigRuleTypeCustom(configRuleCustom); - ConfigRule configRule = new ConfigRule(configActionEnum, configRuleType); - newConfigRules.add(configRule); - } - - var deserializedServiceUni = contextService.getService(policyRuleService.getServiceId()); - deserializedServiceUni - .subscribe() - .with( - deserializedService -> { - List configRules = - deserializedService.getServiceConfig().getConfigRules(); - configRules.addAll(newConfigRules); - deserializedService.setServiceConfig(new ServiceConfig(configRules)); - }); - } - - private void addServiceConstraint( - PolicyRuleService policyRuleService, PolicyRuleAction policyRuleAction) { - - List actionConfigs = policyRuleAction.getPolicyRuleActionConfigs(); - List constraintList = new ArrayList<>(); - - for (PolicyRuleActionConfig actionConfig : actionConfigs) { - var constraintCustom = - new ConstraintCustom(actionConfig.getActionKey(), actionConfig.getActionValue()); - var constraintTypeCustom = new ConstraintTypeCustom(constraintCustom); - constraintList.add(new Constraint(constraintTypeCustom)); - } - - final var deserializedServiceUni = contextService.getService(policyRuleService.getServiceId()); - - deserializedServiceUni - .subscribe() - .with( - deserializedService -> { - deserializedService.appendServiceConstraints(constraintList); - serviceService.updateService(deserializedService); - setPolicyRuleServiceToContext(policyRuleService, ENFORCED_POLICYRULE_STATE); - }); - } - - private void callRecalculatePathRPC( - PolicyRuleService policyRuleService, PolicyRuleAction policyRuleAction) { - - final var deserializedServiceUni = contextService.getService(policyRuleService.getServiceId()); - - deserializedServiceUni - .subscribe() - .with( - deserializedService -> { - serviceService - .recomputeConnections(deserializedService) - .subscribe() - .with( - x -> { - LOGGER.info("called recomputeConnections with:"); - LOGGER.info(deserializedService); - setPolicyRuleServiceToContext(policyRuleService, ENFORCED_POLICYRULE_STATE); - }); - }); - } - - private void applyActionService(String alarmId) { - PolicyRuleService policyRuleService = alarmPolicyRuleServiceMap.get(alarmId); - PolicyRuleAction policyRuleAction = - policyRuleService.getPolicyRuleBasic().getPolicyRuleActions().get(0); - - if (noAlarms == 0) { - noAlarms++; - setPolicyRuleServiceToContext(policyRuleService, ACTIVE_POLICYRULE_STATE); - - switch (policyRuleAction.getPolicyRuleActionEnum()) { - case POLICY_RULE_ACTION_ADD_SERVICE_CONSTRAINT: - addServiceConstraint(policyRuleService, policyRuleAction); - case POLICY_RULE_ACTION_ADD_SERVICE_CONFIGRULE: - addServiceConfigRule(policyRuleService, policyRuleAction); - case POLICY_RULE_ACTION_RECALCULATE_PATH: - callRecalculatePathRPC(policyRuleService, policyRuleAction); - default: - LOGGER.errorf(INVALID_MESSAGE, policyRuleAction.getPolicyRuleActionEnum()); - return; - } - } else if (noAlarms == 2) { - noAlarms = 0; - } else { - noAlarms++; - } - } - - private List parsePolicyRuleCondition(PolicyRuleBasic policyRuleBasic) { - BooleanOperator booleanOperator = policyRuleBasic.getBooleanOperator(); - if (booleanOperator == BooleanOperator.POLICYRULE_CONDITION_BOOLEAN_OR) { - return parsePolicyRuleConditionOr(policyRuleBasic); - } - if (booleanOperator == BooleanOperator.POLICYRULE_CONDITION_BOOLEAN_AND) { - return Arrays.asList(parsePolicyRuleConditionAnd(policyRuleBasic)); - } - return List.of(); - } - - private List parsePolicyRuleConditionOr(PolicyRuleBasic policyRuleBasic) { - - List policyRuleConditions = policyRuleBasic.getPolicyRuleConditions(); - List alarmDescriptorList = new ArrayList<>(); - - for (PolicyRuleCondition policyRuleCondition : policyRuleConditions) { - var kpiValueRange = convertPolicyRuleConditionToKpiValueRange(policyRuleCondition); - - // TODO: Temp fix for AlarmDescriptor object - AlarmDescriptor alarmDescriptor = - new AlarmDescriptor( - "", - "alarmDescription", - "alarmName-" + gen(), - policyRuleCondition.getKpiId(), - kpiValueRange, - getTimeStamp()); - - alarmDescriptorList.add(alarmDescriptor); - } - - HashMap policyRuleActionMap = new HashMap<>(); - List policyRuleActions = policyRuleBasic.getPolicyRuleActions(); - - for (int i = 0; i < policyRuleActions.size(); i++) { - policyRuleActionMap.put(alarmDescriptorList.get(i).getAlarmId(), policyRuleActions.get(i)); - } - - return alarmDescriptorList; - } - - private AlarmDescriptor parsePolicyRuleConditionAnd(PolicyRuleBasic policyRuleBasic) { - - // TODO: KpiIds should be the same. Add check. - - List policyRuleConditionList = policyRuleBasic.getPolicyRuleConditions(); - List kpisList = new ArrayList(); - - for (PolicyRuleCondition policyRuleCondition : policyRuleConditionList) { - kpisList.add(policyRuleCondition.getKpiId()); - } - - if (policyRuleConditionList.size() > 1) { - return createAlarmDescriptorWithRange(policyRuleConditionList); - } - - return createAlarmDescriptorWithoutRange(policyRuleConditionList.get(0)); - } - - private AlarmDescriptor createAlarmDescriptorWithoutRange( - PolicyRuleCondition policyRuleCondition) { - - final var kpiId = policyRuleCondition.getKpiId(); - final var kpiValueRange = convertPolicyRuleConditionToKpiValueRange(policyRuleCondition); - - return new AlarmDescriptor( - "", "alarmDescription", "alarmName-" + gen(), kpiId, kpiValueRange, getTimeStamp()); - } - - private AlarmDescriptor createAlarmDescriptorWithRange( - List policyRuleConditionList) { - - final var kpiId = policyRuleConditionList.get(0).getKpiId(); - - HashMap KpiValueRangeMap = new HashMap<>(); - for (PolicyRuleCondition policyRuleCondition : policyRuleConditionList) { - - if (!KpiValueRangeMap.containsKey(kpiId)) { - var kpiValueRange = convertPolicyRuleConditionToKpiValueRange(policyRuleCondition); - KpiValueRangeMap.put(kpiId, kpiValueRange); - continue; - } - - var kpiValueRange = convertPolicyRuleConditionToKpiValueRange(policyRuleCondition); - // TODO: Handle combineKpiValueRanges exceptions - var combinedKpiValueRange = - combineKpiValueRanges(kpiId, KpiValueRangeMap.get(kpiId), kpiValueRange); - KpiValueRangeMap.put(kpiId, combinedKpiValueRange); - } - - return new AlarmDescriptor( - "", - "alarmDescription", - "alarmName-" + gen(), - kpiId, - KpiValueRangeMap.get(kpiId), - getTimeStamp()); - } - - private KpiValueRange convertPolicyRuleConditionToKpiValueRange( - PolicyRuleCondition policyRuleCondition) { - - switch (policyRuleCondition.getNumericalOperator()) { - case POLICY_RULE_CONDITION_NUMERICAL_EQUAL: - return new KpiValueRange( - policyRuleCondition.getKpiValue(), policyRuleCondition.getKpiValue(), true, true, true); - case POLICY_RULE_CONDITION_NUMERICAL_NOT_EQUAL: - return new KpiValueRange( - policyRuleCondition.getKpiValue(), - policyRuleCondition.getKpiValue(), - true, - false, - false); - - case POLICY_RULE_CONDITION_NUMERICAL_GREATER_THAN: - return new KpiValueRange(null, policyRuleCondition.getKpiValue(), true, false, false); - - case POLICY_RULE_CONDITION_NUMERICAL_GREATER_THAN_EQUAL: - return new KpiValueRange(null, policyRuleCondition.getKpiValue(), true, true, false); - - case POLICY_RULE_CONDITION_NUMERICAL_LESS_THAN: - return new KpiValueRange(policyRuleCondition.getKpiValue(), null, true, false, false); - - case POLICY_RULE_CONDITION_NUMERICAL_LESS_THAN_EQUAL: - return new KpiValueRange(policyRuleCondition.getKpiValue(), null, true, false, true); - default: - return null; - } - } - - private KpiValueRange combineKpiValueRanges( - String kpiId, KpiValueRange firstKpiValueRange, KpiValueRange secondKpiValueRange) { - if (secondKpiValueRange.getInRange() == true) { - LOGGER.errorf("KpiId: %s, has already range values", kpiId); - return null; - } - - if ((firstKpiValueRange.getKpiMinValue() != null) - && (secondKpiValueRange.getKpiMinValue() != null)) { - LOGGER.errorf("KpiId: %s, has already min value", kpiId); - return null; - } - - if ((firstKpiValueRange.getKpiMaxValue() != null) - && (secondKpiValueRange.getKpiMinValue() != null)) { - LOGGER.errorf("KpiId: %s, has already max value", kpiId); - return null; - } - - // Objects.nonNull(secondKpiValueRange); - - var kpiMinValue = - firstKpiValueRange.getKpiMinValue() != null - ? firstKpiValueRange.getKpiMinValue() - : secondKpiValueRange.getKpiMinValue(); - var kpiMaxValue = - firstKpiValueRange.getKpiMaxValue() != null - ? firstKpiValueRange.getKpiMaxValue() - : secondKpiValueRange.getKpiMaxValue(); - boolean includeMinValue = - firstKpiValueRange.getIncludeMinValue() || secondKpiValueRange.getIncludeMinValue(); - boolean includeMaxValue = - firstKpiValueRange.getIncludeMaxValue() || secondKpiValueRange.getIncludeMaxValue(); - - return new KpiValueRange(kpiMinValue, kpiMaxValue, true, includeMinValue, includeMaxValue); - } - - private void setPolicyRuleToContext(PolicyRule policyRule, PolicyRuleState policyRuleState) { - final var policyRuleType = policyRule.getPolicyRuleType(); - final var policyRuleTypeSpecificType = policyRuleType.getPolicyRuleType(); - - if (policyRuleTypeSpecificType instanceof PolicyRuleService) { - setPolicyRuleServiceToContext( - (PolicyRuleService) policyRuleTypeSpecificType, policyRuleState); - } - if (policyRuleTypeSpecificType instanceof PolicyRuleDevice) { - setPolicyRuleDeviceToContext((PolicyRuleDevice) policyRuleTypeSpecificType, policyRuleState); - } - } - - private void setPolicyRuleServiceToContext( - PolicyRuleService policyRuleService, PolicyRuleState policyRuleState) { - LOGGER.infof("Setting Policy Rule state to [%s]", policyRuleState.toString()); - - final var policyRuleBasic = policyRuleService.getPolicyRuleBasic(); - policyRuleBasic.setPolicyRuleState(policyRuleState); - policyRuleService.setPolicyRuleBasic(policyRuleBasic); - - final var policyRuleTypeService = new PolicyRuleTypeService(policyRuleService); - final var policyRule = new PolicyRule(policyRuleTypeService); - contextService.setPolicyRule(policyRule).subscribe().with(x -> {}); - } - - private void setPolicyRuleDeviceToContext( - PolicyRuleDevice policyRuleDevice, PolicyRuleState policyRuleState) { - LOGGER.infof("Setting Policy Rule state to [%s]", policyRuleState.toString()); - - final var policyRuleBasic = policyRuleDevice.getPolicyRuleBasic(); - policyRuleBasic.setPolicyRuleState(policyRuleState); - policyRuleDevice.setPolicyRuleBasic(policyRuleBasic); - - final var policyRuleTypeService = new PolicyRuleTypeDevice(policyRuleDevice); - final var policyRule = new PolicyRule(policyRuleTypeService); - contextService.setPolicyRule(policyRule).subscribe().with(x -> {}); - } } -- GitLab From 85ba5e458329734fe377eb7110151eccf9d4d966 Mon Sep 17 00:00:00 2001 From: hajipour Date: Tue, 27 Feb 2024 08:23:26 +0000 Subject: [PATCH 008/156] bgp configuration with VRF support added --- .../templates/VPN/Interfaces_multivendor.py | 3 +- .../VPN/Network_instance_multivendor.py | 73 +++++++++++-------- .../templates/VPN/Routing_policy.py | 13 ++-- .../rest_server/nbi_plugins/etsi_bwm/Tools.py | 29 ++++---- .../l3nm_openconfig/ConfigRules.py | 65 ++++++----------- 5 files changed, 91 insertions(+), 92 deletions(-) diff --git a/src/device/service/drivers/openconfig/templates/VPN/Interfaces_multivendor.py b/src/device/service/drivers/openconfig/templates/VPN/Interfaces_multivendor.py index d6f72ee65..12411bd8a 100644 --- a/src/device/service/drivers/openconfig/templates/VPN/Interfaces_multivendor.py +++ b/src/device/service/drivers/openconfig/templates/VPN/Interfaces_multivendor.py @@ -54,7 +54,8 @@ def create_If_SubIf(data,vendor, DEL): with tag('enabled'):text('true') with tag('subinterfaces'): with tag('subinterface'): - if vendor == 'ADVA': + # if vendor == 'ADVA': + if True: with tag('index'): text('0') with tag('config'): with tag('index'): text('0') diff --git a/src/device/service/drivers/openconfig/templates/VPN/Network_instance_multivendor.py b/src/device/service/drivers/openconfig/templates/VPN/Network_instance_multivendor.py index e36955a0d..a8fc97cf9 100644 --- a/src/device/service/drivers/openconfig/templates/VPN/Network_instance_multivendor.py +++ b/src/device/service/drivers/openconfig/templates/VPN/Network_instance_multivendor.py @@ -64,10 +64,14 @@ def create_NI(parameters,vendor,DEL): elif "L3VRF" in parameters['type']: with tag('config'): with tag('name'):text(parameters['name']) - if vendor == "ADVA": + if "router_id" in parameters: + with tag('router-id'):text(parameters['router_id']) + # if vendor == "ADVA": + if True: with tag('type', 'xmlns:oc-ni-types="http://openconfig.net/yang/network-instance-types"'):text('oc-ni-types:',parameters['type']) with tag('route-distinguisher'):text(parameters['route_distinguisher']) - if vendor == "ADVA": + # if vendor == "ADVA": + if True: with tag('encapsulation'): with tag('config'): with tag('encapsulation-type', 'xmlns:oc-ni-types="http://openconfig.net/yang/network-instance-types"') :text('oc-ni-types:MPLS') @@ -116,9 +120,6 @@ def add_protocol_NI(parameters,vendor, DEL): else: with tag('network-instance'): with tag('name'):text(parameters['name']) - with tag('config'): - with tag('name'): text(parameters['name']) - with tag('type', 'xmlns:oc-ni-types="http://openconfig.net/yang/network-instance-types"'): text('oc-ni-types:DEFAULT_INSTANCE') with tag('protocols'): with tag('protocol'): with tag('identifier', 'xmlns:oc-pol-types="http://openconfig.net/yang/policy-types"'):text('oc-pol-types:',parameters['identifier']) @@ -129,36 +130,25 @@ def add_protocol_NI(parameters,vendor, DEL): with tag('enabled'): text('true') if "BGP" in parameters['identifier']: with tag('bgp'): + with tag('name'): text(parameters['as']) with tag('global'): - with tag('afi-safis'): - with tag('afi-safi'): - with tag('afi-safi-name', 'xmlns:oc-bgp-types="http://openconfig.net/yang/bgp-types"'): text('oc-bgp-types:IPV4_UNICAST') - with tag('config'): - with tag('afi-safi-name', 'xmlns:oc-bgp-types="http://openconfig.net/yang/bgp-types"'): text('oc-bgp-types:IPV4_UNICAST') - with tag('enabled'): text('true') with tag('config'): with tag('as') :text(parameters['as']) - with tag('peer-groups'): - with tag('peer-group'): - with tag('peer-group-name'): text('IBGP') - with tag('config'): - with tag('peer-group-name'): text('IBGP') - with tag('peer-as'): text(parameters['protocol_name']) - with tag('afi-safis'): - with tag('afi-safi'): - with tag('afi-safi-name', 'xmlns:oc-bgp-types="http://openconfig.net/yang/bgp-types"'): text('oc-bgp-types:IPV4_UNICAST') - with tag('config'): - with tag('afi-safi-name', 'xmlns:oc-bgp-types="http://openconfig.net/yang/bgp-types"'): text('oc-bgp-types:IPV4_UNICAST') - with tag('enabled'): text('true') - + if "router_id" in parameters: + with tag('router-id'):text(parameters['router_id']) if 'neighbors' in parameters: with tag('neighbors'): - for neighbor in parameters['neighbors']: - with tag('neighbor'): - with tag('neighbor-address'): text(neighbor['ip_address']) - with tag('config'): - with tag('neighbor-address'): text(neighbor['ip_address']) - with tag('peer-group'): text('IBGP') + for neighbor in parameters['neighbors']: + with tag('neighbor'): + with tag('neighbor-address'): text(neighbor['ip_address']) + with tag('afi-safis'): + with tag('afi-safi', 'xmlns:oc-bgp-types="http://openconfig.net/yang/bgp-types"'): + with tag('afi-safi-name'): text('oc-bgp-types:IPV4_UNICAST') + with tag('enabled'): text('true') + with tag('config'): + with tag('neighbor-address'): text(neighbor['ip_address']) + with tag('enabled'): text('true') + with tag('peer-as'): text(parameters['as']) # if vendor == "ADVA": if True: with tag('tables'): @@ -207,6 +197,9 @@ def associate_If_to_NI(parameters, DEL): else: with tag('network-instance'): with tag('name'):text(parameters['name']) + with tag('config'): + with tag('name'):text(parameters['name']) + with tag('type', 'xmlns:oc-ni-types="http://openconfig.net/yang/network-instance-types"'):text('oc-ni-types:L3VRF') with tag('interfaces'): with tag('interface'): with tag('id'):text(parameters['id']) @@ -214,6 +207,25 @@ def associate_If_to_NI(parameters, DEL): with tag('id') :text(parameters['id']) with tag('interface') :text(parameters['interface']) with tag('subinterface'):text(parameters['subinterface']) + with tag('interfaces', 'xmlns="http://openconfig.net/yang/interfaces"'): + with tag('interface'): + with tag('name'):text(parameters['interface']) + with tag('config'): + with tag('name'):text(parameters['interface']) + with tag('subinterfaces'): + with tag('subinterface'): + with tag('index'): text(parameters['subinterface']) + with tag('config'): + with tag('index'): text(parameters['subinterface']) + with tag('ipv4', 'xmlns="http://openconfig.net/yang/interfaces/ip"'): + with tag('config'): + with tag('mtu'): text('1500') + with tag('addresses'): + with tag('address'): + with tag('ip'):text(parameters['address_ip']) + with tag('config'): + with tag('ip'):text(parameters['address_ip']) + with tag('prefix-length'):text(parameters['address_prefix']) result = indent( doc.getvalue(), @@ -356,6 +368,7 @@ def create_table_conns(parameters,DEL): with tag('src-protocol','xmlns:oc-pol-types="http://openconfig.net/yang/policy-types"'): text('oc-pol-types:',parameters['src_protocol']) with tag('dst-protocol','xmlns:oc-pol-types="http://openconfig.net/yang/policy-types"'): text('oc-pol-types:',parameters['dst_protocol']) with tag('address-family', 'xmlns:oc-types="http://openconfig.net/yang/openconfig-types"'):text('oc-types:',parameters['address_family']) + with tag('dst-instance', 'xmlns="http://www.ipinfusion.com/yang/ocnos/ipi-oc-ni-augments"'):text('65000') if len(parameters['default_import_policy']) != 0: with tag('default-import-policy'):text(parameters['default_import_policy']) result = indent( diff --git a/src/device/service/drivers/openconfig/templates/VPN/Routing_policy.py b/src/device/service/drivers/openconfig/templates/VPN/Routing_policy.py index 54e6c1c01..e1287f9f8 100644 --- a/src/device/service/drivers/openconfig/templates/VPN/Routing_policy.py +++ b/src/device/service/drivers/openconfig/templates/VPN/Routing_policy.py @@ -40,6 +40,7 @@ def create_rp_statement(data, DEL): RP_statement_name = data['statement_name'] RP_policy_result = data['policy_result'] RP_ext_comm_set_name = data['ext_community_set_name'] + RP_sequence_id = data['sequence_id'] with tag('routing-policy', xmlns="http://openconfig.net/yang/routing-policy"): @@ -55,9 +56,9 @@ def create_rp_statement(data, DEL): with tag('name'):text(RP_policy_name) with tag('statements'): with tag('statement'): - with tag('name'):text(RP_statement_name) + with tag('name'):text(RP_sequence_id) with tag('config'): - with tag('name'):text(RP_statement_name) + with tag('name'):text(RP_sequence_id) with tag('conditions'): with tag('config'): with tag('install-protocol-eq', **{'xmlns:openconfig-policy-types': 'http://openconfig.net/yang/policy-types'}):text('openconfig-policy-types:DIRECTLY_CONNECTED') @@ -133,14 +134,14 @@ data_2 = {'ext_community_member' : '65001:101', 'ext_community_set_name' : 'set_srv_101_a'} print('\nRouting Policy Statement - CREATE\n') -print(rp_statement(data_1, False)) +print(create_rp_statement(data_1, False)) print('\nRouting Policy Statement - DELETE\n') -print(rp_statement(data_1, True)) +print(create_rp_statement(data_1, True)) print('\nRouting Policy Defined Set - CREATE\n') -print(rp_defined_set(data_2, False)) +print(create_rp_def(data_2, False)) print('\nRouting Policy Defined Set - DELETE\n') -print(rp_defined_set(data_2, True)) +print(create_rp_def(data_2, True)) ''' ''' diff --git a/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py b/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py index 3c5d4b5e6..4b7ee7b39 100644 --- a/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py +++ b/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py @@ -38,8 +38,9 @@ ALLOCATION_DIRECTION_DESCRIPTIONS = { VLAN_TAG = 0 PREFIX_LENGTH = 24 BGP_AS = 65000 -policy_AZ = 'srv_{:d}_a'.format(VLAN_TAG) -policy_ZA = 'srv_{:d}_b'.format(VLAN_TAG) +POLICY_AZ = 'srv_{:d}_a'.format(VLAN_TAG) +POLICY_ZA = 'srv_{:d}_b'.format(VLAN_TAG) +BGP_NETWORK_CIDR = '192.168.150.0/24' def service_2_bwInfo(service: Service) -> dict: response = {} @@ -102,7 +103,6 @@ def bwInfo_2_service(client, bw_info: dict) -> Service: devices = client.ListDevices(Empty()).devices router_id_counter = 1 for device in devices: - device_endpoint_uuids = {ep.name:ep.endpoint_id.endpoint_uuid.uuid for ep in device.device_endpoints} for cr in device.device_config.config_rules: if cr.WhichOneof('config_rule') != 'custom': @@ -118,41 +118,42 @@ def bwInfo_2_service(client, bw_info: dict) -> Service: ep_id.endpoint_uuid.uuid = device_endpoint_uuids[port_name] ep_id.device_id.device_uuid.uuid = device.device_id.device_uuid.uuid service.service_endpoint_ids.append(ep_id) - # add interface config rules endpoint_settings_key = ENDPOINT_SETTINGS_KEY.format(device.name, port_name, VLAN_TAG) if address_ip == a_ip: field_updates = { 'address_ip': (address_ip, True), - # 'router_id': ('.'.join([str(router_id_counter)]*4), True), 'router_id': ('200.1.1.1', True), 'neighbor_address_ip': ('192.168.150.2', True), + 'self_bgp_interface_name': ('xe5', True), + 'self_bgp_interface_address_ip': ('192.168.150.1', True), + 'self_bgp_interface_address_prefix': (PREFIX_LENGTH, True), + 'self_bgp_sub_interface_index': (0, True), 'route_distinguisher': (route_distinguisher, True), 'sub_interface_index': (0, True), - 'vlan_id' : (VLAN_TAG, True), - # 'bgp_as': (BGP_AS+router_id_counter, True), 'bgp_as': (BGP_AS, True), 'ip_address': (address_ip, True), 'prefix_length': (PREFIX_LENGTH, True), - 'policy_AZ' : (policy_AZ, True), - 'policy_ZA' : (policy_ZA, True), + 'policy_AZ' : (POLICY_AZ, True), + 'policy_ZA' : (POLICY_ZA, True), 'address_prefix' : (PREFIX_LENGTH, True), } elif address_ip == z_ip: field_updates = { 'address_ip': (address_ip, True), - # 'router_id': ('.'.join([str(router_id_counter)]*4), True), 'router_id': ('200.1.1.2', True), 'neighbor_address_ip': ('192.168.150.1', True), + 'self_bgp_interface_name': ('xe5', True), + 'self_bgp_interface_address_ip': ('192.168.150.2', True), + 'self_bgp_interface_address_prefix': (PREFIX_LENGTH, True), + 'self_bgp_sub_interface_index': (0, True), 'route_distinguisher': (route_distinguisher, True), 'sub_interface_index': (0, True), - 'vlan_id' : (VLAN_TAG, True), - # 'bgp_as': (BGP_AS+router_id_counter, True), 'bgp_as': (BGP_AS, True), 'ip_address': (address_ip, True), 'prefix_length': (PREFIX_LENGTH, True), - 'policy_AZ' : (policy_ZA, True), - 'policy_ZA' : (policy_AZ, True), + 'policy_AZ' : (POLICY_ZA, True), + 'policy_ZA' : (POLICY_AZ, True), 'address_prefix' : (PREFIX_LENGTH, True), } router_id_counter += 1 diff --git a/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py b/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py index 0369d6207..2f518d56a 100644 --- a/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py +++ b/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py @@ -47,11 +47,14 @@ def setup_config_rules( network_subinterface_desc = json_endpoint_settings.get('subif_description','') #service_short_uuid = service_uuid.split('-')[-1] #network_instance_name = '{:s}-NetInst'.format(service_short_uuid) - # network_instance_name = json_endpoint_settings.get('ni_name', service_uuid.split('-')[-1]) #ELAN-AC:1 - network_instance_name = 'default' + network_instance_name = json_endpoint_settings.get('ni_name', service_uuid.split('-')[-1]) #ELAN-AC:1 - ''' - # if_subif_name = '{:s}.{:d}'.format(endpoint_name, vlan_id) + bgp_if_name = json_endpoint_settings.get('self_bgp_interface_name','') + bgp_address_ip = json_endpoint_settings.get('self_bgp_interface_address_ip','') + bgp_address_prefix = json_endpoint_settings.get('self_bgp_interface_address_prefix','') + bgp_sub_interface_index = json_endpoint_settings.get('self_bgp_sub_interface_index', 0 ) + + # if_subif_name = '{:s}.{:d}'.format(endpoint_name, 0) if_subif_name = '{:s}'.format(endpoint_name[5:]) json_config_rules = [ @@ -70,7 +73,7 @@ def setup_config_rules( 'description': network_interface_desc, 'type': 'L3VRF', 'route_distinguisher': route_distinguisher, - #'router_id': router_id, + 'router_id': router_id, #'address_families': address_families, }), @@ -78,12 +81,12 @@ def setup_config_rules( json_config_rule_set( '/network_instance[{:s}]/protocols[BGP]'.format(network_instance_name), { 'name': network_instance_name, - # 'protocol_name': 'BGP', 'protocol_name': bgp_as, 'identifier': 'BGP', - # 'identifier': bgp_as, + 'type': 'L3VRF', 'as': bgp_as, 'router_id': router_id, + 'neighbors': [{'ip_address': neighbor_address_ip, 'remote_as': bgp_as}] }), #Add DIRECTLY CONNECTED protocol to network instance @@ -107,7 +110,6 @@ def setup_config_rules( json_config_rule_set( '/interface[{:s}]/subinterface[{:d}]'.format(if_subif_name, sub_interface_index), { 'name' : if_subif_name, - # 'type' :'l3ipvlan', 'type' :'ethernetCsmacd', 'mtu' : mtu, 'index' : sub_interface_index, @@ -124,6 +126,18 @@ def setup_config_rules( 'id' : if_subif_name, 'interface' : if_subif_name, 'subinterface': sub_interface_index, + 'address_ip' : address_ip, + 'address_prefix': address_prefix, + }), + + json_config_rule_set( + '/network_instance[{:s}]/interface[{:s}]'.format(network_instance_name, bgp_if_name), { + 'name' : network_instance_name, + 'id' : bgp_if_name, + 'interface' : bgp_if_name, + 'subinterface': bgp_sub_interface_index, + 'address_ip' : bgp_address_ip, + 'address_prefix': bgp_address_prefix, }), #Create routing policy @@ -139,6 +153,7 @@ def setup_config_rules( 'statement_name' : 'stm_{:s}'.format(policy_import), 'ext_community_set_name': 'set_{:s}'.format(policy_import), 'policy_result' : 'ACCEPT_ROUTE', + 'sequence_id' : '10' }), #Associate routing policy to network instance @@ -161,6 +176,7 @@ def setup_config_rules( 'statement_name' : 'stm_{:s}'.format(policy_export), 'ext_community_set_name': 'set_{:s}'.format(policy_export), 'policy_result' : 'ACCEPT_ROUTE', + 'sequence_id' : '10' }), #Associate routing policy to network instance @@ -189,39 +205,6 @@ def setup_config_rules( 'default_import_policy': 'ACCEPT_ROUTE', }), - ] - ''' - if_subif_name = '{:s}'.format(endpoint_name[5:]) - - json_config_rules = [ - - #Add DIRECTLY CONNECTED protocol to network instance - json_config_rule_set( - '/network_instance[{:s}]/protocols[DIRECTLY_CONNECTED]'.format(network_instance_name), { - 'name': network_instance_name, - 'identifier': 'DIRECTLY_CONNECTED', - 'protocol_name': 'DIRECTLY_CONNECTED', - }), - - # Add BGP neighbors - json_config_rule_set( - '/network_instance[{:s}]/protocols[BGP]'.format(network_instance_name), { - 'name': network_instance_name, - 'protocol_name': bgp_as, - 'identifier': 'BGP', - 'as': bgp_as, - 'router_id': router_id, - 'neighbors': [{'ip_address': neighbor_address_ip, 'remote_as': bgp_as}] - }), - json_config_rule_set( - '/network_instance[{:s}]/table_connections[DIRECTLY_CONNECTED][BGP][IPV4]'.format(network_instance_name), { - 'name' : network_instance_name, - 'src_protocol' : 'DIRECTLY_CONNECTED', - 'dst_protocol' : 'BGP', - 'address_family' : 'IPV4', - 'default_import_policy': 'ACCEPT_ROUTE', - }), - ] for res_key, res_value in endpoint_acls: -- GitLab From 8f65918fa23fbe19796917affff3f18bec4c62ff Mon Sep 17 00:00:00 2001 From: hajipour Date: Wed, 28 Feb 2024 12:29:12 +0000 Subject: [PATCH 009/156] service creation and deletion with webui added to pyangbind mode and tested --- .../drivers/openconfig/OpenConfigDriver.py | 3 + .../VPN/Network_instance_multivendor.py | 2 +- .../rest_server/nbi_plugins/etsi_bwm/Tools.py | 88 ++++++------ .../l3nm_openconfig/ConfigRules.py | 132 ++++++++++-------- .../L3NMOpenConfigServiceHandler.py | 6 +- 5 files changed, 131 insertions(+), 100 deletions(-) diff --git a/src/device/service/drivers/openconfig/OpenConfigDriver.py b/src/device/service/drivers/openconfig/OpenConfigDriver.py index 99ae1c8db..452f2f7c8 100644 --- a/src/device/service/drivers/openconfig/OpenConfigDriver.py +++ b/src/device/service/drivers/openconfig/OpenConfigDriver.py @@ -12,6 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. +import time import json import anytree, copy, logging, pytz, queue, re, threading #import lxml.etree as ET @@ -240,6 +241,8 @@ def edit_config( test_option=test_option, error_option=error_option, format=format) if commit_per_rule: netconf_handler.commit() # configuration commit + if 'table_connections' in resource_key: + time.sleep(5) # CPU usage might exceed critical level after route redistribution, BGP daemon needs time to reload #results[i] = True results.append(True) diff --git a/src/device/service/drivers/openconfig/templates/VPN/Network_instance_multivendor.py b/src/device/service/drivers/openconfig/templates/VPN/Network_instance_multivendor.py index a8fc97cf9..13612b607 100644 --- a/src/device/service/drivers/openconfig/templates/VPN/Network_instance_multivendor.py +++ b/src/device/service/drivers/openconfig/templates/VPN/Network_instance_multivendor.py @@ -357,7 +357,7 @@ def create_table_conns(parameters,DEL): with tag('table-connection','xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0" nc:operation="delete"'): with tag('src-protocol','xmlns:oc-pol-types="http://openconfig.net/yang/policy-types"'): text('oc-pol-types:',parameters['src_protocol']) with tag('dst-protocol','xmlns:oc-pol-types="http://openconfig.net/yang/policy-types"'): text('oc-pol-types:',parameters['dst_protocol']) - with tag('address-family', 'xmlns:oc-types="http://openconfig.net/yang/openconfig-types"'):text('oc-types:',parameters['dst_protocol']) + with tag('address-family', 'xmlns:oc-types="http://openconfig.net/yang/openconfig-types"'):text('oc-types:',parameters['address_family']) else: with tag('table-connections'): with tag('table-connection'): diff --git a/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py b/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py index 4b7ee7b39..f32fe5699 100644 --- a/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py +++ b/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py @@ -29,6 +29,7 @@ from common.tools.object_factory.Service import json_service_id LOGGER = logging.getLogger(__name__) ENDPOINT_SETTINGS_KEY = '/device[{:s}]/endpoint[{:s}]/vlan[{:d}]/settings' +DEVICE_SETTINGS_KEY = '/device[{:s}]/settings' RE_CONFIG_RULE_IF_SUBIF = re.compile(r'^\/interface\[([^\]]+)\]\/subinterface\[([^\]]+)\]$') MEC_CONSIDERED_FIELDS = ['requestType', 'sessionFilter', 'fixedAllocation', 'allocationDirection'] ALLOCATION_DIRECTION_DESCRIPTIONS = { @@ -40,7 +41,11 @@ PREFIX_LENGTH = 24 BGP_AS = 65000 POLICY_AZ = 'srv_{:d}_a'.format(VLAN_TAG) POLICY_ZA = 'srv_{:d}_b'.format(VLAN_TAG) -BGP_NETWORK_CIDR = '192.168.150.0/24' +BGP_NEIGHBOR_IP_A = '192.168.150.1' +BGP_NEIGHBOR_IP_Z = '192.168.150.2' +ROUTER_ID_A = '200.1.1.1' +ROUTER_ID_Z = '200.1.1.2' +ROUTE_DISTINGUISHER = '{:5d}:{:03d}'.format(BGP_AS, VLAN_TAG) def service_2_bwInfo(service: Service) -> dict: response = {} @@ -80,10 +85,6 @@ def bwInfo_2_service(client, bw_info: dict) -> Service: service_config_rules = service.service_config.config_rules - route_distinguisher = '{:5d}:{:03d}'.format(BGP_AS, VLAN_TAG) - settings_cr_key = '/settings' - settings_cr_value = {'bgp_as':(BGP_AS, True), 'route_distinguisher': (route_distinguisher, True)} - update_config_rule_custom(service_config_rules, settings_cr_key, settings_cr_value) request_cr_key = '/request' request_cr_value = {k:bw_info[k] for k in MEC_CONSIDERED_FIELDS} @@ -101,9 +102,10 @@ def bwInfo_2_service(client, bw_info: dict) -> Service: z_ip = bw_info['sessionFilter']['dstAddress'] devices = client.ListDevices(Empty()).devices - router_id_counter = 1 + ip_interface_name_dict = {} for device in devices: device_endpoint_uuids = {ep.name:ep.endpoint_id.endpoint_uuid.uuid for ep in device.device_endpoints} + skip_device = True for cr in device.device_config.config_rules: if cr.WhichOneof('config_rule') != 'custom': continue @@ -111,55 +113,59 @@ def bwInfo_2_service(client, bw_info: dict) -> Service: if not match_subif: continue address_ip = json.loads(cr.custom.resource_value).get('address_ip') + short_port_name = match_subif.groups(0)[0] + ip_interface_name_dict[address_ip] = short_port_name if address_ip not in [a_ip, z_ip]: continue - port_name = 'PORT-' + match_subif.groups(0)[0] # `PORT-` added as prefix + port_name = 'PORT-' + short_port_name # `PORT-` added as prefix ep_id = EndPointId() ep_id.endpoint_uuid.uuid = device_endpoint_uuids[port_name] ep_id.device_id.device_uuid.uuid = device.device_id.device_uuid.uuid service.service_endpoint_ids.append(ep_id) # add interface config rules endpoint_settings_key = ENDPOINT_SETTINGS_KEY.format(device.name, port_name, VLAN_TAG) - if address_ip == a_ip: - field_updates = { + if address_ip in a_ip: + router_id = ROUTER_ID_A + policy_az = POLICY_AZ + policy_za = POLICY_ZA + neighbor_bgp_interface_address_ip = BGP_NEIGHBOR_IP_Z + self_bgp_interface_address_ip = BGP_NEIGHBOR_IP_A + else: + router_id = ROUTER_ID_Z + policy_az = POLICY_ZA + policy_za = POLICY_AZ + neighbor_bgp_interface_address_ip= BGP_NEIGHBOR_IP_A + self_bgp_interface_address_ip = BGP_NEIGHBOR_IP_Z + endpoint_field_updates = { 'address_ip': (address_ip, True), - 'router_id': ('200.1.1.1', True), - 'neighbor_address_ip': ('192.168.150.2', True), - 'self_bgp_interface_name': ('xe5', True), - 'self_bgp_interface_address_ip': ('192.168.150.1', True), - 'self_bgp_interface_address_prefix': (PREFIX_LENGTH, True), - 'self_bgp_sub_interface_index': (0, True), - 'route_distinguisher': (route_distinguisher, True), - 'sub_interface_index': (0, True), - 'bgp_as': (BGP_AS, True), - 'ip_address': (address_ip, True), - 'prefix_length': (PREFIX_LENGTH, True), - 'policy_AZ' : (POLICY_AZ, True), - 'policy_ZA' : (POLICY_ZA, True), 'address_prefix' : (PREFIX_LENGTH, True), - } - elif address_ip == z_ip: - field_updates = { - 'address_ip': (address_ip, True), - 'router_id': ('200.1.1.2', True), - 'neighbor_address_ip': ('192.168.150.1', True), - 'self_bgp_interface_name': ('xe5', True), - 'self_bgp_interface_address_ip': ('192.168.150.2', True), - 'self_bgp_interface_address_prefix': (PREFIX_LENGTH, True), - 'self_bgp_sub_interface_index': (0, True), - 'route_distinguisher': (route_distinguisher, True), 'sub_interface_index': (0, True), - 'bgp_as': (BGP_AS, True), - 'ip_address': (address_ip, True), - 'prefix_length': (PREFIX_LENGTH, True), - 'policy_AZ' : (POLICY_ZA, True), - 'policy_ZA' : (POLICY_AZ, True), - 'address_prefix' : (PREFIX_LENGTH, True), } - router_id_counter += 1 LOGGER.debug(f'BEFORE UPDATE -> device.device_config.config_rules: {service_config_rules}') - update_config_rule_custom(service_config_rules, endpoint_settings_key, field_updates) + update_config_rule_custom(service_config_rules, endpoint_settings_key, endpoint_field_updates) LOGGER.debug(f'AFTER UPDATE -> device.device_config.config_rules: {service_config_rules}') + skip_device = False + if skip_device: + continue + device_field_updates = { + 'bgp_as':(BGP_AS, True), + 'route_distinguisher': (ROUTE_DISTINGUISHER, True), + 'router_id': (router_id, True), + 'policy_AZ': (policy_az, True), + 'policy_ZA': (policy_za, True), + 'neighbor_bgp_interface_address_ip': (neighbor_bgp_interface_address_ip, True), + 'self_bgp_interface_name': (ip_interface_name_dict[self_bgp_interface_address_ip], True), + 'self_bgp_interface_address_ip': (self_bgp_interface_address_ip, True), + 'bgp_interface_address_prefix': (PREFIX_LENGTH, True) + } + device_settings_key = DEVICE_SETTINGS_KEY.format(device.name) + LOGGER.debug(f'BEFORE UPDATE -> device.device_config.config_rules: {service_config_rules}') + update_config_rule_custom(service_config_rules, device_settings_key, device_field_updates) + LOGGER.debug(f'AFTER UPDATE -> device.device_config.config_rules: {service_config_rules}') + + settings_cr_key = '/settings' + settings_cr_value = {} + update_config_rule_custom(service_config_rules, settings_cr_key, settings_cr_value) service.service_status.service_status = ServiceStatusEnum.SERVICESTATUS_PLANNED service.service_type = ServiceTypeEnum.SERVICETYPE_L3NM diff --git a/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py b/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py index 2f518d56a..cee44641a 100644 --- a/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py +++ b/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py @@ -18,29 +18,30 @@ from service.service.service_handler_api.AnyTreeTools import TreeNode def setup_config_rules( service_uuid : str, connection_uuid : str, device_uuid : str, endpoint_uuid : str, endpoint_name : str, - service_settings : TreeNode, endpoint_settings : TreeNode, endpoint_acls : List [Tuple] + service_settings : TreeNode, endpoint_settings : TreeNode, endpoint_acls : List [Tuple], device_settings: TreeNode ) -> List[Dict]: if service_settings is None: return [] if endpoint_settings is None: return [] + if device_settings is None: return [] json_settings : Dict = service_settings.value json_endpoint_settings : Dict = endpoint_settings.value + json_device_settings : Dict = device_settings.value mtu = json_settings.get('mtu', 1450 ) # 1512 #address_families = json_settings.get('address_families', [] ) # ['IPV4'] - bgp_as = json_settings.get('bgp_as', 65000 ) # 65000 + bgp_as = json_device_settings.get('bgp_as', 65000 ) # 65000 - router_id = json_endpoint_settings.get('router_id', '0.0.0.0') # '10.95.0.10' - route_distinguisher = json_settings.get('route_distinguisher', '65000:101' ) # '60001:801' + router_id = json_device_settings.get('router_id', '0.0.0.0') # '10.95.0.10' + route_distinguisher = json_device_settings.get('route_distinguisher', '65000:101' ) # '60001:801' sub_interface_index = json_endpoint_settings.get('sub_interface_index', 0 ) # 1 vlan_id = json_endpoint_settings.get('vlan_id', 1 ) # 400 address_ip = json_endpoint_settings.get('address_ip', '0.0.0.0') # '2.2.2.1' address_prefix = json_endpoint_settings.get('address_prefix', 24 ) # 30 - neighbor_address_ip = json_endpoint_settings.get('neighbor_address_ip', '0.0.0.0') # '2.2.2.1' - policy_import = json_endpoint_settings.get('policy_AZ', '2' ) # 2 - policy_export = json_endpoint_settings.get('policy_ZA', '7' ) # 30 + policy_import = json_device_settings.get('policy_AZ', '2' ) # 2 + policy_export = json_device_settings.get('policy_ZA', '7' ) # 30 #network_interface_desc = '{:s}-NetIf'.format(service_uuid) network_interface_desc = json_endpoint_settings.get('ni_description','') #network_subinterface_desc = '{:s}-NetSubIf'.format(service_uuid) @@ -49,10 +50,11 @@ def setup_config_rules( #network_instance_name = '{:s}-NetInst'.format(service_short_uuid) network_instance_name = json_endpoint_settings.get('ni_name', service_uuid.split('-')[-1]) #ELAN-AC:1 - bgp_if_name = json_endpoint_settings.get('self_bgp_interface_name','') - bgp_address_ip = json_endpoint_settings.get('self_bgp_interface_address_ip','') - bgp_address_prefix = json_endpoint_settings.get('self_bgp_interface_address_prefix','') - bgp_sub_interface_index = json_endpoint_settings.get('self_bgp_sub_interface_index', 0 ) + self_bgp_if_name = json_device_settings.get('self_bgp_interface_name', '') + self_bgp_address_ip = json_device_settings.get('self_bgp_interface_address_ip', '') + bgp_address_prefix = json_device_settings.get('bgp_interface_address_prefix', '') + bgp_sub_interface_index = json_device_settings.get('self_bgp_sub_interface_index', 0) + neighbor_bgp_if_address_ip= json_device_settings.get('neighbor_bgp_interface_address_ip', '0.0.0.0') # '2.2.2.1' # if_subif_name = '{:s}.{:d}'.format(endpoint_name, 0) if_subif_name = '{:s}'.format(endpoint_name[5:]) @@ -86,7 +88,7 @@ def setup_config_rules( 'type': 'L3VRF', 'as': bgp_as, 'router_id': router_id, - 'neighbors': [{'ip_address': neighbor_address_ip, 'remote_as': bgp_as}] + 'neighbors': [{'ip_address': neighbor_bgp_if_address_ip, 'remote_as': bgp_as}] }), #Add DIRECTLY CONNECTED protocol to network instance @@ -96,7 +98,6 @@ def setup_config_rules( 'identifier': 'DIRECTLY_CONNECTED', 'protocol_name': 'DIRECTLY_CONNECTED', }), - #Add STATIC protocol to network instance json_config_rule_set( @@ -131,12 +132,12 @@ def setup_config_rules( }), json_config_rule_set( - '/network_instance[{:s}]/interface[{:s}]'.format(network_instance_name, bgp_if_name), { + '/network_instance[{:s}]/interface[{:s}]'.format(network_instance_name, self_bgp_if_name), { 'name' : network_instance_name, - 'id' : bgp_if_name, - 'interface' : bgp_if_name, + 'id' : self_bgp_if_name, + 'interface' : self_bgp_if_name, 'subinterface': bgp_sub_interface_index, - 'address_ip' : bgp_address_ip, + 'address_ip' : self_bgp_address_ip, 'address_prefix': bgp_address_prefix, }), @@ -215,76 +216,75 @@ def setup_config_rules( def teardown_config_rules( service_uuid : str, connection_uuid : str, device_uuid : str, endpoint_uuid : str, endpoint_name : str, - service_settings : TreeNode, endpoint_settings : TreeNode + service_settings : TreeNode, endpoint_settings : TreeNode, device_settings: TreeNode ) -> List[Dict]: if service_settings is None: return [] if endpoint_settings is None: return [] + if device_settings is None: return [] json_settings : Dict = service_settings.value json_endpoint_settings : Dict = endpoint_settings.value + json_device_settings : Dict = device_settings.value service_short_uuid = service_uuid.split('-')[-1] # network_instance_name = '{:s}-NetInst'.format(service_short_uuid) network_instance_name = json_endpoint_settings.get('ni_name', service_short_uuid) #ELAN-AC:1 #network_interface_desc = '{:s}-NetIf'.format(service_uuid) - #network_subinterface_desc = '{:s}-NetSubIf'.format(service_uuid) + # network_subinterface_desc = '{:s}-NetSubIf'.format(service_uuid) + network_subinterface_desc = '' - #mtu = json_settings.get('mtu', 1450 ) # 1512 + mtu = json_settings.get('mtu', 1450 ) # 1512 #address_families = json_settings.get('address_families', [] ) # ['IPV4'] - #bgp_as = json_settings.get('bgp_as', 65000 ) # 65000 - route_distinguisher = json_settings.get('route_distinguisher', '0:0' ) # '60001:801' - #sub_interface_index = json_endpoint_settings.get('sub_interface_index', 0 ) # 1 - #router_id = json_endpoint_settings.get('router_id', '0.0.0.0') # '10.95.0.10' - vlan_id = json_endpoint_settings.get('vlan_id', 1 ) # 400 - #address_ip = json_endpoint_settings.get('address_ip', '0.0.0.0') # '2.2.2.1' - #address_prefix = json_endpoint_settings.get('address_prefix', 24 ) # 30 - policy_import = json_endpoint_settings.get('policy_AZ', '2' ) # 2 - policy_export = json_endpoint_settings.get('policy_ZA', '7' ) # 30 - - if_subif_name = '{:s}.{:d}'.format(endpoint_name, vlan_id) + bgp_as = json_device_settings.get('bgp_as', 65000 ) # 65000 + route_distinguisher = json_device_settings.get('route_distinguisher', '0:0' ) # '60001:801' + sub_interface_index = json_endpoint_settings.get('sub_interface_index', 0 ) # 1 + router_id = json_device_settings.get('router_id', '0.0.0.0') # '10.95.0.10' + vlan_id = json_endpoint_settings.get('vlan_id', 1 ) # 400 + address_ip = json_endpoint_settings.get('address_ip', '0.0.0.0') # '2.2.2.1' + address_prefix = json_endpoint_settings.get('address_prefix', 24 ) # 30 + policy_import = json_device_settings.get('policy_AZ', '2' ) # 2 + policy_export = json_device_settings.get('policy_ZA', '7' ) # 30 - json_config_rules = [ - #Delete table connections - json_config_rule_delete( - '/network_instance[{:s}]/table_connections[DIRECTLY_CONNECTED][BGP][IPV4]'.format(network_instance_name),{ - 'name' : network_instance_name, - 'src_protocol' : 'DIRECTLY_CONNECTED', - 'dst_protocol' : 'BGP', - 'address_family': 'IPV4', - }), + self_bgp_if_name = json_device_settings.get('self_bgp_interface_name', '') + self_bgp_address_ip = json_device_settings.get('self_bgp_interface_address_ip', '') + bgp_address_prefix = json_device_settings.get('bgp_interface_address_prefix', '') + bgp_sub_interface_index = json_device_settings.get('self_bgp_sub_interface_index', 0) - - json_config_rule_delete( - '/network_instance[{:s}]/table_connections[STATIC][BGP][IPV4]'.format(network_instance_name), { - 'name' : network_instance_name, - 'src_protocol' : 'STATIC', - 'dst_protocol' : 'BGP', - 'address_family': 'IPV4', - }), + # if_subif_name = '{:s}.{:d}'.format(endpoint_name, vlan_id) + if_subif_name = '{:s}'.format(endpoint_name[5:]) + json_config_rules = [ #Delete export routing policy - json_config_rule_delete( - '/routing_policy/policy_definition[{:s}_export]'.format(network_instance_name), { - 'policy_name': '{:s}_export'.format(network_instance_name), + # pylint: disable=duplicate-string-formatting-argument + '/routing_policy/policy_definition[{:s}_export]/statement[{:s}]'.format(policy_export, policy_export), { + 'policy_name' : policy_export, + 'statement_name' : 'stm_{:s}'.format(policy_export), + 'ext_community_set_name': 'set_{:s}'.format(policy_export), + 'policy_result' : 'ACCEPT_ROUTE', + 'sequence_id' : '10' }), json_config_rule_delete( '/routing_policy/bgp_defined_set[{:s}_rt_export][{:s}]'.format(policy_export, route_distinguisher), { 'ext_community_set_name': 'set_{:s}'.format(policy_export), + 'ext_community_member' : route_distinguisher, }), - #Delete import routing policy - json_config_rule_delete( - '/routing_policy/policy_definition[{:s}_import]'.format(network_instance_name), { - 'policy_name': '{:s}_import'.format(network_instance_name), + # pylint: disable=duplicate-string-formatting-argument + '/routing_policy/policy_definition[{:s}_import]/statement[{:s}]'.format(policy_import, policy_import), { + 'policy_name' : policy_import, + 'statement_name' : 'stm_{:s}'.format(policy_import), + 'ext_community_set_name': 'set_{:s}'.format(policy_import), + 'policy_result' : 'ACCEPT_ROUTE', + 'sequence_id' : '10' }), json_config_rule_delete( '/routing_policy/bgp_defined_set[{:s}_rt_import][{:s}]'.format(policy_import, route_distinguisher), { 'ext_community_set_name': 'set_{:s}'.format(policy_import), + 'ext_community_member' : route_distinguisher, }), - #Delete interface; automatically deletes: # - /interface[]/subinterface[] # json_config_rule_delete('/interface[{:s}]/subinterface[0]'.format(if_subif_name), @@ -296,6 +296,26 @@ def teardown_config_rules( # - /network_instance[]/interface[] # - /network_instance[]/protocols[] # - /network_instance[]/inter_instance_policies[] + + #Associate interface to network instance + json_config_rule_set( + '/network_instance[{:s}]/interface[{:s}]'.format('default', if_subif_name), { + 'name' : 'default', + 'id' : if_subif_name, + 'interface' : if_subif_name, + 'subinterface': sub_interface_index, + 'address_ip' : address_ip, + 'address_prefix': address_prefix, + }), + json_config_rule_set( + '/network_instance[{:s}]/interface[{:s}]'.format('default', self_bgp_if_name), { + 'name' : 'default', + 'id' : self_bgp_if_name, + 'interface' : self_bgp_if_name, + 'subinterface': bgp_sub_interface_index, + 'address_ip' : self_bgp_address_ip, + 'address_prefix': bgp_address_prefix, + }), json_config_rule_delete('/network_instance[{:s}]'.format(network_instance_name), { 'name': network_instance_name diff --git a/src/service/service/service_handlers/l3nm_openconfig/L3NMOpenConfigServiceHandler.py b/src/service/service/service_handlers/l3nm_openconfig/L3NMOpenConfigServiceHandler.py index 3f8a6d9dd..d061573db 100644 --- a/src/service/service/service_handlers/l3nm_openconfig/L3NMOpenConfigServiceHandler.py +++ b/src/service/service/service_handlers/l3nm_openconfig/L3NMOpenConfigServiceHandler.py @@ -52,6 +52,7 @@ class L3NMOpenConfigServiceHandler(_ServiceHandler): device_uuid, endpoint_uuid = get_device_endpoint_uuids(endpoint) device_obj = self.__task_executor.get_device(DeviceId(**json_device_id(device_uuid))) + device_settings = self.__settings_handler.get_device_settings(device_obj) endpoint_obj = get_endpoint_matching(device_obj, endpoint_uuid) endpoint_settings = self.__settings_handler.get_endpoint_settings(device_obj, endpoint_obj) endpoint_acls = self.__settings_handler.get_endpoint_acls(device_obj, endpoint_obj) @@ -59,7 +60,7 @@ class L3NMOpenConfigServiceHandler(_ServiceHandler): json_config_rules = setup_config_rules( service_uuid, connection_uuid, device_uuid, endpoint_uuid, endpoint_name, - settings, endpoint_settings, endpoint_acls) + settings, endpoint_settings, endpoint_acls, device_settings) if len(json_config_rules) > 0: del device_obj.device_config.config_rules[:] @@ -90,13 +91,14 @@ class L3NMOpenConfigServiceHandler(_ServiceHandler): device_uuid, endpoint_uuid = get_device_endpoint_uuids(endpoint) device_obj = self.__task_executor.get_device(DeviceId(**json_device_id(device_uuid))) + device_settings = self.__settings_handler.get_device_settings(device_obj) endpoint_obj = get_endpoint_matching(device_obj, endpoint_uuid) endpoint_settings = self.__settings_handler.get_endpoint_settings(device_obj, endpoint_obj) endpoint_name = endpoint_obj.name json_config_rules = teardown_config_rules( service_uuid, connection_uuid, device_uuid, endpoint_uuid, endpoint_name, - settings, endpoint_settings) + settings, endpoint_settings, device_settings) if len(json_config_rules) > 0: del device_obj.device_config.config_rules[:] -- GitLab From f6afa0c7cebe50e35ad3abe59b1dbe15e06c8294 Mon Sep 17 00:00:00 2001 From: hajipour Date: Wed, 28 Feb 2024 16:28:34 +0000 Subject: [PATCH 010/156] service creation and deletion with webui added to jinja mode --- .../drivers/openconfig/OpenConfigDriver.py | 5 +-- .../drivers/openconfig/templates/__init__.py | 2 +- .../interface/subinterface/edit_config.xml | 13 ------- .../network_instance/edit_config.xml | 2 +- .../interface/edit_config.xml | 34 +++++++++++++++++++ .../protocols/edit_config.xml | 22 ++++++++++++ .../table_connections/edit_config.xml | 1 + .../statement/edit_config.xml | 4 +-- .../l3nm_openconfig/ConfigRules.py | 2 ++ 9 files changed, 64 insertions(+), 21 deletions(-) diff --git a/src/device/service/drivers/openconfig/OpenConfigDriver.py b/src/device/service/drivers/openconfig/OpenConfigDriver.py index 452f2f7c8..476c2f0cc 100644 --- a/src/device/service/drivers/openconfig/OpenConfigDriver.py +++ b/src/device/service/drivers/openconfig/OpenConfigDriver.py @@ -227,11 +227,8 @@ def edit_config( chk_length(str_resource_name, resource, min_length=2, max_length=2) resource_key,resource_value = resource chk_string(str_resource_name + '.key', resource_key, allow_empty=False) - str_config_messages = compose_config( # get template for configuration - resource_key, resource_value, delete=delete, vendor=netconf_handler.vendor, message_renderer='pyangbind') - # str_config_messages = compose_config( # get template for configuration - # resource_key, resource_value, delete=delete, vendor=netconf_handler.vendor, message_renderer=netconf_handler.message_renderer) + resource_key, resource_value, delete=delete, vendor=netconf_handler.vendor, message_renderer=netconf_handler.message_renderer) for str_config_message in str_config_messages: # configuration of the received templates if str_config_message is None: raise UnsupportedResourceKeyException(resource_key) logger.debug('[{:s}] str_config_message[{:d}] = {:s}'.format( diff --git a/src/device/service/drivers/openconfig/templates/__init__.py b/src/device/service/drivers/openconfig/templates/__init__.py index 87eea1f0b..b1d8de511 100644 --- a/src/device/service/drivers/openconfig/templates/__init__.py +++ b/src/device/service/drivers/openconfig/templates/__init__.py @@ -121,7 +121,7 @@ def compose_config( # template generation templates.append(JINJA_ENV.get_template('acl/acl-set/acl-entry/edit_config.xml')) templates.append(JINJA_ENV.get_template('acl/interfaces/ingress/edit_config.xml')) data : Dict[str, Any] = json.loads(resource_value) - operation = 'delete' if delete else 'merge' + operation = 'delete' if delete else '' return [ '{:s}'.format( diff --git a/src/device/service/drivers/openconfig/templates/interface/subinterface/edit_config.xml b/src/device/service/drivers/openconfig/templates/interface/subinterface/edit_config.xml index e44100400..9cff1afd3 100644 --- a/src/device/service/drivers/openconfig/templates/interface/subinterface/edit_config.xml +++ b/src/device/service/drivers/openconfig/templates/interface/subinterface/edit_config.xml @@ -30,19 +30,6 @@ {% endif %} - {% if address_ip is defined %} - - - - {{address_ip}} - - {{address_ip}} - {{address_prefix}} - - - - - {% endif %} {% endif %} diff --git a/src/device/service/drivers/openconfig/templates/network_instance/edit_config.xml b/src/device/service/drivers/openconfig/templates/network_instance/edit_config.xml index 6b6b733da..891881867 100644 --- a/src/device/service/drivers/openconfig/templates/network_instance/edit_config.xml +++ b/src/device/service/drivers/openconfig/templates/network_instance/edit_config.xml @@ -1,5 +1,5 @@ - + {{name}} {% if operation is not defined or operation != 'delete' %} diff --git a/src/device/service/drivers/openconfig/templates/network_instance/interface/edit_config.xml b/src/device/service/drivers/openconfig/templates/network_instance/interface/edit_config.xml index 855f321b4..96e13cc37 100644 --- a/src/device/service/drivers/openconfig/templates/network_instance/interface/edit_config.xml +++ b/src/device/service/drivers/openconfig/templates/network_instance/interface/edit_config.xml @@ -1,6 +1,10 @@ {{name}} + + {{name}} + oc-ni-types:L3VRF + {{id}} @@ -13,3 +17,33 @@ + + + {{interface}} + + {{interface}} + + + + {{subinterface}} + + {{subinterface}} + + + + 1500 + + +
+ {{address_ip}} + + {{address_ip}} + {{address_prefix}} + +
+
+
+
+
+
+
diff --git a/src/device/service/drivers/openconfig/templates/network_instance/protocols/edit_config.xml b/src/device/service/drivers/openconfig/templates/network_instance/protocols/edit_config.xml index c9c068e48..da66d97f0 100644 --- a/src/device/service/drivers/openconfig/templates/network_instance/protocols/edit_config.xml +++ b/src/device/service/drivers/openconfig/templates/network_instance/protocols/edit_config.xml @@ -9,15 +9,37 @@ oc-pol-types:{{identifier}} {{protocol_name}} + true {% if identifier=='BGP' %} + {{as}} {{as}} {{router_id}} + {% if neighbors is defined %} + + {% for neighbor in neighbors %} + + {{neighbor['ip_address']}} + + + oc-bgp-types:IPV4_UNICAST + true + + + + {{neighbor['ip_address']}} + true + {{as}} + + + {% endfor %} + + {% endif %} {% endif %} {% endif %} diff --git a/src/device/service/drivers/openconfig/templates/network_instance/table_connections/edit_config.xml b/src/device/service/drivers/openconfig/templates/network_instance/table_connections/edit_config.xml index 46bf5e387..bd1dac1b3 100644 --- a/src/device/service/drivers/openconfig/templates/network_instance/table_connections/edit_config.xml +++ b/src/device/service/drivers/openconfig/templates/network_instance/table_connections/edit_config.xml @@ -11,6 +11,7 @@ oc-pol-types:{{src_protocol}} oc-pol-types:{{dst_protocol}} oc-types:{{address_family}} + {{as}} {% if default_import_policy is defined %}{{default_import_policy}}{% endif %}
{% endif %} diff --git a/src/device/service/drivers/openconfig/templates/routing_policy/policy_definition/statement/edit_config.xml b/src/device/service/drivers/openconfig/templates/routing_policy/policy_definition/statement/edit_config.xml index eda2d99c9..1bf1cf322 100644 --- a/src/device/service/drivers/openconfig/templates/routing_policy/policy_definition/statement/edit_config.xml +++ b/src/device/service/drivers/openconfig/templates/routing_policy/policy_definition/statement/edit_config.xml @@ -8,9 +8,9 @@ - {{statement_name}} + {{sequence_id}} - {{statement_name}} + {{sequence_id}} diff --git a/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py b/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py index cee44641a..87556c36b 100644 --- a/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py +++ b/src/service/service/service_handlers/l3nm_openconfig/ConfigRules.py @@ -195,6 +195,7 @@ def setup_config_rules( 'dst_protocol' : 'BGP', 'address_family' : 'IPV4', 'default_import_policy': 'ACCEPT_ROUTE', + 'as' : bgp_as, }), json_config_rule_set( @@ -204,6 +205,7 @@ def setup_config_rules( 'dst_protocol' : 'BGP', 'address_family' : 'IPV4', 'default_import_policy': 'ACCEPT_ROUTE', + 'as' : bgp_as, }), ] -- GitLab From 5f64f0ea74e6a69b63b177a2fd2adceca33f030a Mon Sep 17 00:00:00 2001 From: hajipour Date: Thu, 29 Feb 2024 21:38:18 +0000 Subject: [PATCH 011/156] service_2_bwInfo function bug resolved: change in config rules applied in the function --- .../rest_server/nbi_plugins/etsi_bwm/Tools.py | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py b/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py index f32fe5699..c39a380dc 100644 --- a/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py +++ b/src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py @@ -31,7 +31,7 @@ LOGGER = logging.getLogger(__name__) ENDPOINT_SETTINGS_KEY = '/device[{:s}]/endpoint[{:s}]/vlan[{:d}]/settings' DEVICE_SETTINGS_KEY = '/device[{:s}]/settings' RE_CONFIG_RULE_IF_SUBIF = re.compile(r'^\/interface\[([^\]]+)\]\/subinterface\[([^\]]+)\]$') -MEC_CONSIDERED_FIELDS = ['requestType', 'sessionFilter', 'fixedAllocation', 'allocationDirection'] +MEC_CONSIDERED_FIELDS = ['requestType', 'sessionFilter', 'fixedAllocation', 'allocationDirection', 'fixedBWPriority'] ALLOCATION_DIRECTION_DESCRIPTIONS = { '00' : 'Downlink (towards the UE)', '01' : 'Uplink (towards the application/session)', @@ -59,12 +59,19 @@ def service_2_bwInfo(service: Service) -> dict: break for config_rule in service.service_config.config_rules: + resource_value_json = json.loads(config_rule.custom.resource_value) + if config_rule.custom.resource_key != '/request': + continue for key in ['allocationDirection', 'fixedBWPriority', 'requestType', 'sourceIp', 'sourcePort', 'dstPort', 'protocol', 'sessionFilter']: - if config_rule.custom.resource_key == key: - if key != 'sessionFilter': - response[key] = config_rule.custom.resource_value - else: - response[key] = json.loads(config_rule.custom.resource_value) + if key not in resource_value_json: + continue + + if key == 'sessionFilter': + response[key] = [resource_value_json[key]] + elif key == 'requestType': + response[key] = str(resource_value_json[key]) + else: + response[key] = resource_value_json[key] unixtime = time.time() response['timeStamp'] = { # Time stamp to indicate when the corresponding information elements are sent @@ -76,8 +83,6 @@ def service_2_bwInfo(service: Service) -> dict: def bwInfo_2_service(client, bw_info: dict) -> Service: # add description to allocationDirection code - if ad_code := bw_info.get('allocationDirection'): - bw_info['allocationDirection'] = {'code': ad_code, 'description': ALLOCATION_DIRECTION_DESCRIPTIONS[ad_code]} if 'sessionFilter' in bw_info: bw_info['sessionFilter'] = bw_info['sessionFilter'][0] # Discard other items in sessionFilter field -- GitLab From 7a04088a9013a0ee07c9fac2832ffdb1149745e3 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 13 Mar 2024 12:34:00 +0000 Subject: [PATCH 012/156] CI/CD pipeline - end-to-end automated tests: - Integrate OFC'22 TFS deployment --- .gitlab-ci.yml | 8 ++++--- src/tests/.gitlab-ci.yml | 8 +++++-- src/tests/ofc22/.gitlab-ci.yml | 44 ++++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 5 deletions(-) create mode 100644 src/tests/ofc22/.gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 141578287..194e93a6d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -17,10 +17,9 @@ stages: #- dependencies - build - unit_test - #- deploy - #- end2end_test + - end2end_test -# include the individual .gitlab-ci.yml of each micro-service +# include the individual .gitlab-ci.yml of each micro-service and tests include: #- local: '/manifests/.gitlab-ci.yml' - local: '/src/monitoring/.gitlab-ci.yml' @@ -45,3 +44,6 @@ include: #- local: '/src/dlt/.gitlab-ci.yml' - local: '/src/load_generator/.gitlab-ci.yml' - local: '/src/bgpls_speaker/.gitlab-ci.yml' + + # This should be last one: end-to-end integration tests + - local: '/src/tests/.gitlab-ci.yml' diff --git a/src/tests/.gitlab-ci.yml b/src/tests/.gitlab-ci.yml index db44b9e4a..d48456b83 100644 --- a/src/tests/.gitlab-ci.yml +++ b/src/tests/.gitlab-ci.yml @@ -12,7 +12,11 @@ # See the License for the specific language governing permissions and # limitations under the License. -# include the individual .gitlab-ci.yml of each integration test +# include the individual .gitlab-ci.yml of each end-to-end integration test include: - local: '/src/tests/ofc22/.gitlab-ci.yml' - - local: '/src/tests/oeccpsc22/.gitlab-ci.yml' + #- local: '/src/tests/oeccpsc22/.gitlab-ci.yml' + #- local: '/src/tests/ecoc22/.gitlab-ci.yml' + #- local: '/src/tests/nfvsdn22/.gitlab-ci.yml' + #- local: '/src/tests/ofc23/.gitlab-ci.yml' + #- local: '/src/tests/ofc24/.gitlab-ci.yml' diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml new file mode 100644 index 000000000..5f8f8dd1b --- /dev/null +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -0,0 +1,44 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Build, tag, and push the Docker image to the GitLab Docker registry +end2end ofc22: + variables: + TEST_NAME: 'ofc22' + stage: end2end_test + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + script: + - source src/tests/${TEST_NAME}/deploy_specs.sh + - export TFS_REGISTRY_IMAGES="labs.etsi.org:5050/tfs/" + - export TFS_SKIP_BUILD="YES" + - export TFS_IMAGE_TAG="latest" + - ./deploy/all.sh + - while ! kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server 2>&1 | grep -q 'Subscriber is Ready? True'; do sleep 1; done + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server + ## Run the tests + #- > + # docker exec -i $IMAGE_NAME bash -c + # "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/opt/results/${IMAGE_NAME}_report.xml" + #- docker exec -i $IMAGE_NAME bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" + after_script: + - docker images --filter="dangling=true" --quiet | xargs -r docker rmi + #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' + rules: + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' + artifacts: + when: always + reports: + junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml -- GitLab From 8d0250aa41c63ae9a1e838df6158e7cea2ba4112 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 13 Mar 2024 18:11:57 +0000 Subject: [PATCH 013/156] Fix CI/CD pipeline - end-to-end automated tests --- src/tests/ofc22/.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 5f8f8dd1b..263d9fbae 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -21,7 +21,7 @@ end2end ofc22: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - source src/tests/${TEST_NAME}/deploy_specs.sh - - export TFS_REGISTRY_IMAGES="labs.etsi.org:5050/tfs/" + - export TFS_REGISTRY_IMAGES="labs.etsi.org:5050/tfs/controller" - export TFS_SKIP_BUILD="YES" - export TFS_IMAGE_TAG="latest" - ./deploy/all.sh -- GitLab From 2ea3e6795a1b5b1383d5fb0dca357c9671bc0e61 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Thu, 14 Mar 2024 11:27:26 +0000 Subject: [PATCH 014/156] Fix CI/CD pipeline - end-to-end automated tests --- deploy/crdb.sh | 3 +++ deploy/qdb.sh | 3 +++ deploy/tfs.sh | 15 +++++++++++++-- src/tests/ofc22/.gitlab-ci.yml | 7 ++++++- 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/deploy/crdb.sh b/deploy/crdb.sh index 5d87adf60..5eae5add2 100755 --- a/deploy/crdb.sh +++ b/deploy/crdb.sh @@ -158,8 +158,11 @@ function crdb_undeploy_single() { function crdb_drop_database_single() { echo "Drop database if exists" + kubectl --namespace ${CRDB_NAMESPACE} describe service cockroachdb-public -o yaml CRDB_PORT_SQL=$(kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o 'jsonpath={.spec.ports[?(@.name=="sql")].port}') + echo "CRDB_PORT_SQL=${CRDB_PORT_SQL}" CRDB_CLIENT_URL="postgresql://${CRDB_USERNAME}:${CRDB_PASSWORD}@cockroachdb-0:${CRDB_PORT_SQL}/defaultdb?sslmode=require" + echo "CRDB_CLIENT_URL=${CRDB_CLIENT_URL}" kubectl exec -it --namespace ${CRDB_NAMESPACE} cockroachdb-0 -- \ ./cockroach sql --certs-dir=/cockroach/cockroach-certs --url=${CRDB_CLIENT_URL} \ --execute "DROP DATABASE IF EXISTS ${CRDB_DATABASE};" diff --git a/deploy/qdb.sh b/deploy/qdb.sh index e930b5a6c..5e4ee761a 100755 --- a/deploy/qdb.sh +++ b/deploy/qdb.sh @@ -160,8 +160,11 @@ function qdb_undeploy() { } function qdb_drop_tables() { + kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o yaml QDB_HOST=$(kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o 'jsonpath={.spec.clusterIP}') + echo "QDB_HOST=${QDB_HOST}" QDB_PORT=$(kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o 'jsonpath={.spec.ports[?(@.name=="http")].port}') + echo "QDB_PORT=${QDB_PORT}" echo "Drop tables, if exist" curl "http://${QDB_HOST}:${QDB_PORT}/exec?fmt=json&query=DROP+TABLE+IF+EXISTS+${QDB_TABLE_MONITORING_KPIS}+;" diff --git a/deploy/tfs.sh b/deploy/tfs.sh index 19c0d75a0..e3a0f8501 100755 --- a/deploy/tfs.sh +++ b/deploy/tfs.sh @@ -299,8 +299,13 @@ for COMPONENT in $TFS_COMPONENTS; do VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}-gateway:" "$MANIFEST" | cut -d ":" -f4) sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT-gateway:${VERSION}#image: $IMAGE_URL#g" "$MANIFEST" else - IMAGE_URL=$(echo "$TFS_REGISTRY_IMAGES/$COMPONENT:$TFS_IMAGE_TAG" | sed 's,//,/,g' | sed 's,http:/,,g') - VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}:" "$MANIFEST" | cut -d ":" -f4) + if [ "$TFS_SKIP_BUILD" != "YES" ]; then + IMAGE_URL=$(echo "$TFS_REGISTRY_IMAGES/$COMPONENT:$TFS_IMAGE_TAG" | sed 's,//,/,g' | sed 's,http:/,,g') + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}:" "$MANIFEST" | cut -d ":" -f4) + else + VERSION=$(grep -i "${GITLAB_REPO_URL}/${COMPONENT}:" "$MANIFEST" | cut -d ":" -f4) + IMAGE_URL=$(echo "$TFS_REGISTRY_IMAGES/$COMPONENT:$VERSION" | sed 's,//,/,g' | sed 's,http:/,,g') + fi sed -E -i "s#image: $GITLAB_REPO_URL/$COMPONENT:${VERSION}#image: $IMAGE_URL#g" "$MANIFEST" fi @@ -365,6 +370,12 @@ for COMPONENT in $TFS_COMPONENTS; do COMPONENT_OBJNAME=$(echo "${COMPONENT}" | sed "s/\_/-/") kubectl wait --namespace $TFS_K8S_NAMESPACE \ --for='condition=available' --timeout=90s deployment/${COMPONENT_OBJNAME}service + WAIT_EXIT_CODE=$! + if [[ $WAIT_EXIT_CODE != 0 ]]; then + echo " Failed to deploy '$COMPONENT' component, exiting..." + kubectl logs --namespace $TFS_K8S_NAMESPACE deployment/${COMPONENT_OBJNAME}service + exit $exit_code + fi printf "\n" done diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 263d9fbae..86505017f 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -24,7 +24,12 @@ end2end ofc22: - export TFS_REGISTRY_IMAGES="labs.etsi.org:5050/tfs/controller" - export TFS_SKIP_BUILD="YES" - export TFS_IMAGE_TAG="latest" - - ./deploy/all.sh + - ./deploy/crdb.sh + - ./deploy/nats.sh + - ./deploy/qdb.sh + - ./deploy/expose_dashboard.sh + - ./deploy/tfs.sh + - ./deploy/show.sh - while ! kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server 2>&1 | grep -q 'Subscriber is Ready? True'; do sleep 1; done - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server ## Run the tests -- GitLab From 7f5389d5a4642272c4ae731dae9bac026de19121 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Thu, 14 Mar 2024 12:55:09 +0000 Subject: [PATCH 015/156] Fix CI/CD pipeline - end-to-end automated tests --- deploy/crdb.sh | 2 +- deploy/tfs.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deploy/crdb.sh b/deploy/crdb.sh index 5eae5add2..b26ef3ecf 100755 --- a/deploy/crdb.sh +++ b/deploy/crdb.sh @@ -158,7 +158,7 @@ function crdb_undeploy_single() { function crdb_drop_database_single() { echo "Drop database if exists" - kubectl --namespace ${CRDB_NAMESPACE} describe service cockroachdb-public -o yaml + kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o yaml CRDB_PORT_SQL=$(kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o 'jsonpath={.spec.ports[?(@.name=="sql")].port}') echo "CRDB_PORT_SQL=${CRDB_PORT_SQL}" CRDB_CLIENT_URL="postgresql://${CRDB_USERNAME}:${CRDB_PASSWORD}@cockroachdb-0:${CRDB_PORT_SQL}/defaultdb?sslmode=require" diff --git a/deploy/tfs.sh b/deploy/tfs.sh index e3a0f8501..aeeda08a3 100755 --- a/deploy/tfs.sh +++ b/deploy/tfs.sh @@ -373,7 +373,7 @@ for COMPONENT in $TFS_COMPONENTS; do WAIT_EXIT_CODE=$! if [[ $WAIT_EXIT_CODE != 0 ]]; then echo " Failed to deploy '$COMPONENT' component, exiting..." - kubectl logs --namespace $TFS_K8S_NAMESPACE deployment/${COMPONENT_OBJNAME}service + kubectl logs --namespace $TFS_K8S_NAMESPACE deployment/${COMPONENT_OBJNAME}service --all-containers=true exit $exit_code fi printf "\n" -- GitLab From 76d28c7fa08c93d9c24eefe256992f04ccecdafc Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Thu, 14 Mar 2024 14:43:55 +0000 Subject: [PATCH 016/156] Fix CI/CD pipeline - end-to-end automated tests --- deploy/crdb.sh | 6 ++++-- deploy/qdb.sh | 5 ++--- deploy/tfs.sh | 6 +++--- src/tests/ofc22/.gitlab-ci.yml | 2 +- src/tests/ofc22/deploy_specs.sh | 18 ++++++++++++++++-- 5 files changed, 26 insertions(+), 11 deletions(-) diff --git a/deploy/crdb.sh b/deploy/crdb.sh index b26ef3ecf..89ec72454 100755 --- a/deploy/crdb.sh +++ b/deploy/crdb.sh @@ -158,10 +158,12 @@ function crdb_undeploy_single() { function crdb_drop_database_single() { echo "Drop database if exists" - kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o yaml + #kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o yaml + CRDB_HOST_SQL=$(kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o 'jsonpath={.spec.clusterIP}') + echo "CRDB_HOST_SQL=${CRDB_HOST_SQL}" CRDB_PORT_SQL=$(kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o 'jsonpath={.spec.ports[?(@.name=="sql")].port}') echo "CRDB_PORT_SQL=${CRDB_PORT_SQL}" - CRDB_CLIENT_URL="postgresql://${CRDB_USERNAME}:${CRDB_PASSWORD}@cockroachdb-0:${CRDB_PORT_SQL}/defaultdb?sslmode=require" + CRDB_CLIENT_URL="postgresql://${CRDB_USERNAME}:${CRDB_PASSWORD}@${CRDB_HOST_SQL}:${CRDB_PORT_SQL}/defaultdb?sslmode=require" echo "CRDB_CLIENT_URL=${CRDB_CLIENT_URL}" kubectl exec -it --namespace ${CRDB_NAMESPACE} cockroachdb-0 -- \ ./cockroach sql --certs-dir=/cockroach/cockroach-certs --url=${CRDB_CLIENT_URL} \ diff --git a/deploy/qdb.sh b/deploy/qdb.sh index 5e4ee761a..09308cf4c 100755 --- a/deploy/qdb.sh +++ b/deploy/qdb.sh @@ -160,13 +160,12 @@ function qdb_undeploy() { } function qdb_drop_tables() { - kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o yaml + echo "Drop tables, if exist" + #kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o yaml QDB_HOST=$(kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o 'jsonpath={.spec.clusterIP}') echo "QDB_HOST=${QDB_HOST}" QDB_PORT=$(kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o 'jsonpath={.spec.ports[?(@.name=="http")].port}') echo "QDB_PORT=${QDB_PORT}" - - echo "Drop tables, if exist" curl "http://${QDB_HOST}:${QDB_PORT}/exec?fmt=json&query=DROP+TABLE+IF+EXISTS+${QDB_TABLE_MONITORING_KPIS}+;" echo curl "http://${QDB_HOST}:${QDB_PORT}/exec?fmt=json&query=DROP+TABLE+IF+EXISTS+${QDB_TABLE_SLICE_GROUPS}+;" diff --git a/deploy/tfs.sh b/deploy/tfs.sh index aeeda08a3..fd49c9758 100755 --- a/deploy/tfs.sh +++ b/deploy/tfs.sh @@ -370,11 +370,11 @@ for COMPONENT in $TFS_COMPONENTS; do COMPONENT_OBJNAME=$(echo "${COMPONENT}" | sed "s/\_/-/") kubectl wait --namespace $TFS_K8S_NAMESPACE \ --for='condition=available' --timeout=90s deployment/${COMPONENT_OBJNAME}service - WAIT_EXIT_CODE=$! + WAIT_EXIT_CODE=$? if [[ $WAIT_EXIT_CODE != 0 ]]; then - echo " Failed to deploy '$COMPONENT' component, exiting..." + echo " Failed to deploy '${COMPONENT}' component, exit code '${WAIT_EXIT_CODE}', exiting..." kubectl logs --namespace $TFS_K8S_NAMESPACE deployment/${COMPONENT_OBJNAME}service --all-containers=true - exit $exit_code + exit $WAIT_EXIT_CODE fi printf "\n" done diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 86505017f..54e00041f 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -46,4 +46,4 @@ end2end ofc22: artifacts: when: always reports: - junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml + junit: src/tests/${TEST_NAME}/report*.xml diff --git a/src/tests/ofc22/deploy_specs.sh b/src/tests/ofc22/deploy_specs.sh index d0696f91d..aad41f33d 100755 --- a/src/tests/ofc22/deploy_specs.sh +++ b/src/tests/ofc22/deploy_specs.sh @@ -26,10 +26,18 @@ export TFS_COMPONENTS="context device pathcomp service slice nbi webui" # Uncomment to activate Monitoring export TFS_COMPONENTS="${TFS_COMPONENTS} monitoring" -# Uncomment to activate ZTP and Policy Manager -#export TFS_COMPONENTS="${TFS_COMPONENTS} ztp policy" +# Uncomment to activate BGP-LS Speaker +#export TFS_COMPONENTS="${TFS_COMPONENTS} bgpls_speaker" + +# Uncomment to activate Optical Controller +#export TFS_COMPONENTS="${TFS_COMPONENTS} opticalcontroller" + +# Uncomment to activate ZTP export TFS_COMPONENTS="${TFS_COMPONENTS} ztp" +# Uncomment to activate Policy Manager +#export TFS_COMPONENTS="${TFS_COMPONENTS} policy" + # Uncomment to activate Optical CyberSecurity #export TFS_COMPONENTS="${TFS_COMPONENTS} dbscanserving opticalattackmitigator opticalattackdetector opticalattackmanager" @@ -39,6 +47,12 @@ export TFS_COMPONENTS="${TFS_COMPONENTS} ztp" # Uncomment to activate TE #export TFS_COMPONENTS="${TFS_COMPONENTS} te" +# Uncomment to activate Forecaster +#export TFS_COMPONENTS="${TFS_COMPONENTS} forecaster" + +# Uncomment to activate E2E Orchestrator +#export TFS_COMPONENTS="${TFS_COMPONENTS} e2e_orchestrator" + # Set the tag you want to use for your images. export TFS_IMAGE_TAG="dev" -- GitLab From 227b8b001da5ab294dedb0b93d48eea26a01c673 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Thu, 14 Mar 2024 16:23:45 +0000 Subject: [PATCH 017/156] CI/CD pipeline: - Deactivating optical attack detector and mitigator tests as they are not stable --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 194e93a6d..5a9e05758 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -28,8 +28,8 @@ include: - local: '/src/device/.gitlab-ci.yml' - local: '/src/service/.gitlab-ci.yml' - local: '/src/dbscanserving/.gitlab-ci.yml' - - local: '/src/opticalattackmitigator/.gitlab-ci.yml' - - local: '/src/opticalattackdetector/.gitlab-ci.yml' + #- local: '/src/opticalattackmitigator/.gitlab-ci.yml' + #- local: '/src/opticalattackdetector/.gitlab-ci.yml' #- local: '/src/opticalattackmanager/.gitlab-ci.yml' - local: '/src/ztp/.gitlab-ci.yml' - local: '/src/policy/.gitlab-ci.yml' -- GitLab From 9b69d5e3fcac2f7cf6a09ca5bde75b68989a9a3b Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Thu, 14 Mar 2024 17:26:22 +0000 Subject: [PATCH 018/156] CI/CD pipeline: - Activating optical attack * build stages only - Activating ECOC test --- .gitlab-ci.yml | 6 +- src/opticalattackdetector/.gitlab-ci.yml | 124 +++++++++++----------- src/opticalattackmanager/.gitlab-ci.yml | 78 +++++++------- src/opticalattackmitigator/.gitlab-ci.yml | 70 ++++++------ src/tests/.gitlab-ci.yml | 2 +- src/tests/ecoc22/.gitlab-ci.yml | 50 +++++++++ src/tests/ecoc22/deploy_specs.sh | 22 +++- src/tests/ofc22/.gitlab-ci.yml | 13 +-- 8 files changed, 217 insertions(+), 148 deletions(-) create mode 100644 src/tests/ecoc22/.gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5a9e05758..064cedd15 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -28,9 +28,9 @@ include: - local: '/src/device/.gitlab-ci.yml' - local: '/src/service/.gitlab-ci.yml' - local: '/src/dbscanserving/.gitlab-ci.yml' - #- local: '/src/opticalattackmitigator/.gitlab-ci.yml' - #- local: '/src/opticalattackdetector/.gitlab-ci.yml' - #- local: '/src/opticalattackmanager/.gitlab-ci.yml' + - local: '/src/opticalattackmitigator/.gitlab-ci.yml' + - local: '/src/opticalattackdetector/.gitlab-ci.yml' + - local: '/src/opticalattackmanager/.gitlab-ci.yml' - local: '/src/ztp/.gitlab-ci.yml' - local: '/src/policy/.gitlab-ci.yml' - local: '/src/forecaster/.gitlab-ci.yml' diff --git a/src/opticalattackdetector/.gitlab-ci.yml b/src/opticalattackdetector/.gitlab-ci.yml index d329cd265..9b92c66fc 100644 --- a/src/opticalattackdetector/.gitlab-ci.yml +++ b/src/opticalattackdetector/.gitlab-ci.yml @@ -37,68 +37,68 @@ build opticalattackdetector: - manifests/${IMAGE_NAME}service.yaml - .gitlab-ci.yml -# apply unit test to the opticalattackdetector component -unit_test opticalattackdetector: - variables: - IMAGE_NAME: 'opticalattackdetector' # name of the microservice - IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) - stage: unit_test - needs: - - build opticalattackdetector - before_script: - - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - - if docker network list | grep teraflowbridge; then echo "teraflowbridge is already created"; else docker network create -d bridge teraflowbridge; fi - - if docker container ls | grep $IMAGE_NAME; then docker rm -f $IMAGE_NAME; else echo "$IMAGE_NAME image is not in the system"; fi - - if docker container ls | grep redis; then docker rm -f redis; else echo "redis image is not in the system"; fi - - if docker container ls | grep dbscanserving; then docker rm -f dbscanserving; else echo "dbscanserving image is not in the system"; fi - script: - - export REDIS_PASSWORD=$(uuidgen) - - docker pull "redis:7.0-alpine" - - docker run --name redis -d --network=teraflowbridge -p 16379:6379 -e REDIS_PASSWORD=${REDIS_PASSWORD} --rm redis:7.0-alpine redis-server --requirepass ${REDIS_PASSWORD} - - while ! docker logs redis 2>&1 | grep -q 'Ready to accept connections'; do sleep 1; done - - docker logs redis - - REDIS_ADDRESS=$(docker inspect redis --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}") - - docker pull "$CI_REGISTRY_IMAGE/dbscanserving:$IMAGE_TAG" - - docker run --name dbscanserving -d -p 10008:10008 --network=teraflowbridge --rm $CI_REGISTRY_IMAGE/dbscanserving:$IMAGE_TAG "python -m dbscanserving.service" - - docker logs dbscanserving - - DBSCANSERVING_ADDRESS=$(docker inspect dbscanserving --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}") - - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - - > - docker run --name $IMAGE_NAME -d -p 10006:10006 - -v "$PWD/src/$IMAGE_NAME/tests:/home/${IMAGE_NAME}/results" - -e REDIS_PASSWORD=${REDIS_PASSWORD} - -e DBSCANSERVINGSERVICE_SERVICE_HOST=${DBSCANSERVING_ADDRESS} - -e CACHINGSERVICE_SERVICE_HOST=${REDIS_ADDRESS} - --network=teraflowbridge --rm $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG - - sleep 5 - - docker ps -a - - docker logs $IMAGE_NAME - - docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=DEBUG --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/home/${IMAGE_NAME}/results/${IMAGE_NAME}_report.xml" - - docker logs redis - - docker logs dbscanserving - - docker logs $IMAGE_NAME - - docker exec -i $IMAGE_NAME bash -c "coverage xml -o /home/${IMAGE_NAME}/results/${IMAGE_NAME}_coverage.xml" - - docker exec -i $IMAGE_NAME bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" - coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' - after_script: - - docker rm -f $IMAGE_NAME - - docker rm -f redis - - docker rm -f dbscanserving - - docker network rm teraflowbridge - rules: - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' - - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' - - changes: - - src/$IMAGE_NAME/**/*.{py,in,yml} - - src/$IMAGE_NAME/Dockerfile - - src/$IMAGE_NAME/tests/*.py - - src/$IMAGE_NAME/tests/Dockerfile - - manifests/${IMAGE_NAME}service.yaml - - .gitlab-ci.yml - artifacts: - when: always - reports: - junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml +## apply unit test to the opticalattackdetector component +#unit_test opticalattackdetector: +# variables: +# IMAGE_NAME: 'opticalattackdetector' # name of the microservice +# IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) +# stage: unit_test +# needs: +# - build opticalattackdetector +# before_script: +# - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY +# - if docker network list | grep teraflowbridge; then echo "teraflowbridge is already created"; else docker network create -d bridge teraflowbridge; fi +# - if docker container ls | grep $IMAGE_NAME; then docker rm -f $IMAGE_NAME; else echo "$IMAGE_NAME image is not in the system"; fi +# - if docker container ls | grep redis; then docker rm -f redis; else echo "redis image is not in the system"; fi +# - if docker container ls | grep dbscanserving; then docker rm -f dbscanserving; else echo "dbscanserving image is not in the system"; fi +# script: +# - export REDIS_PASSWORD=$(uuidgen) +# - docker pull "redis:7.0-alpine" +# - docker run --name redis -d --network=teraflowbridge -p 16379:6379 -e REDIS_PASSWORD=${REDIS_PASSWORD} --rm redis:7.0-alpine redis-server --requirepass ${REDIS_PASSWORD} +# - while ! docker logs redis 2>&1 | grep -q 'Ready to accept connections'; do sleep 1; done +# - docker logs redis +# - REDIS_ADDRESS=$(docker inspect redis --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}") +# - docker pull "$CI_REGISTRY_IMAGE/dbscanserving:$IMAGE_TAG" +# - docker run --name dbscanserving -d -p 10008:10008 --network=teraflowbridge --rm $CI_REGISTRY_IMAGE/dbscanserving:$IMAGE_TAG "python -m dbscanserving.service" +# - docker logs dbscanserving +# - DBSCANSERVING_ADDRESS=$(docker inspect dbscanserving --format "{{.NetworkSettings.Networks.teraflowbridge.IPAddress}}") +# - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" +# - > +# docker run --name $IMAGE_NAME -d -p 10006:10006 +# -v "$PWD/src/$IMAGE_NAME/tests:/home/${IMAGE_NAME}/results" +# -e REDIS_PASSWORD=${REDIS_PASSWORD} +# -e DBSCANSERVINGSERVICE_SERVICE_HOST=${DBSCANSERVING_ADDRESS} +# -e CACHINGSERVICE_SERVICE_HOST=${REDIS_ADDRESS} +# --network=teraflowbridge --rm $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG +# - sleep 5 +# - docker ps -a +# - docker logs $IMAGE_NAME +# - docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=DEBUG --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/home/${IMAGE_NAME}/results/${IMAGE_NAME}_report.xml" +# - docker logs redis +# - docker logs dbscanserving +# - docker logs $IMAGE_NAME +# - docker exec -i $IMAGE_NAME bash -c "coverage xml -o /home/${IMAGE_NAME}/results/${IMAGE_NAME}_coverage.xml" +# - docker exec -i $IMAGE_NAME bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" +# coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' +# after_script: +# - docker rm -f $IMAGE_NAME +# - docker rm -f redis +# - docker rm -f dbscanserving +# - docker network rm teraflowbridge +# rules: +# - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' +# - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' +# - changes: +# - src/$IMAGE_NAME/**/*.{py,in,yml} +# - src/$IMAGE_NAME/Dockerfile +# - src/$IMAGE_NAME/tests/*.py +# - src/$IMAGE_NAME/tests/Dockerfile +# - manifests/${IMAGE_NAME}service.yaml +# - .gitlab-ci.yml +# artifacts: +# when: always +# reports: +# junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml # Deployment of the opticalattackdetector service in Kubernetes Cluster diff --git a/src/opticalattackmanager/.gitlab-ci.yml b/src/opticalattackmanager/.gitlab-ci.yml index 1fe77d315..56d3c9d4d 100644 --- a/src/opticalattackmanager/.gitlab-ci.yml +++ b/src/opticalattackmanager/.gitlab-ci.yml @@ -38,45 +38,45 @@ build opticalattackmanager: - manifests/${IMAGE_NAME}service.yaml - .gitlab-ci.yml -# Apply unit test to the component -unit_test opticalattackmanager: - variables: - IMAGE_NAME: 'opticalattackmanager' # name of the microservice - IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) - stage: unit_test - needs: - - build opticalattackmanager - before_script: - - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - - if docker network list | grep teraflowbridge; then echo "teraflowbridge is already created"; else docker network create -d bridge teraflowbridge; fi - - if docker container ls | grep $IMAGE_NAME; then docker rm -f $IMAGE_NAME; else echo "$IMAGE_NAME image is not in the system"; fi - script: - - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - - docker run --name $IMAGE_NAME -d -p 10005:10005 -e LOG_LEVEL=DEBUG -v "$PWD/src/$IMAGE_NAME/tests:/home/teraflow/controller/$IMAGE_NAME/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG - - docker ps -a - - docker logs $IMAGE_NAME - - docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=DEBUG --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/home/teraflow/controller/$IMAGE_NAME/results/${IMAGE_NAME}_report.xml; coverage report --include='${IMAGE_NAME}/*' --show-missing" - - ls -la src/$IMAGE_NAME/tests - coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' - after_script: - - docker rm -f $IMAGE_NAME - - docker network rm teraflowbridge - rules: - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' - - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' - - changes: - - src/common/**/*.py - - proto/*.proto - - src/$IMAGE_NAME/**/*.{py,in,yml} - - src/$IMAGE_NAME/Dockerfile - - src/$IMAGE_NAME/tests/*.py - - src/$IMAGE_NAME/tests/Dockerfile - - manifests/${IMAGE_NAME}service.yaml - - .gitlab-ci.yml - artifacts: - when: always - reports: - junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml +## Apply unit test to the component +#unit_test opticalattackmanager: +# variables: +# IMAGE_NAME: 'opticalattackmanager' # name of the microservice +# IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) +# stage: unit_test +# needs: +# - build opticalattackmanager +# before_script: +# - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY +# - if docker network list | grep teraflowbridge; then echo "teraflowbridge is already created"; else docker network create -d bridge teraflowbridge; fi +# - if docker container ls | grep $IMAGE_NAME; then docker rm -f $IMAGE_NAME; else echo "$IMAGE_NAME image is not in the system"; fi +# script: +# - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" +# - docker run --name $IMAGE_NAME -d -p 10005:10005 -e LOG_LEVEL=DEBUG -v "$PWD/src/$IMAGE_NAME/tests:/home/teraflow/controller/$IMAGE_NAME/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG +# - docker ps -a +# - docker logs $IMAGE_NAME +# - docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=DEBUG --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/home/teraflow/controller/$IMAGE_NAME/results/${IMAGE_NAME}_report.xml; coverage report --include='${IMAGE_NAME}/*' --show-missing" +# - ls -la src/$IMAGE_NAME/tests +# coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' +# after_script: +# - docker rm -f $IMAGE_NAME +# - docker network rm teraflowbridge +# rules: +# - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' +# - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' +# - changes: +# - src/common/**/*.py +# - proto/*.proto +# - src/$IMAGE_NAME/**/*.{py,in,yml} +# - src/$IMAGE_NAME/Dockerfile +# - src/$IMAGE_NAME/tests/*.py +# - src/$IMAGE_NAME/tests/Dockerfile +# - manifests/${IMAGE_NAME}service.yaml +# - .gitlab-ci.yml +# artifacts: +# when: always +# reports: +# junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml # Deployment of the service in Kubernetes Cluster # deploy opticalattackmanager: diff --git a/src/opticalattackmitigator/.gitlab-ci.yml b/src/opticalattackmitigator/.gitlab-ci.yml index 30eb94b1b..e684b94a7 100644 --- a/src/opticalattackmitigator/.gitlab-ci.yml +++ b/src/opticalattackmitigator/.gitlab-ci.yml @@ -36,41 +36,41 @@ build opticalattackmitigator: - manifests/${IMAGE_NAME}service.yaml - .gitlab-ci.yml -# apply unit test to the opticalattackmitigator component -unit_test opticalattackmitigator: - variables: - IMAGE_NAME: 'opticalattackmitigator' # name of the microservice - IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) - stage: unit_test - needs: - - build opticalattackmitigator - before_script: - - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - - if docker network list | grep teraflowbridge; then echo "teraflowbridge is already created"; else docker network create -d bridge teraflowbridge; fi - - if docker container ls | grep $IMAGE_NAME; then docker rm -f $IMAGE_NAME; else echo "$IMAGE_NAME container is not in the system"; fi - script: - - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - - docker run --name $IMAGE_NAME -d -p 10007:10007 -v "$PWD/src/$IMAGE_NAME/tests:/home/${IMAGE_NAME}/results" --network=teraflowbridge --rm $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG - - sleep 5 - - docker ps -a - - docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=DEBUG --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/home/${IMAGE_NAME}/results/${IMAGE_NAME}_report.xml; coverage xml -o /home/${IMAGE_NAME}/results/${IMAGE_NAME}_coverage.xml; coverage report --include='${IMAGE_NAME}/*' --show-missing" - coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' - after_script: - - docker rm -f $IMAGE_NAME - - docker network rm teraflowbridge - rules: - - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' - - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' - - changes: - - src/$IMAGE_NAME/**/*.{py,in,yml} - - src/$IMAGE_NAME/Dockerfile - - src/$IMAGE_NAME/tests/*.py - - manifests/${IMAGE_NAME}service.yaml - - .gitlab-ci.yml - artifacts: - when: always - reports: - junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml +## apply unit test to the opticalattackmitigator component +#unit_test opticalattackmitigator: +# variables: +# IMAGE_NAME: 'opticalattackmitigator' # name of the microservice +# IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) +# stage: unit_test +# needs: +# - build opticalattackmitigator +# before_script: +# - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY +# - if docker network list | grep teraflowbridge; then echo "teraflowbridge is already created"; else docker network create -d bridge teraflowbridge; fi +# - if docker container ls | grep $IMAGE_NAME; then docker rm -f $IMAGE_NAME; else echo "$IMAGE_NAME container is not in the system"; fi +# script: +# - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" +# - docker run --name $IMAGE_NAME -d -p 10007:10007 -v "$PWD/src/$IMAGE_NAME/tests:/home/${IMAGE_NAME}/results" --network=teraflowbridge --rm $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG +# - sleep 5 +# - docker ps -a +# - docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=DEBUG --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/home/${IMAGE_NAME}/results/${IMAGE_NAME}_report.xml; coverage xml -o /home/${IMAGE_NAME}/results/${IMAGE_NAME}_coverage.xml; coverage report --include='${IMAGE_NAME}/*' --show-missing" +# coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' +# after_script: +# - docker rm -f $IMAGE_NAME +# - docker network rm teraflowbridge +# rules: +# - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' +# - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' +# - changes: +# - src/$IMAGE_NAME/**/*.{py,in,yml} +# - src/$IMAGE_NAME/Dockerfile +# - src/$IMAGE_NAME/tests/*.py +# - manifests/${IMAGE_NAME}service.yaml +# - .gitlab-ci.yml +# artifacts: +# when: always +# reports: +# junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml # Deployment of the opticalattackmitigator service in Kubernetes Cluster diff --git a/src/tests/.gitlab-ci.yml b/src/tests/.gitlab-ci.yml index d48456b83..41b8bb36c 100644 --- a/src/tests/.gitlab-ci.yml +++ b/src/tests/.gitlab-ci.yml @@ -16,7 +16,7 @@ include: - local: '/src/tests/ofc22/.gitlab-ci.yml' #- local: '/src/tests/oeccpsc22/.gitlab-ci.yml' - #- local: '/src/tests/ecoc22/.gitlab-ci.yml' + - local: '/src/tests/ecoc22/.gitlab-ci.yml' #- local: '/src/tests/nfvsdn22/.gitlab-ci.yml' #- local: '/src/tests/ofc23/.gitlab-ci.yml' #- local: '/src/tests/ofc24/.gitlab-ci.yml' diff --git a/src/tests/ecoc22/.gitlab-ci.yml b/src/tests/ecoc22/.gitlab-ci.yml new file mode 100644 index 000000000..af0a7669e --- /dev/null +++ b/src/tests/ecoc22/.gitlab-ci.yml @@ -0,0 +1,50 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Build, tag, and push the Docker image to the GitLab Docker registry +end2end ecoc22: + variables: + TEST_NAME: 'ecoc22' + stage: end2end_test + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + script: + - source src/tests/${TEST_NAME}/deploy_specs.sh + - export TFS_REGISTRY_IMAGES="labs.etsi.org:5050/tfs/controller" + - export TFS_SKIP_BUILD="YES" + - export TFS_IMAGE_TAG="latest" + - ./deploy/crdb.sh + - ./deploy/nats.sh + - ./deploy/qdb.sh + - ./deploy/expose_dashboard.sh + - ./deploy/tfs.sh + - ./deploy/show.sh + - while ! kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server 2>&1 | grep -q 'Subscriber is Ready? True'; do sleep 1; done + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server + # Run the tests + - source tfs_runtime_env_vars.sh + - pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_bootstrap.py --junitxml=./src/tests/${TEST_NAME}/report_bootstrap.xml + - pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_create_service.py --junitxml=./src/tests/${TEST_NAME}/report_create_service.xml + - pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_delete_service.py --junitxml=./src/tests/${TEST_NAME}/report_delete_service.xml + - pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_cleanup.py --junitxml=./src/tests/${TEST_NAME}/report_cleanup.xml + after_script: + - docker images --filter="dangling=true" --quiet | xargs -r docker rmi + #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' + rules: + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' + artifacts: + when: always + reports: + junit: ./src/tests/${TEST_NAME}/report*.xml diff --git a/src/tests/ecoc22/deploy_specs.sh b/src/tests/ecoc22/deploy_specs.sh index f2a19f773..032a8e2bb 100755 --- a/src/tests/ecoc22/deploy_specs.sh +++ b/src/tests/ecoc22/deploy_specs.sh @@ -26,8 +26,17 @@ export TFS_COMPONENTS="context device pathcomp service slice nbi webui" # Uncomment to activate Monitoring #export TFS_COMPONENTS="${TFS_COMPONENTS} monitoring" -# Uncomment to activate ZTP and Policy Manager -#export TFS_COMPONENTS="${TFS_COMPONENTS} ztp policy" +# Uncomment to activate BGP-LS Speaker +#export TFS_COMPONENTS="${TFS_COMPONENTS} bgpls_speaker" + +# Uncomment to activate Optical Controller +#export TFS_COMPONENTS="${TFS_COMPONENTS} opticalcontroller" + +# Uncomment to activate ZTP +#export TFS_COMPONENTS="${TFS_COMPONENTS} ztp" + +# Uncomment to activate Policy Manager +#export TFS_COMPONENTS="${TFS_COMPONENTS} policy" # Uncomment to activate Optical CyberSecurity #export TFS_COMPONENTS="${TFS_COMPONENTS} dbscanserving opticalattackmitigator opticalattackdetector opticalattackmanager" @@ -35,6 +44,15 @@ export TFS_COMPONENTS="context device pathcomp service slice nbi webui" # Uncomment to activate L3 CyberSecurity #export TFS_COMPONENTS="${TFS_COMPONENTS} l3_attackmitigator l3_centralizedattackdetector" +# Uncomment to activate TE +#export TFS_COMPONENTS="${TFS_COMPONENTS} te" + +# Uncomment to activate Forecaster +#export TFS_COMPONENTS="${TFS_COMPONENTS} forecaster" + +# Uncomment to activate E2E Orchestrator +#export TFS_COMPONENTS="${TFS_COMPONENTS} e2e_orchestrator" + # Set the tag you want to use for your images. export TFS_IMAGE_TAG="dev" diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 54e00041f..4c9c444c8 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -32,11 +32,12 @@ end2end ofc22: - ./deploy/show.sh - while ! kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server 2>&1 | grep -q 'Subscriber is Ready? True'; do sleep 1; done - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server - ## Run the tests - #- > - # docker exec -i $IMAGE_NAME bash -c - # "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/opt/results/${IMAGE_NAME}_report.xml" - #- docker exec -i $IMAGE_NAME bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" + # Run the tests + - source tfs_runtime_env_vars.sh + - pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_bootstrap.py --junitxml=./src/tests/${TEST_NAME}/report_bootstrap.xml + - pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_create_service.py --junitxml=./src/tests/${TEST_NAME}/report_create_service.xml + - pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_delete_service.py --junitxml=./src/tests/${TEST_NAME}/report_delete_service.xml + - pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_cleanup.py --junitxml=./src/tests/${TEST_NAME}/report_cleanup.xml after_script: - docker images --filter="dangling=true" --quiet | xargs -r docker rmi #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' @@ -46,4 +47,4 @@ end2end ofc22: artifacts: when: always reports: - junit: src/tests/${TEST_NAME}/report*.xml + junit: ./src/tests/${TEST_NAME}/report*.xml -- GitLab From 42edfa817ef43e01be0bb8d417e36f18fb1d4afd Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 08:20:49 +0000 Subject: [PATCH 019/156] CI/CD pipeline: - Deactivating ECOC'22 test - Fixed execution of OFC'22 tests --- src/tests/.gitlab-ci.yml | 2 +- src/tests/ofc22/.gitlab-ci.yml | 47 +++++++++++++++++++---- src/tests/ofc22/Dockerfile | 68 +++++++++++++++++++++++++++++++++ src/tests/ofc22/requirements.in | 15 ++++++++ src/tests/ofc22/run_tests.sh | 8 ++-- 5 files changed, 128 insertions(+), 12 deletions(-) create mode 100644 src/tests/ofc22/Dockerfile create mode 100644 src/tests/ofc22/requirements.in diff --git a/src/tests/.gitlab-ci.yml b/src/tests/.gitlab-ci.yml index 41b8bb36c..d48456b83 100644 --- a/src/tests/.gitlab-ci.yml +++ b/src/tests/.gitlab-ci.yml @@ -16,7 +16,7 @@ include: - local: '/src/tests/ofc22/.gitlab-ci.yml' #- local: '/src/tests/oeccpsc22/.gitlab-ci.yml' - - local: '/src/tests/ecoc22/.gitlab-ci.yml' + #- local: '/src/tests/ecoc22/.gitlab-ci.yml' #- local: '/src/tests/nfvsdn22/.gitlab-ci.yml' #- local: '/src/tests/ofc23/.gitlab-ci.yml' #- local: '/src/tests/ofc24/.gitlab-ci.yml' diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 4c9c444c8..e40eb58d0 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -13,6 +13,30 @@ # limitations under the License. # Build, tag, and push the Docker image to the GitLab Docker registry +build end2end: + variables: + TEST_NAME: 'end2end' + IMAGE_TAG: 'latest' + stage: build + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + script: + - docker build -t "${TEST_NAME}:$IMAGE_TAG" -f ./src/tests/${TEST_NAME}/Dockerfile . + - docker tag "${TEST_NAME}:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/${TEST_NAME}:$IMAGE_TAG" + - docker push "$CI_REGISTRY_IMAGE/${TEST_NAME}:$IMAGE_TAG" + after_script: + - docker images --filter="dangling=true" --quiet | xargs -r docker rmi + rules: + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' + - changes: + - src/common/**/*.py + - proto/*.proto + - src/tests/${TEST_NAME}/**/*.{py,in,sh,yml} + - src/tests/${TEST_NAME}/Dockerfile + - .gitlab-ci.yml + +# Deploy TeraFlowSDN and Execute end-2-end test end2end ofc22: variables: TEST_NAME: 'ofc22' @@ -20,24 +44,33 @@ end2end ofc22: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: + # Configure TeraFlowSDN deployment - source src/tests/${TEST_NAME}/deploy_specs.sh - export TFS_REGISTRY_IMAGES="labs.etsi.org:5050/tfs/controller" - export TFS_SKIP_BUILD="YES" - export TFS_IMAGE_TAG="latest" + + # Deploy TeraFlowSDN - ./deploy/crdb.sh - ./deploy/nats.sh - ./deploy/qdb.sh - ./deploy/expose_dashboard.sh - ./deploy/tfs.sh - ./deploy/show.sh + + # Wait for Context to be subscribed to NATS - while ! kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server 2>&1 | grep -q 'Subscriber is Ready? True'; do sleep 1; done - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server - # Run the tests - - source tfs_runtime_env_vars.sh - - pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_bootstrap.py --junitxml=./src/tests/${TEST_NAME}/report_bootstrap.xml - - pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_create_service.py --junitxml=./src/tests/${TEST_NAME}/report_create_service.xml - - pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_delete_service.py --junitxml=./src/tests/${TEST_NAME}/report_delete_service.xml - - pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_cleanup.py --junitxml=./src/tests/${TEST_NAME}/report_cleanup.xml + + # Run end-to-end tests + - docker create --name ${TEST_NAME} -d -v "$PWD/src/tests/${TEST_NAME}/tests:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:$IMAGE_TAG ./run_tests.sh + - docker cp ./tfs_runtime_env_vars.sh ${TEST_NAME}:/var/teraflow/tests/${TEST_NAME} + - docker start + #- source tfs_runtime_env_vars.sh + #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_bootstrap.py --junitxml=./src/tests/${TEST_NAME}/report_bootstrap.xml + #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_create_service.py --junitxml=./src/tests/${TEST_NAME}/report_create_service.xml + #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_delete_service.py --junitxml=./src/tests/${TEST_NAME}/report_delete_service.xml + #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_cleanup.py --junitxml=./src/tests/${TEST_NAME}/report_cleanup.xml after_script: - docker images --filter="dangling=true" --quiet | xargs -r docker rmi #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' @@ -47,4 +80,4 @@ end2end ofc22: artifacts: when: always reports: - junit: ./src/tests/${TEST_NAME}/report*.xml + junit: ./src/tests/${TEST_NAME}/report_*.xml diff --git a/src/tests/ofc22/Dockerfile b/src/tests/ofc22/Dockerfile new file mode 100644 index 000000000..2dff67e69 --- /dev/null +++ b/src/tests/ofc22/Dockerfile @@ -0,0 +1,68 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM python:3.9-slim + +# Install dependencies +RUN apt-get --yes --quiet --quiet update && \ + apt-get --yes --quiet --quiet install wget g++ git && \ + rm -rf /var/lib/apt/lists/* + +# Set Python to show logs as they occur +ENV PYTHONUNBUFFERED=0 + +# Download the gRPC health probe +RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \ + wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && \ + chmod +x /bin/grpc_health_probe + +# Get generic Python packages +RUN python3 -m pip install --upgrade pip +RUN python3 -m pip install --upgrade setuptools wheel +RUN python3 -m pip install --upgrade pip-tools + +# Get common Python packages +# Note: this step enables sharing the previous Docker build steps among all the Python components +WORKDIR /var/teraflow +COPY common_requirements.in common_requirements.in +RUN pip-compile --quiet --output-file=common_requirements.txt common_requirements.in +RUN python3 -m pip install -r common_requirements.txt + +# Add common files into working directory +WORKDIR /var/teraflow/common +COPY src/common/. ./ +RUN rm -rf proto + +# Create proto sub-folder, copy .proto files, and generate Python code +RUN mkdir -p /var/teraflow/common/proto +WORKDIR /var/teraflow/common/proto +RUN touch __init__.py +COPY proto/*.proto ./ +RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto +RUN rm *.proto +RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \; + +# Create component sub-folders, get specific Python packages +RUN mkdir -p /var/teraflow/tests/ofc22 +WORKDIR /var/teraflow/tests/ofc22 +COPY src/tests/ofc22/requirements.in requirements.in +RUN pip-compile --quiet --output-file=requirements.txt requirements.in +RUN python3 -m pip install -r requirements.txt + +# Add component files into working directory +WORKDIR /var/teraflow/tests/ofc22 +COPY src/tests/ofc22/tests/. ./tests/ +COPY src/tests/ofc22/__init__.py __init__.py +COPY src/tests/ofc22/descriptors_emulated.json descriptors_emulated.json +COPY src/tests/ofc22/run_tests.sh run_tests.sh diff --git a/src/tests/ofc22/requirements.in b/src/tests/ofc22/requirements.in new file mode 100644 index 000000000..30b11e653 --- /dev/null +++ b/src/tests/ofc22/requirements.in @@ -0,0 +1,15 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +requests==2.27.* diff --git a/src/tests/ofc22/run_tests.sh b/src/tests/ofc22/run_tests.sh index fe87a2c54..860c1f96c 100755 --- a/src/tests/ofc22/run_tests.sh +++ b/src/tests/ofc22/run_tests.sh @@ -15,7 +15,7 @@ # Run functional tests source tfs_runtime_env_vars.sh -pytest --verbose --log-level=INFO src/tests/ofc22/tests/test_functional_bootstrap.py -pytest --verbose --log-level=INFO src/tests/ofc22/tests/test_functional_create_service.py -pytest --verbose --log-level=INFO src/tests/ofc22/tests/test_functional_delete_service.py -pytest --verbose --log-level=INFO src/tests/ofc22/tests/test_functional_cleanup.py +pytest --verbose --log-level=INFO ./src/tests/ofc22/tests/test_functional_bootstrap.py --junitxml=/opt/results/report_bootstrap.xml +pytest --verbose --log-level=INFO ./src/tests/ofc22/tests/test_functional_create_service.py --junitxml=/opt/results/report_create_service.xml +pytest --verbose --log-level=INFO ./src/tests/ofc22/tests/test_functional_delete_service.py --junitxml=/opt/results/report_delete_service.xml +pytest --verbose --log-level=INFO ./src/tests/ofc22/tests/test_functional_cleanup.py --junitxml=/opt/results/report_cleanup.xml -- GitLab From f038429a02f278eaa17d09615b237a9e8371c736 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 08:24:17 +0000 Subject: [PATCH 020/156] CI/CD pipeline: - Fixed build of OFC'22 tests --- src/tests/ofc22/.gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index e40eb58d0..5c749b9d1 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -13,9 +13,9 @@ # limitations under the License. # Build, tag, and push the Docker image to the GitLab Docker registry -build end2end: +build ofc22: variables: - TEST_NAME: 'end2end' + TEST_NAME: 'ofc22' IMAGE_TAG: 'latest' stage: build before_script: -- GitLab From ad3b1da540c5eb36d51386ce4b62d1a130591952 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 09:24:57 +0000 Subject: [PATCH 021/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/.gitlab-ci.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 5c749b9d1..e2c0c4931 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -44,6 +44,11 @@ end2end ofc22: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: + # Check MicroK8s is ready + - microk8s start + - microk8s status --wait-ready + - kubectl get pods --all-namespaces + # Configure TeraFlowSDN deployment - source src/tests/${TEST_NAME}/deploy_specs.sh - export TFS_REGISTRY_IMAGES="labs.etsi.org:5050/tfs/controller" @@ -63,7 +68,7 @@ end2end ofc22: - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server # Run end-to-end tests - - docker create --name ${TEST_NAME} -d -v "$PWD/src/tests/${TEST_NAME}/tests:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:$IMAGE_TAG ./run_tests.sh + - docker create --name ${TEST_NAME} -v "$PWD/src/tests/${TEST_NAME}/tests:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:$IMAGE_TAG ./run_tests.sh - docker cp ./tfs_runtime_env_vars.sh ${TEST_NAME}:/var/teraflow/tests/${TEST_NAME} - docker start #- source tfs_runtime_env_vars.sh -- GitLab From 9ae8c325f2acc7fa86f9d01ae30f009e1eba2704 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 09:39:12 +0000 Subject: [PATCH 022/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/.gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index e2c0c4931..db5ae633e 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -45,7 +45,6 @@ end2end ofc22: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: # Check MicroK8s is ready - - microk8s start - microk8s status --wait-ready - kubectl get pods --all-namespaces -- GitLab From 3c3954b29d2d127940e97dd0cfcc54961cd7e8c2 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 10:16:33 +0000 Subject: [PATCH 023/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- deploy/crdb.sh | 19 +++++++++++++------ deploy/qdb.sh | 14 +++++++++++--- src/tests/ofc22/.gitlab-ci.yml | 2 ++ 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/deploy/crdb.sh b/deploy/crdb.sh index 89ec72454..5b1a77a00 100755 --- a/deploy/crdb.sh +++ b/deploy/crdb.sh @@ -158,12 +158,19 @@ function crdb_undeploy_single() { function crdb_drop_database_single() { echo "Drop database if exists" - #kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o yaml - CRDB_HOST_SQL=$(kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o 'jsonpath={.spec.clusterIP}') - echo "CRDB_HOST_SQL=${CRDB_HOST_SQL}" - CRDB_PORT_SQL=$(kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o 'jsonpath={.spec.ports[?(@.name=="sql")].port}') - echo "CRDB_PORT_SQL=${CRDB_PORT_SQL}" - CRDB_CLIENT_URL="postgresql://${CRDB_USERNAME}:${CRDB_PASSWORD}@${CRDB_HOST_SQL}:${CRDB_PORT_SQL}/defaultdb?sslmode=require" + + if [[ -z "${GITLAB_CI}" ]]; then + #kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o yaml + CRDB_HOST=$(kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o 'jsonpath={.spec.clusterIP}') + CRDB_PORT=$(kubectl --namespace ${CRDB_NAMESPACE} get service cockroachdb-public -o 'jsonpath={.spec.ports[?(@.name=="sql")].port}') + else + CRDB_HOST="127.0.0.1" + CRDB_PORT=${CRDB_EXT_PORT_SQL} + fi + + echo "CRDB_HOST=${CRDB_HOST}" + echo "CRDB_PORT=${CRDB_PORT}" + CRDB_CLIENT_URL="postgresql://${CRDB_USERNAME}:${CRDB_PASSWORD}@${CRDB_HOST}:${CRDB_PORT}/defaultdb?sslmode=require" echo "CRDB_CLIENT_URL=${CRDB_CLIENT_URL}" kubectl exec -it --namespace ${CRDB_NAMESPACE} cockroachdb-0 -- \ ./cockroach sql --certs-dir=/cockroach/cockroach-certs --url=${CRDB_CLIENT_URL} \ diff --git a/deploy/qdb.sh b/deploy/qdb.sh index 09308cf4c..cca270b44 100755 --- a/deploy/qdb.sh +++ b/deploy/qdb.sh @@ -161,11 +161,19 @@ function qdb_undeploy() { function qdb_drop_tables() { echo "Drop tables, if exist" - #kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o yaml - QDB_HOST=$(kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o 'jsonpath={.spec.clusterIP}') + + if [[ -z "${GITLAB_CI}" ]]; then + #kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o yaml + QDB_HOST=$(kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o 'jsonpath={.spec.clusterIP}') + QDB_PORT=$(kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o 'jsonpath={.spec.ports[?(@.name=="http")].port}') + else + QDB_HOST="127.0.0.1" + QDB_PORT=${QDB_EXT_PORT_HTTP} + fi + echo "QDB_HOST=${QDB_HOST}" - QDB_PORT=$(kubectl --namespace ${QDB_NAMESPACE} get service questdb-public -o 'jsonpath={.spec.ports[?(@.name=="http")].port}') echo "QDB_PORT=${QDB_PORT}" + curl "http://${QDB_HOST}:${QDB_PORT}/exec?fmt=json&query=DROP+TABLE+IF+EXISTS+${QDB_TABLE_MONITORING_KPIS}+;" echo curl "http://${QDB_HOST}:${QDB_PORT}/exec?fmt=json&query=DROP+TABLE+IF+EXISTS+${QDB_TABLE_SLICE_GROUPS}+;" diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index db5ae633e..4a14c516f 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -40,9 +40,11 @@ build ofc22: end2end ofc22: variables: TEST_NAME: 'ofc22' + IMAGE_TAG: 'latest' stage: end2end_test before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + - docker pull "$CI_REGISTRY_IMAGE/${TEST_NAME}:$IMAGE_TAG" script: # Check MicroK8s is ready - microk8s status --wait-ready -- GitLab From 996c08ab548fa53117d417d5bc187ad1a500dbd2 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 13:49:55 +0000 Subject: [PATCH 024/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/.gitlab-ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 4a14c516f..822c06b48 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -44,8 +44,10 @@ end2end ofc22: stage: end2end_test before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - - docker pull "$CI_REGISTRY_IMAGE/${TEST_NAME}:$IMAGE_TAG" script: + # Download Docker image to run the test + - docker pull "$CI_REGISTRY_IMAGE/${TEST_NAME}:$IMAGE_TAG" + # Check MicroK8s is ready - microk8s status --wait-ready - kubectl get pods --all-namespaces -- GitLab From a92c789fe146f161b261599dabd8b2f078bfacf4 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 14:40:22 +0000 Subject: [PATCH 025/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/.gitlab-ci.yml | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 822c06b48..5a5851264 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -37,7 +37,7 @@ build ofc22: - .gitlab-ci.yml # Deploy TeraFlowSDN and Execute end-2-end test -end2end ofc22: +end2end_test ofc22: variables: TEST_NAME: 'ofc22' IMAGE_TAG: 'latest' @@ -45,8 +45,10 @@ end2end ofc22: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: + - echo "TEST_NAME=${TEST_NAME}" + - echo "IMAGE_TAG=${IMAGE_TAG}" # Download Docker image to run the test - - docker pull "$CI_REGISTRY_IMAGE/${TEST_NAME}:$IMAGE_TAG" + - docker pull "${CI_REGISTRY_IMAGE}/${TEST_NAME}:${IMAGE_TAG}" # Check MicroK8s is ready - microk8s status --wait-ready @@ -54,9 +56,11 @@ end2end ofc22: # Configure TeraFlowSDN deployment - source src/tests/${TEST_NAME}/deploy_specs.sh - - export TFS_REGISTRY_IMAGES="labs.etsi.org:5050/tfs/controller" + - export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" - export TFS_SKIP_BUILD="YES" - - export TFS_IMAGE_TAG="latest" + - export TFS_IMAGE_TAG="${IMAGE_TAG}" + - echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" + - echo "TFS_IMAGE_TAG=${IMAGE_TAG}" # Deploy TeraFlowSDN - ./deploy/crdb.sh -- GitLab From 8fc8f6cf27649cd856268eb08529b40b183864db Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 15:24:15 +0000 Subject: [PATCH 026/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/.gitlab-ci.yml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 5a5851264..ef911c29c 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -16,14 +16,13 @@ build ofc22: variables: TEST_NAME: 'ofc22' - IMAGE_TAG: 'latest' stage: build before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "${TEST_NAME}:$IMAGE_TAG" -f ./src/tests/${TEST_NAME}/Dockerfile . - - docker tag "${TEST_NAME}:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/${TEST_NAME}:$IMAGE_TAG" - - docker push "$CI_REGISTRY_IMAGE/${TEST_NAME}:$IMAGE_TAG" + - docker build -t "${TEST_NAME}:latest" -f ./src/tests/${TEST_NAME}/Dockerfile . + - docker tag "${TEST_NAME}:latest" "$CI_REGISTRY_IMAGE/${TEST_NAME}:latest" + - docker push "$CI_REGISTRY_IMAGE/${TEST_NAME}:latest" after_script: - docker images --filter="dangling=true" --quiet | xargs -r docker rmi rules: @@ -40,15 +39,12 @@ build ofc22: end2end_test ofc22: variables: TEST_NAME: 'ofc22' - IMAGE_TAG: 'latest' stage: end2end_test before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - echo "TEST_NAME=${TEST_NAME}" - - echo "IMAGE_TAG=${IMAGE_TAG}" # Download Docker image to run the test - - docker pull "${CI_REGISTRY_IMAGE}/${TEST_NAME}:${IMAGE_TAG}" + - docker pull "${CI_REGISTRY_IMAGE}/${TEST_NAME}:latest" # Check MicroK8s is ready - microk8s status --wait-ready @@ -58,9 +54,8 @@ end2end_test ofc22: - source src/tests/${TEST_NAME}/deploy_specs.sh - export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" - export TFS_SKIP_BUILD="YES" - - export TFS_IMAGE_TAG="${IMAGE_TAG}" + - export TFS_IMAGE_TAG="latest" - echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" - - echo "TFS_IMAGE_TAG=${IMAGE_TAG}" # Deploy TeraFlowSDN - ./deploy/crdb.sh @@ -75,7 +70,7 @@ end2end_test ofc22: - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server # Run end-to-end tests - - docker create --name ${TEST_NAME} -v "$PWD/src/tests/${TEST_NAME}/tests:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:$IMAGE_TAG ./run_tests.sh + - docker create --name ${TEST_NAME} -v "$PWD/src/tests/${TEST_NAME}/tests:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest ./run_tests.sh - docker cp ./tfs_runtime_env_vars.sh ${TEST_NAME}:/var/teraflow/tests/${TEST_NAME} - docker start #- source tfs_runtime_env_vars.sh -- GitLab From 0f242f07a01cf298ae2b3f2879803bb8b0021e1a Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 15:27:00 +0000 Subject: [PATCH 027/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- .gitlab-ci.yml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 064cedd15..9a454253f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,28 +22,28 @@ stages: # include the individual .gitlab-ci.yml of each micro-service and tests include: #- local: '/manifests/.gitlab-ci.yml' - - local: '/src/monitoring/.gitlab-ci.yml' - - local: '/src/nbi/.gitlab-ci.yml' - - local: '/src/context/.gitlab-ci.yml' - - local: '/src/device/.gitlab-ci.yml' - - local: '/src/service/.gitlab-ci.yml' - - local: '/src/dbscanserving/.gitlab-ci.yml' - - local: '/src/opticalattackmitigator/.gitlab-ci.yml' - - local: '/src/opticalattackdetector/.gitlab-ci.yml' - - local: '/src/opticalattackmanager/.gitlab-ci.yml' - - local: '/src/ztp/.gitlab-ci.yml' - - local: '/src/policy/.gitlab-ci.yml' - - local: '/src/forecaster/.gitlab-ci.yml' + ###- local: '/src/monitoring/.gitlab-ci.yml' + ###- local: '/src/nbi/.gitlab-ci.yml' + ###- local: '/src/context/.gitlab-ci.yml' + ###- local: '/src/device/.gitlab-ci.yml' + ###- local: '/src/service/.gitlab-ci.yml' + ###- local: '/src/dbscanserving/.gitlab-ci.yml' + ###- local: '/src/opticalattackmitigator/.gitlab-ci.yml' + ###- local: '/src/opticalattackdetector/.gitlab-ci.yml' + ###- local: '/src/opticalattackmanager/.gitlab-ci.yml' + ###- local: '/src/ztp/.gitlab-ci.yml' + ###- local: '/src/policy/.gitlab-ci.yml' + ###- local: '/src/forecaster/.gitlab-ci.yml' #- local: '/src/webui/.gitlab-ci.yml' #- local: '/src/l3_distributedattackdetector/.gitlab-ci.yml' #- local: '/src/l3_centralizedattackdetector/.gitlab-ci.yml' #- local: '/src/l3_attackmitigator/.gitlab-ci.yml' - - local: '/src/slice/.gitlab-ci.yml' + ###- local: '/src/slice/.gitlab-ci.yml' #- local: '/src/interdomain/.gitlab-ci.yml' - - local: '/src/pathcomp/.gitlab-ci.yml' + ###- local: '/src/pathcomp/.gitlab-ci.yml' #- local: '/src/dlt/.gitlab-ci.yml' - - local: '/src/load_generator/.gitlab-ci.yml' - - local: '/src/bgpls_speaker/.gitlab-ci.yml' + ###- local: '/src/load_generator/.gitlab-ci.yml' + ###- local: '/src/bgpls_speaker/.gitlab-ci.yml' # This should be last one: end-to-end integration tests - local: '/src/tests/.gitlab-ci.yml' -- GitLab From 272d3c67e11494cac911889fae81bdee88a9ab61 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 16:08:37 +0000 Subject: [PATCH 028/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index ef911c29c..1e091d454 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -72,7 +72,7 @@ end2end_test ofc22: # Run end-to-end tests - docker create --name ${TEST_NAME} -v "$PWD/src/tests/${TEST_NAME}/tests:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest ./run_tests.sh - docker cp ./tfs_runtime_env_vars.sh ${TEST_NAME}:/var/teraflow/tests/${TEST_NAME} - - docker start + - docker start ${TEST_NAME} #- source tfs_runtime_env_vars.sh #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_bootstrap.py --junitxml=./src/tests/${TEST_NAME}/report_bootstrap.xml #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_create_service.py --junitxml=./src/tests/${TEST_NAME}/report_create_service.xml -- GitLab From f449627fa7540b8572e005148943a0f98b4601f9 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 16:33:23 +0000 Subject: [PATCH 029/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/.gitlab-ci.yml | 4 +++- src/tests/ofc22/Dockerfile | 14 +++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 1e091d454..0f91997e0 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -70,9 +70,11 @@ end2end_test ofc22: - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server # Run end-to-end tests - - docker create --name ${TEST_NAME} -v "$PWD/src/tests/${TEST_NAME}/tests:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest ./run_tests.sh + - if docker container ls | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi + - docker create --name ${TEST_NAME} -v "$PWD/src/tests/${TEST_NAME}/tests:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest - docker cp ./tfs_runtime_env_vars.sh ${TEST_NAME}:/var/teraflow/tests/${TEST_NAME} - docker start ${TEST_NAME} + - docker rm -f ${TEST_NAME} #- source tfs_runtime_env_vars.sh #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_bootstrap.py --junitxml=./src/tests/${TEST_NAME}/report_bootstrap.xml #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_create_service.py --junitxml=./src/tests/${TEST_NAME}/report_create_service.xml diff --git a/src/tests/ofc22/Dockerfile b/src/tests/ofc22/Dockerfile index 2dff67e69..081b7e58f 100644 --- a/src/tests/ofc22/Dockerfile +++ b/src/tests/ofc22/Dockerfile @@ -65,4 +65,16 @@ WORKDIR /var/teraflow/tests/ofc22 COPY src/tests/ofc22/tests/. ./tests/ COPY src/tests/ofc22/__init__.py __init__.py COPY src/tests/ofc22/descriptors_emulated.json descriptors_emulated.json -COPY src/tests/ofc22/run_tests.sh run_tests.sh + +RUN tee ./run_tests.sh < Date: Fri, 15 Mar 2024 16:37:54 +0000 Subject: [PATCH 030/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 0f91997e0..5c5b77c42 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -74,13 +74,13 @@ end2end_test ofc22: - docker create --name ${TEST_NAME} -v "$PWD/src/tests/${TEST_NAME}/tests:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest - docker cp ./tfs_runtime_env_vars.sh ${TEST_NAME}:/var/teraflow/tests/${TEST_NAME} - docker start ${TEST_NAME} - - docker rm -f ${TEST_NAME} #- source tfs_runtime_env_vars.sh #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_bootstrap.py --junitxml=./src/tests/${TEST_NAME}/report_bootstrap.xml #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_create_service.py --junitxml=./src/tests/${TEST_NAME}/report_create_service.xml #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_delete_service.py --junitxml=./src/tests/${TEST_NAME}/report_delete_service.xml #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_cleanup.py --junitxml=./src/tests/${TEST_NAME}/report_cleanup.xml after_script: + - if docker container ls | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - docker images --filter="dangling=true" --quiet | xargs -r docker rmi #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' rules: -- GitLab From 43fb94df37ba1db50470193d21bdada2c7db09af Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 16:43:33 +0000 Subject: [PATCH 031/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/.gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 5c5b77c42..8bd20891b 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -70,7 +70,7 @@ end2end_test ofc22: - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server # Run end-to-end tests - - if docker container ls | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi + - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - docker create --name ${TEST_NAME} -v "$PWD/src/tests/${TEST_NAME}/tests:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest - docker cp ./tfs_runtime_env_vars.sh ${TEST_NAME}:/var/teraflow/tests/${TEST_NAME} - docker start ${TEST_NAME} @@ -80,7 +80,7 @@ end2end_test ofc22: #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_delete_service.py --junitxml=./src/tests/${TEST_NAME}/report_delete_service.xml #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_cleanup.py --junitxml=./src/tests/${TEST_NAME}/report_cleanup.xml after_script: - - if docker container ls | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi + - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - docker images --filter="dangling=true" --quiet | xargs -r docker rmi #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' rules: -- GitLab From ed7c7917c46290759aac569d4ce41056d8f66bfd Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 17:05:54 +0000 Subject: [PATCH 032/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/.gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 8bd20891b..7e780db34 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -74,6 +74,8 @@ end2end_test ofc22: - docker create --name ${TEST_NAME} -v "$PWD/src/tests/${TEST_NAME}/tests:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest - docker cp ./tfs_runtime_env_vars.sh ${TEST_NAME}:/var/teraflow/tests/${TEST_NAME} - docker start ${TEST_NAME} + - docker wait ${TEST_NAME} + - docker logs ${TEST_NAME} #- source tfs_runtime_env_vars.sh #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_bootstrap.py --junitxml=./src/tests/${TEST_NAME}/report_bootstrap.xml #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_create_service.py --junitxml=./src/tests/${TEST_NAME}/report_create_service.xml -- GitLab From be051a0faafc96b876b720eabbc90724e3c3594b Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 17:17:40 +0000 Subject: [PATCH 033/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/Dockerfile | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/tests/ofc22/Dockerfile b/src/tests/ofc22/Dockerfile index 081b7e58f..ae2e7d8e9 100644 --- a/src/tests/ofc22/Dockerfile +++ b/src/tests/ofc22/Dockerfile @@ -61,10 +61,13 @@ RUN pip-compile --quiet --output-file=requirements.txt requirements.in RUN python3 -m pip install -r requirements.txt # Add component files into working directory -WORKDIR /var/teraflow/tests/ofc22 -COPY src/tests/ofc22/tests/. ./tests/ -COPY src/tests/ofc22/__init__.py __init__.py -COPY src/tests/ofc22/descriptors_emulated.json descriptors_emulated.json +WORKDIR /var/teraflow +COPY src/common/. ./common/ +COPY src/tests/ofc22/tests/. ./tests/ofc22/tests/ +COPY src/__init__.py ./__init__.py +COPY src/tests/__init__.py ./tests/__init__.py +COPY src/tests/ofc22/__init__.py ./tests/ofc22/__init__.py +COPY src/tests/ofc22/descriptors_emulated.json ./tests/ofc22/descriptors_emulated.json RUN tee ./run_tests.sh < Date: Fri, 15 Mar 2024 17:28:02 +0000 Subject: [PATCH 034/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/Dockerfile | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/tests/ofc22/Dockerfile b/src/tests/ofc22/Dockerfile index ae2e7d8e9..0c4bba900 100644 --- a/src/tests/ofc22/Dockerfile +++ b/src/tests/ofc22/Dockerfile @@ -62,12 +62,21 @@ RUN python3 -m pip install -r requirements.txt # Add component files into working directory WORKDIR /var/teraflow -COPY src/common/. ./common/ -COPY src/tests/ofc22/tests/. ./tests/ofc22/tests/ COPY src/__init__.py ./__init__.py -COPY src/tests/__init__.py ./tests/__init__.py +COPY src/common/*.py ./common/ +COPY src/common/tests/. ./common/tests/ +COPY src/common/tools/. ./common/tools/ +COPY src/context/__init__.py context/__init__.py +COPY src/context/client/. context/client/ +COPY src/device/__init__.py device/__init__.py +COPY src/device/client/. device/client/ +COPY src/monitoring/__init__.py monitoring/__init__.py +COPY src/monitoring/client/. monitoring/client/ +COPY src/tests/*.py ./tests/ COPY src/tests/ofc22/__init__.py ./tests/ofc22/__init__.py COPY src/tests/ofc22/descriptors_emulated.json ./tests/ofc22/descriptors_emulated.json +COPY src/tests/ofc22/tests/. ./tests/ofc22/tests/ +COPY src/tests/tools/. ./tests/tools/ RUN tee ./run_tests.sh < Date: Fri, 15 Mar 2024 17:38:46 +0000 Subject: [PATCH 035/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/.gitlab-ci.yml | 2 +- src/tests/ofc22/Dockerfile | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 7e780db34..dca898563 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -72,7 +72,7 @@ end2end_test ofc22: # Run end-to-end tests - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - docker create --name ${TEST_NAME} -v "$PWD/src/tests/${TEST_NAME}/tests:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest - - docker cp ./tfs_runtime_env_vars.sh ${TEST_NAME}:/var/teraflow/tests/${TEST_NAME} + - docker cp ./tfs_runtime_env_vars.sh ${TEST_NAME}:/var/teraflow/ - docker start ${TEST_NAME} - docker wait ${TEST_NAME} - docker logs ${TEST_NAME} diff --git a/src/tests/ofc22/Dockerfile b/src/tests/ofc22/Dockerfile index 0c4bba900..c2a07c687 100644 --- a/src/tests/ofc22/Dockerfile +++ b/src/tests/ofc22/Dockerfile @@ -80,7 +80,8 @@ COPY src/tests/tools/. ./tests/tools/ RUN tee ./run_tests.sh < Date: Fri, 15 Mar 2024 17:53:11 +0000 Subject: [PATCH 036/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/Dockerfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/tests/ofc22/Dockerfile b/src/tests/ofc22/Dockerfile index c2a07c687..532da0727 100644 --- a/src/tests/ofc22/Dockerfile +++ b/src/tests/ofc22/Dockerfile @@ -72,6 +72,12 @@ COPY src/device/__init__.py device/__init__.py COPY src/device/client/. device/client/ COPY src/monitoring/__init__.py monitoring/__init__.py COPY src/monitoring/client/. monitoring/client/ +COPY src/monitoring/__init__.py monitoring/__init__.py +COPY src/monitoring/client/. monitoring/client/ +COPY src/e2e_orchestrator/__init__.py e2e_orchestrator/__init__.py +COPY src/e2e_orchestrator/client/. e2e_orchestrator/client/ +COPY src/service/__init__.py service/__init__.py +COPY src/service/client/. service/client/ COPY src/tests/*.py ./tests/ COPY src/tests/ofc22/__init__.py ./tests/ofc22/__init__.py COPY src/tests/ofc22/descriptors_emulated.json ./tests/ofc22/descriptors_emulated.json -- GitLab From 98173a42aab81ea694743880a40b0fb1f3708eea Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 18:27:29 +0000 Subject: [PATCH 037/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/tests/ofc22/Dockerfile b/src/tests/ofc22/Dockerfile index 532da0727..4817bd93a 100644 --- a/src/tests/ofc22/Dockerfile +++ b/src/tests/ofc22/Dockerfile @@ -78,6 +78,8 @@ COPY src/e2e_orchestrator/__init__.py e2e_orchestrator/__init__.py COPY src/e2e_orchestrator/client/. e2e_orchestrator/client/ COPY src/service/__init__.py service/__init__.py COPY src/service/client/. service/client/ +COPY src/slice/__init__.py slice/__init__.py +COPY src/slice/client/. slice/client/ COPY src/tests/*.py ./tests/ COPY src/tests/ofc22/__init__.py ./tests/ofc22/__init__.py COPY src/tests/ofc22/descriptors_emulated.json ./tests/ofc22/descriptors_emulated.json -- GitLab From a8c155e54574a53221899a113a0736ebb90e5d09 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 18:42:13 +0000 Subject: [PATCH 038/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/tests/test_functional_bootstrap.py | 4 ++-- src/tests/ofc22/tests/test_functional_cleanup.py | 4 ++-- src/tests/ofc22/tests/test_functional_create_service.py | 4 ++-- src/tests/ofc22/tests/test_functional_delete_service.py | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/tests/ofc22/tests/test_functional_bootstrap.py b/src/tests/ofc22/tests/test_functional_bootstrap.py index f14960492..5cc1353ff 100644 --- a/src/tests/ofc22/tests/test_functional_bootstrap.py +++ b/src/tests/ofc22/tests/test_functional_bootstrap.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -import logging, time +import logging, os, time from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum, Empty from common.proto.monitoring_pb2 import KpiDescriptorList @@ -26,7 +26,7 @@ from tests.Fixtures import context_client, device_client, monitoring_client # py LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) -DESCRIPTOR_FILE = 'ofc22/descriptors_emulated.json' +DESCRIPTOR_FILE = os.path.dirname(os.path.abspath(__file__)) + '/descriptors_emulated.json' ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) def test_scenario_bootstrap( diff --git a/src/tests/ofc22/tests/test_functional_cleanup.py b/src/tests/ofc22/tests/test_functional_cleanup.py index 122526840..9eeeb6387 100644 --- a/src/tests/ofc22/tests/test_functional_cleanup.py +++ b/src/tests/ofc22/tests/test_functional_cleanup.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -import logging +import logging, os from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId from common.tools.descriptor.Loader import DescriptorLoader, validate_empty_scenario @@ -24,7 +24,7 @@ from tests.Fixtures import context_client, device_client # pylint: disable=un LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) -DESCRIPTOR_FILE = 'ofc22/descriptors_emulated.json' +DESCRIPTOR_FILE = os.path.dirname(os.path.abspath(__file__)) + '/descriptors_emulated.json' ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) def test_scenario_cleanup( diff --git a/src/tests/ofc22/tests/test_functional_create_service.py b/src/tests/ofc22/tests/test_functional_create_service.py index dd7761f38..5a64825cd 100644 --- a/src/tests/ofc22/tests/test_functional_create_service.py +++ b/src/tests/ofc22/tests/test_functional_create_service.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -import logging, random +import logging, os, random from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId, Empty, ServiceTypeEnum from common.proto.kpi_sample_types_pb2 import KpiSampleType @@ -29,7 +29,7 @@ from .Objects import WIM_SERVICE_CONNECTION_POINTS, WIM_SERVICE_TYPE LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) -DESCRIPTOR_FILE = 'ofc22/descriptors_emulated.json' +DESCRIPTOR_FILE = os.path.dirname(os.path.abspath(__file__)) + '/descriptors_emulated.json' ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) def test_service_creation(context_client : ContextClient, osm_wim : MockOSM): # pylint: disable=redefined-outer-name diff --git a/src/tests/ofc22/tests/test_functional_delete_service.py b/src/tests/ofc22/tests/test_functional_delete_service.py index 4fffc115e..649b1abc2 100644 --- a/src/tests/ofc22/tests/test_functional_delete_service.py +++ b/src/tests/ofc22/tests/test_functional_delete_service.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -import logging +import logging, os from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId, ServiceTypeEnum from common.tools.descriptor.Loader import DescriptorLoader @@ -26,7 +26,7 @@ from .Fixtures import osm_wim # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) -DESCRIPTOR_FILE = 'ofc22/descriptors_emulated.json' +DESCRIPTOR_FILE = os.path.dirname(os.path.abspath(__file__)) + '/descriptors_emulated.json' ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) def test_service_removal(context_client : ContextClient, osm_wim : MockOSM): # pylint: disable=redefined-outer-name -- GitLab From 6325a79839f71c3f535a06c5e224659779e9f1d9 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 19:16:05 +0000 Subject: [PATCH 039/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index dca898563..50c926c2c 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -71,7 +71,7 @@ end2end_test ofc22: # Run end-to-end tests - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - - docker create --name ${TEST_NAME} -v "$PWD/src/tests/${TEST_NAME}/tests:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest + - docker create --name ${TEST_NAME} --network=host -v "$PWD/src/tests/${TEST_NAME}/tests:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest - docker cp ./tfs_runtime_env_vars.sh ${TEST_NAME}:/var/teraflow/ - docker start ${TEST_NAME} - docker wait ${TEST_NAME} -- GitLab From 895cf8cb15cc9175f5d649af66a76d5af5adc949 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 19:27:11 +0000 Subject: [PATCH 040/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/tests/test_functional_bootstrap.py | 2 +- src/tests/ofc22/tests/test_functional_cleanup.py | 2 +- src/tests/ofc22/tests/test_functional_create_service.py | 2 +- src/tests/ofc22/tests/test_functional_delete_service.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/tests/ofc22/tests/test_functional_bootstrap.py b/src/tests/ofc22/tests/test_functional_bootstrap.py index 5cc1353ff..8b1f98cd1 100644 --- a/src/tests/ofc22/tests/test_functional_bootstrap.py +++ b/src/tests/ofc22/tests/test_functional_bootstrap.py @@ -26,7 +26,7 @@ from tests.Fixtures import context_client, device_client, monitoring_client # py LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) -DESCRIPTOR_FILE = os.path.dirname(os.path.abspath(__file__)) + '/descriptors_emulated.json' +DESCRIPTOR_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'descriptors_emulated.json') ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) def test_scenario_bootstrap( diff --git a/src/tests/ofc22/tests/test_functional_cleanup.py b/src/tests/ofc22/tests/test_functional_cleanup.py index 9eeeb6387..b1396f49a 100644 --- a/src/tests/ofc22/tests/test_functional_cleanup.py +++ b/src/tests/ofc22/tests/test_functional_cleanup.py @@ -24,7 +24,7 @@ from tests.Fixtures import context_client, device_client # pylint: disable=un LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) -DESCRIPTOR_FILE = os.path.dirname(os.path.abspath(__file__)) + '/descriptors_emulated.json' +DESCRIPTOR_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'descriptors_emulated.json') ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) def test_scenario_cleanup( diff --git a/src/tests/ofc22/tests/test_functional_create_service.py b/src/tests/ofc22/tests/test_functional_create_service.py index 5a64825cd..74c74483e 100644 --- a/src/tests/ofc22/tests/test_functional_create_service.py +++ b/src/tests/ofc22/tests/test_functional_create_service.py @@ -29,7 +29,7 @@ from .Objects import WIM_SERVICE_CONNECTION_POINTS, WIM_SERVICE_TYPE LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) -DESCRIPTOR_FILE = os.path.dirname(os.path.abspath(__file__)) + '/descriptors_emulated.json' +DESCRIPTOR_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'descriptors_emulated.json') ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) def test_service_creation(context_client : ContextClient, osm_wim : MockOSM): # pylint: disable=redefined-outer-name diff --git a/src/tests/ofc22/tests/test_functional_delete_service.py b/src/tests/ofc22/tests/test_functional_delete_service.py index 649b1abc2..daff29064 100644 --- a/src/tests/ofc22/tests/test_functional_delete_service.py +++ b/src/tests/ofc22/tests/test_functional_delete_service.py @@ -26,7 +26,7 @@ from .Fixtures import osm_wim # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) -DESCRIPTOR_FILE = os.path.dirname(os.path.abspath(__file__)) + '/descriptors_emulated.json' +DESCRIPTOR_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'descriptors_emulated.json') ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) def test_service_removal(context_client : ContextClient, osm_wim : MockOSM): # pylint: disable=redefined-outer-name -- GitLab From fbbc29e8cfc69606d3327132cb9698c9ac31426e Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 19:39:51 +0000 Subject: [PATCH 041/156] CI/CD pipeline: - Fixed execution of OFC'22 tests --- src/tests/ofc22/.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 50c926c2c..fcc11fee8 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -71,7 +71,7 @@ end2end_test ofc22: # Run end-to-end tests - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - - docker create --name ${TEST_NAME} --network=host -v "$PWD/src/tests/${TEST_NAME}/tests:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest + - docker create --name ${TEST_NAME} --network=host -v "$PWD/src/tests/${TEST_NAME}:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest - docker cp ./tfs_runtime_env_vars.sh ${TEST_NAME}:/var/teraflow/ - docker start ${TEST_NAME} - docker wait ${TEST_NAME} -- GitLab From d4cf64edffa1012d1d0884f6fc14921a633a76dd Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 19:40:20 +0000 Subject: [PATCH 042/156] Service component: - Removed wrongly-placed method call in task executor --- src/service/service/task_scheduler/TaskExecutor.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/service/service/task_scheduler/TaskExecutor.py b/src/service/service/task_scheduler/TaskExecutor.py index b9715aae6..537962632 100644 --- a/src/service/service/task_scheduler/TaskExecutor.py +++ b/src/service/service/task_scheduler/TaskExecutor.py @@ -112,7 +112,6 @@ class TaskExecutor: return device def configure_device(self, device : Device) -> None: - self._context_client.SelectOpticalConfig() device_key = get_device_key(device.device_id) self._device_client.ConfigureDevice(device) self._store_grpc_object(CacheableObjectType.DEVICE, device_key, device) -- GitLab From 041f860409e069a11abacdc1d35bb279c6aa4e68 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 21:01:30 +0000 Subject: [PATCH 043/156] Deploy scripts: - Code cleanup --- deploy/crdb.sh | 2 -- deploy/qdb.sh | 3 --- 2 files changed, 5 deletions(-) diff --git a/deploy/crdb.sh b/deploy/crdb.sh index 5b1a77a00..b2ff1b03b 100755 --- a/deploy/crdb.sh +++ b/deploy/crdb.sh @@ -168,8 +168,6 @@ function crdb_drop_database_single() { CRDB_PORT=${CRDB_EXT_PORT_SQL} fi - echo "CRDB_HOST=${CRDB_HOST}" - echo "CRDB_PORT=${CRDB_PORT}" CRDB_CLIENT_URL="postgresql://${CRDB_USERNAME}:${CRDB_PASSWORD}@${CRDB_HOST}:${CRDB_PORT}/defaultdb?sslmode=require" echo "CRDB_CLIENT_URL=${CRDB_CLIENT_URL}" kubectl exec -it --namespace ${CRDB_NAMESPACE} cockroachdb-0 -- \ diff --git a/deploy/qdb.sh b/deploy/qdb.sh index cca270b44..3235c6c82 100755 --- a/deploy/qdb.sh +++ b/deploy/qdb.sh @@ -171,9 +171,6 @@ function qdb_drop_tables() { QDB_PORT=${QDB_EXT_PORT_HTTP} fi - echo "QDB_HOST=${QDB_HOST}" - echo "QDB_PORT=${QDB_PORT}" - curl "http://${QDB_HOST}:${QDB_PORT}/exec?fmt=json&query=DROP+TABLE+IF+EXISTS+${QDB_TABLE_MONITORING_KPIS}+;" echo curl "http://${QDB_HOST}:${QDB_PORT}/exec?fmt=json&query=DROP+TABLE+IF+EXISTS+${QDB_TABLE_SLICE_GROUPS}+;" -- GitLab From 871f4de78be581f938a98b040fab1049e45e3652 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 21:02:26 +0000 Subject: [PATCH 044/156] ECOC'22 test: - Updated and containerized test - Adapted CI/CD pipeline - Activated CI/CD pipeline --- src/tests/.gitlab-ci.yml | 2 +- src/tests/ecoc22/.gitlab-ci.yml | 62 +++++++++-- src/tests/ecoc22/Dockerfile | 101 ++++++++++++++++++ src/tests/ecoc22/requirements.in | 15 +++ .../ecoc22/tests/test_functional_bootstrap.py | 4 +- .../ecoc22/tests/test_functional_cleanup.py | 4 +- .../tests/test_functional_create_service.py | 4 +- .../tests/test_functional_delete_service.py | 4 +- 8 files changed, 178 insertions(+), 18 deletions(-) create mode 100644 src/tests/ecoc22/Dockerfile create mode 100644 src/tests/ecoc22/requirements.in diff --git a/src/tests/.gitlab-ci.yml b/src/tests/.gitlab-ci.yml index d48456b83..41b8bb36c 100644 --- a/src/tests/.gitlab-ci.yml +++ b/src/tests/.gitlab-ci.yml @@ -16,7 +16,7 @@ include: - local: '/src/tests/ofc22/.gitlab-ci.yml' #- local: '/src/tests/oeccpsc22/.gitlab-ci.yml' - #- local: '/src/tests/ecoc22/.gitlab-ci.yml' + - local: '/src/tests/ecoc22/.gitlab-ci.yml' #- local: '/src/tests/nfvsdn22/.gitlab-ci.yml' #- local: '/src/tests/ofc23/.gitlab-ci.yml' #- local: '/src/tests/ofc24/.gitlab-ci.yml' diff --git a/src/tests/ecoc22/.gitlab-ci.yml b/src/tests/ecoc22/.gitlab-ci.yml index af0a7669e..8bf2929e6 100644 --- a/src/tests/ecoc22/.gitlab-ci.yml +++ b/src/tests/ecoc22/.gitlab-ci.yml @@ -13,32 +13,76 @@ # limitations under the License. # Build, tag, and push the Docker image to the GitLab Docker registry -end2end ecoc22: +build ecoc22: + variables: + TEST_NAME: 'ecoc22' + stage: build + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + script: + - docker build -t "${TEST_NAME}:latest" -f ./src/tests/${TEST_NAME}/Dockerfile . + - docker tag "${TEST_NAME}:latest" "$CI_REGISTRY_IMAGE/${TEST_NAME}:latest" + - docker push "$CI_REGISTRY_IMAGE/${TEST_NAME}:latest" + after_script: + - docker images --filter="dangling=true" --quiet | xargs -r docker rmi + rules: + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' + - changes: + - src/common/**/*.py + - proto/*.proto + - src/tests/${TEST_NAME}/**/*.{py,in,sh,yml} + - src/tests/${TEST_NAME}/Dockerfile + - .gitlab-ci.yml + +# Deploy TeraFlowSDN and Execute end-2-end test +end2end_test ecoc22: variables: TEST_NAME: 'ecoc22' stage: end2end_test before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: + # Download Docker image to run the test + - docker pull "${CI_REGISTRY_IMAGE}/${TEST_NAME}:latest" + + # Check MicroK8s is ready + - microk8s status --wait-ready + - kubectl get pods --all-namespaces + + # Configure TeraFlowSDN deployment - source src/tests/${TEST_NAME}/deploy_specs.sh - - export TFS_REGISTRY_IMAGES="labs.etsi.org:5050/tfs/controller" + - export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" - export TFS_SKIP_BUILD="YES" - export TFS_IMAGE_TAG="latest" + - echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" + + # Deploy TeraFlowSDN - ./deploy/crdb.sh - ./deploy/nats.sh - ./deploy/qdb.sh - ./deploy/expose_dashboard.sh - ./deploy/tfs.sh - ./deploy/show.sh + + # Wait for Context to be subscribed to NATS - while ! kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server 2>&1 | grep -q 'Subscriber is Ready? True'; do sleep 1; done - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server - # Run the tests - - source tfs_runtime_env_vars.sh - - pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_bootstrap.py --junitxml=./src/tests/${TEST_NAME}/report_bootstrap.xml - - pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_create_service.py --junitxml=./src/tests/${TEST_NAME}/report_create_service.xml - - pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_delete_service.py --junitxml=./src/tests/${TEST_NAME}/report_delete_service.xml - - pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_cleanup.py --junitxml=./src/tests/${TEST_NAME}/report_cleanup.xml + + # Run end-to-end tests + - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi + - docker create --name ${TEST_NAME} --network=host -v "$PWD/src/tests/${TEST_NAME}:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest + - docker cp ./tfs_runtime_env_vars.sh ${TEST_NAME}:/var/teraflow/ + - docker start ${TEST_NAME} + - docker wait ${TEST_NAME} + - docker logs ${TEST_NAME} + #- source tfs_runtime_env_vars.sh + #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_bootstrap.py --junitxml=./src/tests/${TEST_NAME}/report_bootstrap.xml + #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_create_service.py --junitxml=./src/tests/${TEST_NAME}/report_create_service.xml + #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_delete_service.py --junitxml=./src/tests/${TEST_NAME}/report_delete_service.xml + #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_cleanup.py --junitxml=./src/tests/${TEST_NAME}/report_cleanup.xml after_script: + - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - docker images --filter="dangling=true" --quiet | xargs -r docker rmi #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' rules: @@ -47,4 +91,4 @@ end2end ecoc22: artifacts: when: always reports: - junit: ./src/tests/${TEST_NAME}/report*.xml + junit: ./src/tests/${TEST_NAME}/report_*.xml diff --git a/src/tests/ecoc22/Dockerfile b/src/tests/ecoc22/Dockerfile new file mode 100644 index 000000000..3ac134a38 --- /dev/null +++ b/src/tests/ecoc22/Dockerfile @@ -0,0 +1,101 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM python:3.9-slim + +# Install dependencies +RUN apt-get --yes --quiet --quiet update && \ + apt-get --yes --quiet --quiet install wget g++ git && \ + rm -rf /var/lib/apt/lists/* + +# Set Python to show logs as they occur +ENV PYTHONUNBUFFERED=0 + +# Download the gRPC health probe +RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \ + wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && \ + chmod +x /bin/grpc_health_probe + +# Get generic Python packages +RUN python3 -m pip install --upgrade pip +RUN python3 -m pip install --upgrade setuptools wheel +RUN python3 -m pip install --upgrade pip-tools + +# Get common Python packages +# Note: this step enables sharing the previous Docker build steps among all the Python components +WORKDIR /var/teraflow +COPY common_requirements.in common_requirements.in +RUN pip-compile --quiet --output-file=common_requirements.txt common_requirements.in +RUN python3 -m pip install -r common_requirements.txt + +# Add common files into working directory +WORKDIR /var/teraflow/common +COPY src/common/. ./ +RUN rm -rf proto + +# Create proto sub-folder, copy .proto files, and generate Python code +RUN mkdir -p /var/teraflow/common/proto +WORKDIR /var/teraflow/common/proto +RUN touch __init__.py +COPY proto/*.proto ./ +RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto +RUN rm *.proto +RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \; + +# Create component sub-folders, get specific Python packages +RUN mkdir -p /var/teraflow/tests/ecoc22 +WORKDIR /var/teraflow/tests/ecoc22 +COPY src/tests/ecoc22/requirements.in requirements.in +RUN pip-compile --quiet --output-file=requirements.txt requirements.in +RUN python3 -m pip install -r requirements.txt + +# Add component files into working directory +WORKDIR /var/teraflow +COPY src/__init__.py ./__init__.py +COPY src/common/*.py ./common/ +COPY src/common/tests/. ./common/tests/ +COPY src/common/tools/. ./common/tools/ +COPY src/context/__init__.py context/__init__.py +COPY src/context/client/. context/client/ +COPY src/device/__init__.py device/__init__.py +COPY src/device/client/. device/client/ +COPY src/monitoring/__init__.py monitoring/__init__.py +COPY src/monitoring/client/. monitoring/client/ +COPY src/monitoring/__init__.py monitoring/__init__.py +COPY src/monitoring/client/. monitoring/client/ +COPY src/e2e_orchestrator/__init__.py e2e_orchestrator/__init__.py +COPY src/e2e_orchestrator/client/. e2e_orchestrator/client/ +COPY src/service/__init__.py service/__init__.py +COPY src/service/client/. service/client/ +COPY src/slice/__init__.py slice/__init__.py +COPY src/slice/client/. slice/client/ +COPY src/tests/*.py ./tests/ +COPY src/tests/ecoc22/__init__.py ./tests/ecoc22/__init__.py +COPY src/tests/ecoc22/descriptors_emulated.json ./tests/ecoc22/descriptors_emulated.json +COPY src/tests/ecoc22/tests/. ./tests/ecoc22/tests/ +COPY src/tests/tools/. ./tests/tools/ + +RUN tee ./run_tests.sh < Date: Fri, 15 Mar 2024 21:02:44 +0000 Subject: [PATCH 045/156] OFC'22 tests: - Reverted unneeded script changes --- src/tests/ofc22/run_tests.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/tests/ofc22/run_tests.sh b/src/tests/ofc22/run_tests.sh index 860c1f96c..fe87a2c54 100755 --- a/src/tests/ofc22/run_tests.sh +++ b/src/tests/ofc22/run_tests.sh @@ -15,7 +15,7 @@ # Run functional tests source tfs_runtime_env_vars.sh -pytest --verbose --log-level=INFO ./src/tests/ofc22/tests/test_functional_bootstrap.py --junitxml=/opt/results/report_bootstrap.xml -pytest --verbose --log-level=INFO ./src/tests/ofc22/tests/test_functional_create_service.py --junitxml=/opt/results/report_create_service.xml -pytest --verbose --log-level=INFO ./src/tests/ofc22/tests/test_functional_delete_service.py --junitxml=/opt/results/report_delete_service.xml -pytest --verbose --log-level=INFO ./src/tests/ofc22/tests/test_functional_cleanup.py --junitxml=/opt/results/report_cleanup.xml +pytest --verbose --log-level=INFO src/tests/ofc22/tests/test_functional_bootstrap.py +pytest --verbose --log-level=INFO src/tests/ofc22/tests/test_functional_create_service.py +pytest --verbose --log-level=INFO src/tests/ofc22/tests/test_functional_delete_service.py +pytest --verbose --log-level=INFO src/tests/ofc22/tests/test_functional_cleanup.py -- GitLab From c22e71c54129f192d1aac198a581690f583a014f Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 21:03:00 +0000 Subject: [PATCH 046/156] CI/CD pipeline: - Reactivated all components --- .gitlab-ci.yml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9a454253f..064cedd15 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,28 +22,28 @@ stages: # include the individual .gitlab-ci.yml of each micro-service and tests include: #- local: '/manifests/.gitlab-ci.yml' - ###- local: '/src/monitoring/.gitlab-ci.yml' - ###- local: '/src/nbi/.gitlab-ci.yml' - ###- local: '/src/context/.gitlab-ci.yml' - ###- local: '/src/device/.gitlab-ci.yml' - ###- local: '/src/service/.gitlab-ci.yml' - ###- local: '/src/dbscanserving/.gitlab-ci.yml' - ###- local: '/src/opticalattackmitigator/.gitlab-ci.yml' - ###- local: '/src/opticalattackdetector/.gitlab-ci.yml' - ###- local: '/src/opticalattackmanager/.gitlab-ci.yml' - ###- local: '/src/ztp/.gitlab-ci.yml' - ###- local: '/src/policy/.gitlab-ci.yml' - ###- local: '/src/forecaster/.gitlab-ci.yml' + - local: '/src/monitoring/.gitlab-ci.yml' + - local: '/src/nbi/.gitlab-ci.yml' + - local: '/src/context/.gitlab-ci.yml' + - local: '/src/device/.gitlab-ci.yml' + - local: '/src/service/.gitlab-ci.yml' + - local: '/src/dbscanserving/.gitlab-ci.yml' + - local: '/src/opticalattackmitigator/.gitlab-ci.yml' + - local: '/src/opticalattackdetector/.gitlab-ci.yml' + - local: '/src/opticalattackmanager/.gitlab-ci.yml' + - local: '/src/ztp/.gitlab-ci.yml' + - local: '/src/policy/.gitlab-ci.yml' + - local: '/src/forecaster/.gitlab-ci.yml' #- local: '/src/webui/.gitlab-ci.yml' #- local: '/src/l3_distributedattackdetector/.gitlab-ci.yml' #- local: '/src/l3_centralizedattackdetector/.gitlab-ci.yml' #- local: '/src/l3_attackmitigator/.gitlab-ci.yml' - ###- local: '/src/slice/.gitlab-ci.yml' + - local: '/src/slice/.gitlab-ci.yml' #- local: '/src/interdomain/.gitlab-ci.yml' - ###- local: '/src/pathcomp/.gitlab-ci.yml' + - local: '/src/pathcomp/.gitlab-ci.yml' #- local: '/src/dlt/.gitlab-ci.yml' - ###- local: '/src/load_generator/.gitlab-ci.yml' - ###- local: '/src/bgpls_speaker/.gitlab-ci.yml' + - local: '/src/load_generator/.gitlab-ci.yml' + - local: '/src/bgpls_speaker/.gitlab-ci.yml' # This should be last one: end-to-end integration tests - local: '/src/tests/.gitlab-ci.yml' -- GitLab From b0a84fc73f79ca999b92881a814f10a9e1532530 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 21:05:55 +0000 Subject: [PATCH 047/156] CI/CD pipeline: - Defined ofc22 and ecoc22 dependencies --- src/tests/ecoc22/.gitlab-ci.yml | 2 ++ src/tests/ofc22/.gitlab-ci.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/tests/ecoc22/.gitlab-ci.yml b/src/tests/ecoc22/.gitlab-ci.yml index 8bf2929e6..0aa65e556 100644 --- a/src/tests/ecoc22/.gitlab-ci.yml +++ b/src/tests/ecoc22/.gitlab-ci.yml @@ -40,6 +40,8 @@ end2end_test ecoc22: variables: TEST_NAME: 'ecoc22' stage: end2end_test + needs: + - build ecoc22 before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index fcc11fee8..271e398cf 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -40,6 +40,8 @@ end2end_test ofc22: variables: TEST_NAME: 'ofc22' stage: end2end_test + needs: + - build ofc22 before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: -- GitLab From f43ebf7b6d466bc6b8eb53384d4c40796a3a14f9 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 15 Mar 2024 21:13:27 +0000 Subject: [PATCH 048/156] CI/CD pipeline: - Reverted ofc22 and ecoc22 dependencies --- src/tests/ecoc22/.gitlab-ci.yml | 5 +++-- src/tests/ofc22/.gitlab-ci.yml | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/tests/ecoc22/.gitlab-ci.yml b/src/tests/ecoc22/.gitlab-ci.yml index 0aa65e556..94df23f88 100644 --- a/src/tests/ecoc22/.gitlab-ci.yml +++ b/src/tests/ecoc22/.gitlab-ci.yml @@ -40,8 +40,9 @@ end2end_test ecoc22: variables: TEST_NAME: 'ecoc22' stage: end2end_test - needs: - - build ecoc22 + # Disable to force running it after all other tasks + #needs: + # - build ecoc22 before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 271e398cf..65c58d112 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -40,8 +40,9 @@ end2end_test ofc22: variables: TEST_NAME: 'ofc22' stage: end2end_test - needs: - - build ofc22 + # Disable to force running it after all other tasks + #needs: + # - build ofc22 before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: -- GitLab From 1161f9a69189d07bde742af1549a04f74c07135a Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Mon, 18 Mar 2024 16:19:43 +0000 Subject: [PATCH 049/156] CI/CD pipeline - OFC'22 & ECOC'22: - Fixed drop CRDB database commands - Added DEBUG log dumps in relevant components --- deploy/crdb.sh | 4 ++-- manifests/contextservice.yaml | 2 +- manifests/deviceservice.yaml | 2 +- manifests/monitoringservice.yaml | 2 +- src/tests/ecoc22/.gitlab-ci.yml | 4 ++++ src/tests/ofc22/.gitlab-ci.yml | 4 ++++ 6 files changed, 13 insertions(+), 5 deletions(-) diff --git a/deploy/crdb.sh b/deploy/crdb.sh index b2ff1b03b..a304e83d1 100755 --- a/deploy/crdb.sh +++ b/deploy/crdb.sh @@ -170,7 +170,7 @@ function crdb_drop_database_single() { CRDB_CLIENT_URL="postgresql://${CRDB_USERNAME}:${CRDB_PASSWORD}@${CRDB_HOST}:${CRDB_PORT}/defaultdb?sslmode=require" echo "CRDB_CLIENT_URL=${CRDB_CLIENT_URL}" - kubectl exec -it --namespace ${CRDB_NAMESPACE} cockroachdb-0 -- \ + kubectl exec -i --namespace ${CRDB_NAMESPACE} cockroachdb-0 -- \ ./cockroach sql --certs-dir=/cockroach/cockroach-certs --url=${CRDB_CLIENT_URL} \ --execute "DROP DATABASE IF EXISTS ${CRDB_DATABASE};" echo @@ -353,7 +353,7 @@ function crdb_undeploy_cluster() { function crdb_drop_database_cluster() { echo "Drop database if exists" - kubectl exec -it --namespace ${CRDB_NAMESPACE} cockroachdb-client-secure -- \ + kubectl exec -i --namespace ${CRDB_NAMESPACE} cockroachdb-client-secure -- \ ./cockroach sql --certs-dir=/cockroach/cockroach-certs --host=cockroachdb-public --execute \ "DROP DATABASE IF EXISTS ${CRDB_DATABASE};" echo diff --git a/manifests/contextservice.yaml b/manifests/contextservice.yaml index df06c86b5..5d0e6102c 100644 --- a/manifests/contextservice.yaml +++ b/manifests/contextservice.yaml @@ -40,7 +40,7 @@ spec: - name: MB_BACKEND value: "nats" - name: LOG_LEVEL - value: "INFO" + value: "DEBUG" - name: ALLOW_EXPLICIT_ADD_DEVICE_TO_TOPOLOGY value: "FALSE" - name: ALLOW_EXPLICIT_ADD_LINK_TO_TOPOLOGY diff --git a/manifests/deviceservice.yaml b/manifests/deviceservice.yaml index 77e421f29..7f7885daf 100644 --- a/manifests/deviceservice.yaml +++ b/manifests/deviceservice.yaml @@ -39,7 +39,7 @@ spec: - containerPort: 9192 env: - name: LOG_LEVEL - value: "INFO" + value: "DEBUG" startupProbe: exec: command: ["/bin/grpc_health_probe", "-addr=:2020"] diff --git a/manifests/monitoringservice.yaml b/manifests/monitoringservice.yaml index dbcfa68a0..1a2059395 100644 --- a/manifests/monitoringservice.yaml +++ b/manifests/monitoringservice.yaml @@ -36,7 +36,7 @@ spec: - containerPort: 9192 env: - name: LOG_LEVEL - value: "INFO" + value: "DEBUG" envFrom: - secretRef: name: qdb-data diff --git a/src/tests/ecoc22/.gitlab-ci.yml b/src/tests/ecoc22/.gitlab-ci.yml index 94df23f88..fb54c2d5c 100644 --- a/src/tests/ecoc22/.gitlab-ci.yml +++ b/src/tests/ecoc22/.gitlab-ci.yml @@ -84,6 +84,10 @@ end2end_test ecoc22: #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_create_service.py --junitxml=./src/tests/${TEST_NAME}/report_create_service.xml #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_delete_service.py --junitxml=./src/tests/${TEST_NAME}/report_delete_service.xml #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_cleanup.py --junitxml=./src/tests/${TEST_NAME}/report_cleanup.xml + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/monitoringservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/ztpservice -c server after_script: - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - docker images --filter="dangling=true" --quiet | xargs -r docker rmi diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 65c58d112..d7123a952 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -84,6 +84,10 @@ end2end_test ofc22: #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_create_service.py --junitxml=./src/tests/${TEST_NAME}/report_create_service.xml #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_delete_service.py --junitxml=./src/tests/${TEST_NAME}/report_delete_service.xml #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_cleanup.py --junitxml=./src/tests/${TEST_NAME}/report_cleanup.xml + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/monitoringservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/ztpservice -c server after_script: - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - docker images --filter="dangling=true" --quiet | xargs -r docker rmi -- GitLab From e0c34c1fd3fa07049e2a41f437912b9d1091eb95 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Mon, 18 Mar 2024 17:49:25 +0000 Subject: [PATCH 050/156] CI/CD pipeline - ECOC'22: - Disabled check of NATS subscription (not used) --- src/tests/ecoc22/.gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tests/ecoc22/.gitlab-ci.yml b/src/tests/ecoc22/.gitlab-ci.yml index fb54c2d5c..791bf4021 100644 --- a/src/tests/ecoc22/.gitlab-ci.yml +++ b/src/tests/ecoc22/.gitlab-ci.yml @@ -69,8 +69,8 @@ end2end_test ecoc22: - ./deploy/show.sh # Wait for Context to be subscribed to NATS - - while ! kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server 2>&1 | grep -q 'Subscriber is Ready? True'; do sleep 1; done - - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server + #- while ! kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server 2>&1 | grep -q 'Subscriber is Ready? True'; do sleep 1; done + #- kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server # Run end-to-end tests - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi -- GitLab From 3565247dd35c30c85f5e187988beb6f358d57d25 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Mon, 18 Mar 2024 18:19:52 +0000 Subject: [PATCH 051/156] CI/CD pipeline - OFC'22 & ECOC'22: - Added DEBUG log dumps in relevant components --- manifests/nbiservice.yaml | 2 +- manifests/pathcompservice.yaml | 2 +- manifests/serviceservice.yaml | 2 +- manifests/sliceservice.yaml | 2 +- src/tests/ecoc22/.gitlab-ci.yml | 6 ++++-- src/tests/ofc22/.gitlab-ci.yml | 4 ++++ 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/manifests/nbiservice.yaml b/manifests/nbiservice.yaml index de97ba364..f5477aeb4 100644 --- a/manifests/nbiservice.yaml +++ b/manifests/nbiservice.yaml @@ -37,7 +37,7 @@ spec: - containerPort: 9192 env: - name: LOG_LEVEL - value: "INFO" + value: "DEBUG" readinessProbe: exec: command: ["/bin/grpc_health_probe", "-addr=:9090"] diff --git a/manifests/pathcompservice.yaml b/manifests/pathcompservice.yaml index 87d907a72..4beadea8f 100644 --- a/manifests/pathcompservice.yaml +++ b/manifests/pathcompservice.yaml @@ -36,7 +36,7 @@ spec: - containerPort: 9192 env: - name: LOG_LEVEL - value: "INFO" + value: "DEBUG" - name: ENABLE_FORECASTER value: "YES" readinessProbe: diff --git a/manifests/serviceservice.yaml b/manifests/serviceservice.yaml index 7d7bdaa4e..3865fd6c0 100644 --- a/manifests/serviceservice.yaml +++ b/manifests/serviceservice.yaml @@ -36,7 +36,7 @@ spec: - containerPort: 9192 env: - name: LOG_LEVEL - value: "INFO" + value: "DEBUG" readinessProbe: exec: command: ["/bin/grpc_health_probe", "-addr=:3030"] diff --git a/manifests/sliceservice.yaml b/manifests/sliceservice.yaml index e7e5c1604..61f5b1d21 100644 --- a/manifests/sliceservice.yaml +++ b/manifests/sliceservice.yaml @@ -36,7 +36,7 @@ spec: - containerPort: 9192 env: - name: LOG_LEVEL - value: "INFO" + value: "DEBUG" - name: SLICE_GROUPING value: "DISABLE" envFrom: diff --git a/src/tests/ecoc22/.gitlab-ci.yml b/src/tests/ecoc22/.gitlab-ci.yml index 791bf4021..cde9055a0 100644 --- a/src/tests/ecoc22/.gitlab-ci.yml +++ b/src/tests/ecoc22/.gitlab-ci.yml @@ -86,8 +86,10 @@ end2end_test ecoc22: #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_cleanup.py --junitxml=./src/tests/${TEST_NAME}/report_cleanup.xml - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server - - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/monitoringservice -c server - - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/ztpservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c frontend + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/sliceservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server after_script: - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - docker images --filter="dangling=true" --quiet | xargs -r docker rmi diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index d7123a952..f78810665 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -86,6 +86,10 @@ end2end_test ofc22: #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_cleanup.py --junitxml=./src/tests/${TEST_NAME}/report_cleanup.xml - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c frontend + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/sliceservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/monitoringservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/ztpservice -c server after_script: -- GitLab From 7536c5f8b5ef394d3ce5993da17598603b166fb3 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Tue, 19 Mar 2024 09:49:44 +0000 Subject: [PATCH 052/156] Gitlab CI/CD pipeline - OFC'22 & ECOC'22: - Disable unneeded components --- .gitlab-ci.yml | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 064cedd15..9a454253f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,28 +22,28 @@ stages: # include the individual .gitlab-ci.yml of each micro-service and tests include: #- local: '/manifests/.gitlab-ci.yml' - - local: '/src/monitoring/.gitlab-ci.yml' - - local: '/src/nbi/.gitlab-ci.yml' - - local: '/src/context/.gitlab-ci.yml' - - local: '/src/device/.gitlab-ci.yml' - - local: '/src/service/.gitlab-ci.yml' - - local: '/src/dbscanserving/.gitlab-ci.yml' - - local: '/src/opticalattackmitigator/.gitlab-ci.yml' - - local: '/src/opticalattackdetector/.gitlab-ci.yml' - - local: '/src/opticalattackmanager/.gitlab-ci.yml' - - local: '/src/ztp/.gitlab-ci.yml' - - local: '/src/policy/.gitlab-ci.yml' - - local: '/src/forecaster/.gitlab-ci.yml' + ###- local: '/src/monitoring/.gitlab-ci.yml' + ###- local: '/src/nbi/.gitlab-ci.yml' + ###- local: '/src/context/.gitlab-ci.yml' + ###- local: '/src/device/.gitlab-ci.yml' + ###- local: '/src/service/.gitlab-ci.yml' + ###- local: '/src/dbscanserving/.gitlab-ci.yml' + ###- local: '/src/opticalattackmitigator/.gitlab-ci.yml' + ###- local: '/src/opticalattackdetector/.gitlab-ci.yml' + ###- local: '/src/opticalattackmanager/.gitlab-ci.yml' + ###- local: '/src/ztp/.gitlab-ci.yml' + ###- local: '/src/policy/.gitlab-ci.yml' + ###- local: '/src/forecaster/.gitlab-ci.yml' #- local: '/src/webui/.gitlab-ci.yml' #- local: '/src/l3_distributedattackdetector/.gitlab-ci.yml' #- local: '/src/l3_centralizedattackdetector/.gitlab-ci.yml' #- local: '/src/l3_attackmitigator/.gitlab-ci.yml' - - local: '/src/slice/.gitlab-ci.yml' + ###- local: '/src/slice/.gitlab-ci.yml' #- local: '/src/interdomain/.gitlab-ci.yml' - - local: '/src/pathcomp/.gitlab-ci.yml' + ###- local: '/src/pathcomp/.gitlab-ci.yml' #- local: '/src/dlt/.gitlab-ci.yml' - - local: '/src/load_generator/.gitlab-ci.yml' - - local: '/src/bgpls_speaker/.gitlab-ci.yml' + ###- local: '/src/load_generator/.gitlab-ci.yml' + ###- local: '/src/bgpls_speaker/.gitlab-ci.yml' # This should be last one: end-to-end integration tests - local: '/src/tests/.gitlab-ci.yml' -- GitLab From 1e8779507f086a5bf1d28387ec4d0cb6c6a826c3 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Tue, 19 Mar 2024 10:44:12 +0000 Subject: [PATCH 053/156] Service component: - Corrected composition of pathcomp request - Minor cosmetic improvements --- src/service/service/ServiceServiceServicerImpl.py | 7 ++++--- src/service/service/task_scheduler/TaskExecutor.py | 12 ++++++------ 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/src/service/service/ServiceServiceServicerImpl.py b/src/service/service/ServiceServiceServicerImpl.py index f65d5b59a..173b49f34 100644 --- a/src/service/service/ServiceServiceServicerImpl.py +++ b/src/service/service/ServiceServiceServicerImpl.py @@ -245,9 +245,6 @@ class ServiceServiceServicerImpl(ServiceServiceServicer): num_expected_endpoints = num_disjoint_paths * 2 tasks_scheduler = TasksScheduler(self.service_handler_factory) - if len(service_with_uuids.service_endpoint_ids) >= num_expected_endpoints: - pathcomp_request = PathCompRequest() - pathcomp_request.services.append(service_with_uuids) # pylint: disable=no-member if service.service_type == ServiceTypeEnum.SERVICETYPE_OPTICAL_CONNECTIVITY: context_id_x = json_context_id(DEFAULT_CONTEXT_NAME) @@ -309,6 +306,10 @@ class ServiceServiceServicerImpl(ServiceServiceServicer): tasks_scheduler.compose_from_pathcompreply( optical_reply, is_delete=False) else: + if len(service_with_uuids.service_endpoint_ids) >= num_expected_endpoints: + pathcomp_request = PathCompRequest() + pathcomp_request.services.append(service_with_uuids) # pylint: disable=no-member + if num_disjoint_paths is None or num_disjoint_paths in {0, 1} : pathcomp_request.shortest_path.Clear() # pylint: disable=no-member else: diff --git a/src/service/service/task_scheduler/TaskExecutor.py b/src/service/service/task_scheduler/TaskExecutor.py index 537962632..5c5747970 100644 --- a/src/service/service/task_scheduler/TaskExecutor.py +++ b/src/service/service/task_scheduler/TaskExecutor.py @@ -119,22 +119,22 @@ class TaskExecutor: # New function Andrea for Optical Devices def configure_optical_device(self, device : Device, settings : str, flows : list, is_opticalband : bool): device_key = get_device_key(device.device_id) - myid = OpticalConfigId() - myid.opticalconfig_uuid = device.device_id.device_uuid.uuid - opticalconfig = OpticalConfig() + optical_config_id = OpticalConfigId() + optical_config_id.opticalconfig_uuid = device.device_id.device_uuid.uuid + optical_config = OpticalConfig() setting = settings.value if settings else "" new_config = {} try: - result = self._context_client.SelectOpticalConfig(myid) + result = self._context_client.SelectOpticalConfig(optical_config_id) new_config = json.loads(result.config) if result is not None : new_config["new_config"] = setting new_config["is_opticalband"] = is_opticalband new_config["flow"] = flows result.config = str(new_config) - opticalconfig.CopyFrom(result) - self._device_client.ConfigureOpticalDevice(opticalconfig) + optical_config.CopyFrom(result) + self._device_client.ConfigureOpticalDevice(optical_config) self._store_grpc_object(CacheableObjectType.DEVICE, device_key, device) except Exception as e: LOGGER.info("error in config my config %s",e) -- GitLab From c51bdc9936cebe922c7160172df202c58fd21217 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Tue, 19 Mar 2024 10:44:54 +0000 Subject: [PATCH 054/156] Gitlab CI/CD pipeline - OFC'22 & ECOC'22: - Enabled re-build of components in OFC'22 & ECOC'22 tests --- src/tests/ecoc22/.gitlab-ci.yml | 2 +- src/tests/ofc22/.gitlab-ci.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tests/ecoc22/.gitlab-ci.yml b/src/tests/ecoc22/.gitlab-ci.yml index cde9055a0..109d8f155 100644 --- a/src/tests/ecoc22/.gitlab-ci.yml +++ b/src/tests/ecoc22/.gitlab-ci.yml @@ -56,7 +56,7 @@ end2end_test ecoc22: # Configure TeraFlowSDN deployment - source src/tests/${TEST_NAME}/deploy_specs.sh - export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" - - export TFS_SKIP_BUILD="YES" + - export TFS_SKIP_BUILD="" - export TFS_IMAGE_TAG="latest" - echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index f78810665..b55948714 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -56,7 +56,7 @@ end2end_test ofc22: # Configure TeraFlowSDN deployment - source src/tests/${TEST_NAME}/deploy_specs.sh - export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" - - export TFS_SKIP_BUILD="YES" + - export TFS_SKIP_BUILD="" - export TFS_IMAGE_TAG="latest" - echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" -- GitLab From 818c88cbae6628701c17e13e4225bbc021d99fde Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Tue, 19 Mar 2024 13:59:43 +0000 Subject: [PATCH 055/156] Gitlab CI/CD pipeline - OFC'22 & ECOC'22: - Corrected CI/CD pipeline descriptor deploy scripts --- src/tests/ecoc22/.gitlab-ci.yml | 8 ++++---- src/tests/ofc22/.gitlab-ci.yml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/tests/ecoc22/.gitlab-ci.yml b/src/tests/ecoc22/.gitlab-ci.yml index 109d8f155..ead4ceed4 100644 --- a/src/tests/ecoc22/.gitlab-ci.yml +++ b/src/tests/ecoc22/.gitlab-ci.yml @@ -55,10 +55,10 @@ end2end_test ecoc22: # Configure TeraFlowSDN deployment - source src/tests/${TEST_NAME}/deploy_specs.sh - - export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" - - export TFS_SKIP_BUILD="" - - export TFS_IMAGE_TAG="latest" - - echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" + #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" + #- export TFS_SKIP_BUILD="" + #- export TFS_IMAGE_TAG="latest" + #- echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" # Deploy TeraFlowSDN - ./deploy/crdb.sh diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index b55948714..9598d4eba 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -55,10 +55,10 @@ end2end_test ofc22: # Configure TeraFlowSDN deployment - source src/tests/${TEST_NAME}/deploy_specs.sh - - export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" - - export TFS_SKIP_BUILD="" - - export TFS_IMAGE_TAG="latest" - - echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" + #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" + #- export TFS_SKIP_BUILD="" + #- export TFS_IMAGE_TAG="latest" + #- echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" # Deploy TeraFlowSDN - ./deploy/crdb.sh -- GitLab From ff70a457c11ebbf2fa79f5e94de6fb814ee235b8 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 20 Mar 2024 10:28:55 +0000 Subject: [PATCH 056/156] Service component: - Corrected logic for processing a normal service request - Corrected imports of ServicerImpl --- .../service/ServiceServiceServicerImpl.py | 40 ++++++++++--------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/src/service/service/ServiceServiceServicerImpl.py b/src/service/service/ServiceServiceServicerImpl.py index 173b49f34..b5623885f 100644 --- a/src/service/service/ServiceServiceServicerImpl.py +++ b/src/service/service/ServiceServiceServicerImpl.py @@ -12,19 +12,24 @@ # See the License for the specific language governing permissions and # limitations under the License. -import copy, grpc, json, logging, random, uuid +import grpc, json, logging, random, uuid from typing import Optional from common.method_wrappers.Decorator import MetricsPool, safe_and_metered_rpc_method from common.method_wrappers.ServiceExceptions import ( AlreadyExistsException, InvalidArgumentException, NotFoundException, NotImplementedException, OperationFailedException) from common.proto.context_pb2 import ( - Connection, Empty, Service, ServiceId, ServiceStatusEnum, ServiceTypeEnum, ConstraintActionEnum) + Connection, ConstraintActionEnum, Empty, Service, ServiceId, ServiceStatusEnum, + ServiceTypeEnum, TopologyId +) from common.proto.pathcomp_pb2 import PathCompRequest from common.proto.e2eorchestrator_pb2 import E2EOrchestratorRequest from common.proto.service_pb2_grpc import ServiceServiceServicer from common.tools.context_queries.Service import get_service_by_id from common.tools.grpc.Tools import grpc_message_to_json, grpc_message_to_json_string +from common.tools.object_factory.Context import json_context_id +from common.tools.object_factory.Topology import json_topology_id +from common.Constants import DEFAULT_CONTEXT_NAME, DEFAULT_TOPOLOGY_NAME from context.client.ContextClient import ContextClient from e2e_orchestrator.client.E2EOrchestratorClient import E2EOrchestratorClient from pathcomp.frontend.client.PathCompClient import PathCompClient @@ -33,12 +38,9 @@ from service.client.TEServiceClient import TEServiceClient from .service_handler_api.ServiceHandlerFactory import ServiceHandlerFactory from .task_scheduler.TaskScheduler import TasksScheduler from .tools.GeodesicDistance import gps_distance - -from common.tools.object_factory.Context import json_context_id -from common.tools.object_factory.Topology import json_topology_id -from common.Constants import DEFAULT_CONTEXT_NAME, DEFAULT_TOPOLOGY_NAME -from common.proto.context_pb2 import Empty, TopologyId -from service.service.tools.OpticalTools import add_lightpath, delete_lightpath, adapt_reply, get_device_name_from_uuid, get_optical_band +from .tools.OpticalTools import ( + add_lightpath, delete_lightpath, adapt_reply, get_device_name_from_uuid, get_optical_band +) LOGGER = logging.getLogger(__name__) @@ -310,19 +312,19 @@ class ServiceServiceServicerImpl(ServiceServiceServicer): pathcomp_request = PathCompRequest() pathcomp_request.services.append(service_with_uuids) # pylint: disable=no-member - if num_disjoint_paths is None or num_disjoint_paths in {0, 1} : - pathcomp_request.shortest_path.Clear() # pylint: disable=no-member - else: - pathcomp_request.k_disjoint_path.num_disjoint = num_disjoint_paths # pylint: disable=no-member + if num_disjoint_paths is None or num_disjoint_paths in {0, 1} : + pathcomp_request.shortest_path.Clear() # pylint: disable=no-member + else: + pathcomp_request.k_disjoint_path.num_disjoint = num_disjoint_paths # pylint: disable=no-member - pathcomp = PathCompClient() - pathcomp_reply = pathcomp.Compute(pathcomp_request) - pathcomp.close() + pathcomp = PathCompClient() + pathcomp_reply = pathcomp.Compute(pathcomp_request) + pathcomp.close() - # Feed TaskScheduler with this path computation reply. TaskScheduler identifies inter-dependencies among - # the services and connections retrieved and produces a schedule of tasks (an ordered list of tasks to be - # executed) to implement the requested create/update operation. - tasks_scheduler.compose_from_pathcompreply(pathcomp_reply, is_delete=False) + # Feed TaskScheduler with this path computation reply. TaskScheduler identifies inter-dependencies among + # the services and connections retrieved and produces a schedule of tasks (an ordered list of tasks to be + # executed) to implement the requested create/update operation. + tasks_scheduler.compose_from_pathcompreply(pathcomp_reply, is_delete=False) tasks_scheduler.execute_all() return service_with_uuids.service_id -- GitLab From 83adf5adb2e3af8ea5719555fca336eb590ef8ad Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 20 Mar 2024 10:40:40 +0000 Subject: [PATCH 057/156] Fixed GitLab CI/CD pipeline - ECOC'22 --- src/tests/ecoc22/.gitlab-ci.yml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/src/tests/ecoc22/.gitlab-ci.yml b/src/tests/ecoc22/.gitlab-ci.yml index ead4ceed4..a1b262131 100644 --- a/src/tests/ecoc22/.gitlab-ci.yml +++ b/src/tests/ecoc22/.gitlab-ci.yml @@ -74,16 +74,12 @@ end2end_test ecoc22: # Run end-to-end tests - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - - docker create --name ${TEST_NAME} --network=host -v "$PWD/src/tests/${TEST_NAME}:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest - - docker cp ./tfs_runtime_env_vars.sh ${TEST_NAME}:/var/teraflow/ - - docker start ${TEST_NAME} - - docker wait ${TEST_NAME} + - > + docker run -it --name ${TEST_NAME} --network=host + --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" + --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" + $CI_REGISTRY_IMAGE/${TEST_NAME}:latest - docker logs ${TEST_NAME} - #- source tfs_runtime_env_vars.sh - #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_bootstrap.py --junitxml=./src/tests/${TEST_NAME}/report_bootstrap.xml - #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_create_service.py --junitxml=./src/tests/${TEST_NAME}/report_create_service.xml - #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_delete_service.py --junitxml=./src/tests/${TEST_NAME}/report_delete_service.xml - #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_cleanup.py --junitxml=./src/tests/${TEST_NAME}/report_cleanup.xml - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c frontend -- GitLab From a6504920af0424feb2a5d6133640cb557c947909 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 20 Mar 2024 11:57:53 +0000 Subject: [PATCH 058/156] Context component: - Deactivated unneeded log messages --- src/context/service/database/Link.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/context/service/database/Link.py b/src/context/service/database/Link.py index e2060c454..ccc22a472 100644 --- a/src/context/service/database/Link.py +++ b/src/context/service/database/Link.py @@ -159,15 +159,15 @@ def link_set(db_engine : Engine, messagebroker : MessageBroker, request : Link) stmt = stmt.returning(TopologyLinkModel.topology_uuid) topology_uuids = session.execute(stmt).fetchall() - LOGGER.warning('RAW topology_uuids={:s}'.format(str(topology_uuids))) + #LOGGER.warning('RAW topology_uuids={:s}'.format(str(topology_uuids))) if len(topology_uuids) > 0: topology_uuids = [topology_uuid[0] for topology_uuid in topology_uuids] - LOGGER.warning('NEW topology_uuids={:s}'.format(str(topology_uuids))) + #LOGGER.warning('NEW topology_uuids={:s}'.format(str(topology_uuids))) query = session.query(TopologyModel) query = query.filter(TopologyModel.topology_uuid.in_(topology_uuids)) link_topologies : List[TopologyModel] = query.all() link_topology_ids = [obj.dump_id() for obj in link_topologies] - LOGGER.warning('link_topology_ids={:s}'.format(str(link_topology_ids))) + #LOGGER.warning('link_topology_ids={:s}'.format(str(link_topology_ids))) return updated or updated_endpoints, link_topology_ids -- GitLab From dd0867d885da8ca3a440a3c8ee76e110cad24288 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 20 Mar 2024 11:58:29 +0000 Subject: [PATCH 059/156] Improved GitLab CI/CD pipeline - ECOC'22: - Added modification of log levels in manifests during deployment --- src/tests/ecoc22/.gitlab-ci.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/tests/ecoc22/.gitlab-ci.yml b/src/tests/ecoc22/.gitlab-ci.yml index a1b262131..32949a3ce 100644 --- a/src/tests/ecoc22/.gitlab-ci.yml +++ b/src/tests/ecoc22/.gitlab-ci.yml @@ -54,6 +54,12 @@ end2end_test ecoc22: - kubectl get pods --all-namespaces # Configure TeraFlowSDN deployment + - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/contextservice.yaml + - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/deviceservice.yaml + - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="frontend").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/pathcompservice.yaml + - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/serviceservice.yaml + - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/sliceservice.yaml + - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml - source src/tests/${TEST_NAME}/deploy_specs.sh #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" #- export TFS_SKIP_BUILD="" -- GitLab From 3698661f5d3a743bb5e92594bb30175c4268b42a Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 20 Mar 2024 12:07:25 +0000 Subject: [PATCH 060/156] GitLab CI/CD pipeline: - Disabled OFC'22 while resolving issues --- src/tests/.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/.gitlab-ci.yml b/src/tests/.gitlab-ci.yml index 41b8bb36c..6a4441d19 100644 --- a/src/tests/.gitlab-ci.yml +++ b/src/tests/.gitlab-ci.yml @@ -14,7 +14,7 @@ # include the individual .gitlab-ci.yml of each end-to-end integration test include: - - local: '/src/tests/ofc22/.gitlab-ci.yml' + #- local: '/src/tests/ofc22/.gitlab-ci.yml' #- local: '/src/tests/oeccpsc22/.gitlab-ci.yml' - local: '/src/tests/ecoc22/.gitlab-ci.yml' #- local: '/src/tests/nfvsdn22/.gitlab-ci.yml' -- GitLab From 4ae18964c7772a625fdd3c180956fb24712b25c8 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 20 Mar 2024 12:11:07 +0000 Subject: [PATCH 061/156] Fixed GitLab CI/CD pipeline - ECOC'22 --- src/tests/ecoc22/.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/ecoc22/.gitlab-ci.yml b/src/tests/ecoc22/.gitlab-ci.yml index 32949a3ce..9f20076bf 100644 --- a/src/tests/ecoc22/.gitlab-ci.yml +++ b/src/tests/ecoc22/.gitlab-ci.yml @@ -81,7 +81,7 @@ end2end_test ecoc22: # Run end-to-end tests - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - > - docker run -it --name ${TEST_NAME} --network=host + docker run -t --name ${TEST_NAME} --network=host --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest -- GitLab From 65444b9062bbcdb635c08b3e7ad56c1c57cdc4c6 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 20 Mar 2024 12:22:28 +0000 Subject: [PATCH 062/156] Manifests: - Recovered default log levels to INFO - Corrected Formatting of manifest files --- manifests/bgpls_speakerservice.yaml | 60 ++-- manifests/cachingservice.yaml | 50 ++-- manifests/contextservice.yaml | 94 +++---- manifests/dbscanservingservice.yaml | 68 ++--- manifests/deviceservice.yaml | 70 ++--- manifests/dltservice.yaml | 118 ++++---- manifests/e2e_orchestratorservice.yaml | 68 ++--- manifests/forecasterservice.yaml | 86 +++--- manifests/interdomainservice.yaml | 64 ++--- manifests/l3_attackmitigatorservice.yaml | 86 +++--- .../l3_centralizedattackdetectorservice.yaml | 102 +++---- .../l3_distributedattackdetectorservice.yaml | 48 ++-- manifests/load_generatorservice.yaml | 60 ++-- manifests/mock_blockchain.yaml | 50 ++-- manifests/monitoringservice.yaml | 66 ++--- manifests/nbiservice.yaml | 70 ++--- manifests/nginx_ingress_http.yaml | 74 ++--- manifests/opticalattackdetectorservice.yaml | 78 +++--- manifests/opticalattackmanagerservice.yaml | 66 ++--- manifests/opticalattackmitigatorservice.yaml | 68 ++--- manifests/opticalcontrollerservice.yaml | 60 ++-- manifests/pathcompservice.yaml | 132 ++++----- manifests/policyservice.yaml | 12 +- manifests/prometheus.yaml | 31 ++- manifests/servicemonitors.yaml | 256 +++++++++--------- manifests/serviceservice.yaml | 72 ++--- manifests/sliceservice.yaml | 82 +++--- manifests/teservice.yaml | 78 +++--- manifests/webuiservice.yaml | 146 +++++----- manifests/ztpservice.yaml | 12 +- 30 files changed, 1164 insertions(+), 1163 deletions(-) diff --git a/manifests/bgpls_speakerservice.yaml b/manifests/bgpls_speakerservice.yaml index aa985d13e..bda0d4cf5 100644 --- a/manifests/bgpls_speakerservice.yaml +++ b/manifests/bgpls_speakerservice.yaml @@ -28,28 +28,28 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: localhost:32000/tfs/bgpls_speaker:dev - imagePullPolicy: Always - ports: - - containerPort: 20030 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "INFO" - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:20030"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:20030"] - resources: - requests: - cpu: 250m - memory: 128Mi - limits: - cpu: 1000m - memory: 1024Mi + - name: server + image: localhost:32000/tfs/bgpls_speaker:dev + imagePullPolicy: Always + ports: + - containerPort: 20030 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:20030"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:20030"] + resources: + requests: + cpu: 250m + memory: 128Mi + limits: + cpu: 1000m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -62,11 +62,11 @@ spec: selector: app: bgpls-speakerservice ports: - - name: grpc - protocol: TCP - port: 20030 - targetPort: 20030 - - name: metrics - protocol: TCP - port: 9192 - targetPort: 9192 + - name: grpc + protocol: TCP + port: 20030 + targetPort: 20030 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 diff --git a/manifests/cachingservice.yaml b/manifests/cachingservice.yaml index be8fced49..ee6e02e00 100644 --- a/manifests/cachingservice.yaml +++ b/manifests/cachingservice.yaml @@ -27,28 +27,28 @@ spec: app: cachingservice spec: containers: - - name: redis - image: redis:7.0-alpine - env: - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: redis-secrets - key: REDIS_PASSWORD - ports: - - containerPort: 6379 - name: client - command: ["redis-server"] - args: - - --requirepass - - $(REDIS_PASSWORD) - resources: - requests: - cpu: 50m - memory: 64Mi - limits: - cpu: 500m - memory: 512Mi + - name: redis + image: redis:7.0-alpine + env: + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + name: redis-secrets + key: REDIS_PASSWORD + ports: + - containerPort: 6379 + name: client + command: ["redis-server"] + args: + - --requirepass + - $(REDIS_PASSWORD) + resources: + requests: + cpu: 50m + memory: 64Mi + limits: + cpu: 500m + memory: 512Mi --- apiVersion: v1 kind: Service @@ -59,6 +59,6 @@ spec: selector: app: cachingservice ports: - - name: redis - port: 6379 - targetPort: 6379 + - name: redis + port: 6379 + targetPort: 6379 diff --git a/manifests/contextservice.yaml b/manifests/contextservice.yaml index 5d0e6102c..c7dc59625 100644 --- a/manifests/contextservice.yaml +++ b/manifests/contextservice.yaml @@ -30,39 +30,39 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/context:latest - imagePullPolicy: Always - ports: - - containerPort: 1010 - - containerPort: 9192 - env: - - name: MB_BACKEND - value: "nats" - - name: LOG_LEVEL - value: "DEBUG" - - name: ALLOW_EXPLICIT_ADD_DEVICE_TO_TOPOLOGY - value: "FALSE" - - name: ALLOW_EXPLICIT_ADD_LINK_TO_TOPOLOGY - value: "FALSE" - envFrom: - - secretRef: - name: crdb-data - - secretRef: - name: nats-data - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:1010"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:1010"] - resources: - requests: - cpu: 250m - memory: 128Mi - limits: - cpu: 1000m - memory: 1024Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/context:latest + imagePullPolicy: Always + ports: + - containerPort: 1010 + - containerPort: 9192 + env: + - name: MB_BACKEND + value: "nats" + - name: LOG_LEVEL + value: "INFO" + - name: ALLOW_EXPLICIT_ADD_DEVICE_TO_TOPOLOGY + value: "FALSE" + - name: ALLOW_EXPLICIT_ADD_LINK_TO_TOPOLOGY + value: "FALSE" + envFrom: + - secretRef: + name: crdb-data + - secretRef: + name: nats-data + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:1010"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:1010"] + resources: + requests: + cpu: 250m + memory: 128Mi + limits: + cpu: 1000m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -75,14 +75,14 @@ spec: selector: app: contextservice ports: - - name: grpc - protocol: TCP - port: 1010 - targetPort: 1010 - - name: metrics - protocol: TCP - port: 9192 - targetPort: 9192 + - name: grpc + protocol: TCP + port: 1010 + targetPort: 1010 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler @@ -96,12 +96,12 @@ spec: minReplicas: 1 maxReplicas: 20 metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 #behavior: # scaleDown: # stabilizationWindowSeconds: 30 diff --git a/manifests/dbscanservingservice.yaml b/manifests/dbscanservingservice.yaml index b5b8fc437..2bdd1c3fa 100644 --- a/manifests/dbscanservingservice.yaml +++ b/manifests/dbscanservingservice.yaml @@ -27,28 +27,28 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/dbscanserving:latest - imagePullPolicy: Always - ports: - - containerPort: 10008 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "INFO" - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10008"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10008"] - resources: - requests: - cpu: 250m - memory: 128Mi - limits: - cpu: 1000m - memory: 1024Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/dbscanserving:latest + imagePullPolicy: Always + ports: + - containerPort: 10008 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10008"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10008"] + resources: + requests: + cpu: 250m + memory: 128Mi + limits: + cpu: 1000m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -61,12 +61,12 @@ spec: selector: app: dbscanservingservice ports: - - name: grpc - port: 10008 - targetPort: 10008 - - name: metrics - port: 9192 - targetPort: 9192 + - name: grpc + port: 10008 + targetPort: 10008 + - name: metrics + port: 9192 + targetPort: 9192 --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler @@ -80,12 +80,12 @@ spec: minReplicas: 1 maxReplicas: 20 metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 #behavior: # scaleDown: # stabilizationWindowSeconds: 30 diff --git a/manifests/deviceservice.yaml b/manifests/deviceservice.yaml index 7f7885daf..fdc3cea02 100644 --- a/manifests/deviceservice.yaml +++ b/manifests/deviceservice.yaml @@ -31,33 +31,33 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/device:latest - imagePullPolicy: Always - ports: - - containerPort: 2020 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "DEBUG" - startupProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:2020"] - failureThreshold: 30 - periodSeconds: 1 - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:2020"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:2020"] - resources: - requests: - cpu: 250m - memory: 128Mi - limits: - cpu: 1000m - memory: 1024Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/device:latest + imagePullPolicy: Always + ports: + - containerPort: 2020 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + startupProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:2020"] + failureThreshold: 30 + periodSeconds: 1 + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:2020"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:2020"] + resources: + requests: + cpu: 250m + memory: 128Mi + limits: + cpu: 1000m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -70,11 +70,11 @@ spec: selector: app: deviceservice ports: - - name: grpc - protocol: TCP - port: 2020 - targetPort: 2020 - - name: metrics - protocol: TCP - port: 9192 - targetPort: 9192 + - name: grpc + protocol: TCP + port: 2020 + targetPort: 2020 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 diff --git a/manifests/dltservice.yaml b/manifests/dltservice.yaml index 5e8f745f7..f905749b4 100644 --- a/manifests/dltservice.yaml +++ b/manifests/dltservice.yaml @@ -27,57 +27,57 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: connector - image: labs.etsi.org:5050/tfs/controller/dlt-connector:latest - imagePullPolicy: Always - ports: - - containerPort: 8080 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "INFO" - ## for debug purposes - #- name: DLT_GATEWAY_HOST - # value: "mock-blockchain.tfs-bchain.svc.cluster.local" - #- name: DLT_GATEWAY_PORT - # value: "50051" - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:8080"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:8080"] - resources: - requests: - cpu: 50m - memory: 64Mi - limits: - cpu: 500m - memory: 512Mi - - name: gateway - image: labs.etsi.org:5050/tfs/controller/dlt-gateway:latest - imagePullPolicy: Always - ports: - - containerPort: 50051 - #readinessProbe: - # httpGet: - # path: /health - # port: 8081 - # initialDelaySeconds: 5 - # timeoutSeconds: 5 - #livenessProbe: - # httpGet: - # path: /health - # port: 8081 - # initialDelaySeconds: 5 - # timeoutSeconds: 5 - resources: - requests: - cpu: 200m - memory: 512Mi - limits: - cpu: 700m - memory: 1024Mi + - name: connector + image: labs.etsi.org:5050/tfs/controller/dlt-connector:latest + imagePullPolicy: Always + ports: + - containerPort: 8080 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + ## for debug purposes + #- name: DLT_GATEWAY_HOST + # value: "mock-blockchain.tfs-bchain.svc.cluster.local" + #- name: DLT_GATEWAY_PORT + # value: "50051" + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:8080"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:8080"] + resources: + requests: + cpu: 50m + memory: 64Mi + limits: + cpu: 500m + memory: 512Mi + - name: gateway + image: labs.etsi.org:5050/tfs/controller/dlt-gateway:latest + imagePullPolicy: Always + ports: + - containerPort: 50051 + #readinessProbe: + # httpGet: + # path: /health + # port: 8081 + # initialDelaySeconds: 5 + # timeoutSeconds: 5 + #livenessProbe: + # httpGet: + # path: /health + # port: 8081 + # initialDelaySeconds: 5 + # timeoutSeconds: 5 + resources: + requests: + cpu: 200m + memory: 512Mi + limits: + cpu: 700m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -90,11 +90,11 @@ spec: selector: app: dltservice ports: - - name: grpc - protocol: TCP - port: 8080 - targetPort: 8080 - - name: metrics - protocol: TCP - port: 9192 - targetPort: 9192 + - name: grpc + protocol: TCP + port: 8080 + targetPort: 8080 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 diff --git a/manifests/e2e_orchestratorservice.yaml b/manifests/e2e_orchestratorservice.yaml index 899e17fff..90d377711 100644 --- a/manifests/e2e_orchestratorservice.yaml +++ b/manifests/e2e_orchestratorservice.yaml @@ -27,28 +27,28 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/e2e_orchestrator:latest - imagePullPolicy: Always - ports: - - containerPort: 10050 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "INFO" - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10050"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10050"] - resources: - requests: - cpu: 250m - memory: 128Mi - limits: - cpu: 1000m - memory: 1024Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/e2e_orchestrator:latest + imagePullPolicy: Always + ports: + - containerPort: 10050 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10050"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10050"] + resources: + requests: + cpu: 250m + memory: 128Mi + limits: + cpu: 1000m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -61,12 +61,12 @@ spec: selector: app: e2e-orchestratorservice ports: - - name: grpc - port: 10050 - targetPort: 10050 - - name: metrics - port: 9192 - targetPort: 9192 + - name: grpc + port: 10050 + targetPort: 10050 + - name: metrics + port: 9192 + targetPort: 9192 --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler @@ -80,12 +80,12 @@ spec: minReplicas: 1 maxReplicas: 20 metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 #behavior: # scaleDown: # stabilizationWindowSeconds: 30 diff --git a/manifests/forecasterservice.yaml b/manifests/forecasterservice.yaml index 55d4add88..d1136f617 100644 --- a/manifests/forecasterservice.yaml +++ b/manifests/forecasterservice.yaml @@ -28,35 +28,35 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/forecaster:latest - imagePullPolicy: Always - ports: - - containerPort: 10040 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "INFO" - - name: FORECAST_TO_HISTORY_RATIO - value: "10" - startupProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10040"] - failureThreshold: 30 - periodSeconds: 1 - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10040"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10040"] - resources: - requests: - cpu: 250m - memory: 128Mi - limits: - cpu: 1000m - memory: 1024Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/forecaster:latest + imagePullPolicy: Always + ports: + - containerPort: 10040 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + - name: FORECAST_TO_HISTORY_RATIO + value: "10" + startupProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10040"] + failureThreshold: 30 + periodSeconds: 1 + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10040"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10040"] + resources: + requests: + cpu: 250m + memory: 128Mi + limits: + cpu: 1000m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -69,14 +69,14 @@ spec: selector: app: forecasterservice ports: - - name: grpc - protocol: TCP - port: 10040 - targetPort: 10040 - - name: metrics - protocol: TCP - port: 9192 - targetPort: 9192 + - name: grpc + protocol: TCP + port: 10040 + targetPort: 10040 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler @@ -90,12 +90,12 @@ spec: minReplicas: 1 maxReplicas: 20 metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 #behavior: # scaleDown: # stabilizationWindowSeconds: 30 diff --git a/manifests/interdomainservice.yaml b/manifests/interdomainservice.yaml index a23583402..ad9be3a3e 100644 --- a/manifests/interdomainservice.yaml +++ b/manifests/interdomainservice.yaml @@ -27,30 +27,30 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/interdomain:latest - imagePullPolicy: Always - ports: - - containerPort: 10010 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "INFO" - - name: TOPOLOGY_ABSTRACTOR - value: "DISABLE" - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10010"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10010"] - resources: - requests: - cpu: 250m - memory: 64Mi - limits: - cpu: 1000m - memory: 1024Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/interdomain:latest + imagePullPolicy: Always + ports: + - containerPort: 10010 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + - name: TOPOLOGY_ABSTRACTOR + value: "DISABLE" + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10010"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10010"] + resources: + requests: + cpu: 250m + memory: 64Mi + limits: + cpu: 1000m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -63,11 +63,11 @@ spec: selector: app: interdomainservice ports: - - name: grpc - protocol: TCP - port: 10010 - targetPort: 10010 - - name: metrics - protocol: TCP - port: 9192 - targetPort: 9192 + - name: grpc + protocol: TCP + port: 10010 + targetPort: 10010 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 diff --git a/manifests/l3_attackmitigatorservice.yaml b/manifests/l3_attackmitigatorservice.yaml index ee97d2c92..973b805bd 100644 --- a/manifests/l3_attackmitigatorservice.yaml +++ b/manifests/l3_attackmitigatorservice.yaml @@ -27,28 +27,28 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/l3_attackmitigator:latest - imagePullPolicy: Always - ports: - - containerPort: 10002 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "DEBUG" - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10002"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10002"] - resources: - requests: - cpu: 250m - memory: 512Mi - limits: - cpu: 700m - memory: 1024Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/l3_attackmitigator:latest + imagePullPolicy: Always + ports: + - containerPort: 10002 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10002"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10002"] + resources: + requests: + cpu: 250m + memory: 512Mi + limits: + cpu: 700m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -61,13 +61,13 @@ spec: selector: app: l3-attackmitigatorservice ports: - - name: metrics - protocol: TCP - port: 9192 - targetPort: 9192 - - name: grpc - port: 10002 - targetPort: 10002 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 + - name: grpc + port: 10002 + targetPort: 10002 --- apiVersion: autoscaling/v2 @@ -82,12 +82,12 @@ spec: minReplicas: 1 maxReplicas: 10 metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 behavior: scaleDown: stabilizationWindowSeconds: 120 @@ -100,9 +100,9 @@ metadata: labels: app: l3-attackmitigatorservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -112,11 +112,11 @@ spec: app: l3-attackmitigatorservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running diff --git a/manifests/l3_centralizedattackdetectorservice.yaml b/manifests/l3_centralizedattackdetectorservice.yaml index 8a3be69b6..98c5f9b41 100644 --- a/manifests/l3_centralizedattackdetectorservice.yaml +++ b/manifests/l3_centralizedattackdetectorservice.yaml @@ -27,36 +27,36 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/l3_centralizedattackdetector:latest - imagePullPolicy: Always - ports: - - containerPort: 10001 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "DEBUG" - - name: BATCH_SIZE - value: "256" - - name: CAD_CLASSIFICATION_THRESHOLD - value: "0.5" - - name: MONITORED_KPIS_TIME_INTERVAL_AGG - value: "60" - - name: TEST_ML_MODEL - value: "0" - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10001"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10001"] - resources: - requests: - cpu: 250m - memory: 512Mi - limits: - cpu: 700m - memory: 1024Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/l3_centralizedattackdetector:latest + imagePullPolicy: Always + ports: + - containerPort: 10001 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + - name: BATCH_SIZE + value: "256" + - name: CAD_CLASSIFICATION_THRESHOLD + value: "0.5" + - name: MONITORED_KPIS_TIME_INTERVAL_AGG + value: "60" + - name: TEST_ML_MODEL + value: "0" + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10001"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10001"] + resources: + requests: + cpu: 250m + memory: 512Mi + limits: + cpu: 700m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -69,13 +69,13 @@ spec: selector: app: l3-centralizedattackdetectorservice ports: - - name: metrics - protocol: TCP - port: 9192 - targetPort: 9192 - - name: grpc - port: 10001 - targetPort: 10001 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 + - name: grpc + port: 10001 + targetPort: 10001 --- apiVersion: autoscaling/v2 @@ -90,12 +90,12 @@ spec: minReplicas: 1 maxReplicas: 10 metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 behavior: scaleDown: stabilizationWindowSeconds: 120 @@ -107,9 +107,9 @@ metadata: labels: app: l3-centralizedattackdetectorservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -119,11 +119,11 @@ spec: app: l3-centralizedattackdetectorservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running diff --git a/manifests/l3_distributedattackdetectorservice.yaml b/manifests/l3_distributedattackdetectorservice.yaml index b363c1d5c..bf72b5cd0 100644 --- a/manifests/l3_distributedattackdetectorservice.yaml +++ b/manifests/l3_distributedattackdetectorservice.yaml @@ -27,27 +27,27 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/l3_distributedattackdetector:latest - imagePullPolicy: Always - ports: - - containerPort: 10000 - env: - - name: LOG_LEVEL - value: "DEBUG" - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10000"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10000"] - resources: - requests: - cpu: 250m - memory: 512Mi - limits: - cpu: 700m - memory: 1024Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/l3_distributedattackdetector:latest + imagePullPolicy: Always + ports: + - containerPort: 10000 + env: + - name: LOG_LEVEL + value: "INFO" + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10000"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10000"] + resources: + requests: + cpu: 250m + memory: 512Mi + limits: + cpu: 700m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -58,6 +58,6 @@ spec: selector: app: l3-distributedattackdetectorservice ports: - - name: grpc - port: 10000 - targetPort: 10000 + - name: grpc + port: 10000 + targetPort: 10000 diff --git a/manifests/load_generatorservice.yaml b/manifests/load_generatorservice.yaml index 7cc6f1912..bda284ebd 100644 --- a/manifests/load_generatorservice.yaml +++ b/manifests/load_generatorservice.yaml @@ -28,28 +28,28 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/load_generator:latest - imagePullPolicy: Always - ports: - - containerPort: 50052 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "INFO" - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:50052"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:50052"] - resources: - requests: - cpu: 256m - memory: 64Mi - limits: - cpu: 512m - memory: 128Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/load_generator:latest + imagePullPolicy: Always + ports: + - containerPort: 50052 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:50052"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:50052"] + resources: + requests: + cpu: 256m + memory: 64Mi + limits: + cpu: 512m + memory: 128Mi --- apiVersion: v1 kind: Service @@ -62,11 +62,11 @@ spec: selector: app: load-generatorservice ports: - - name: grpc - protocol: TCP - port: 50052 - targetPort: 50052 - - name: metrics - protocol: TCP - port: 9192 - targetPort: 9192 + - name: grpc + protocol: TCP + port: 50052 + targetPort: 50052 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 diff --git a/manifests/mock_blockchain.yaml b/manifests/mock_blockchain.yaml index 1093610f8..806432be6 100644 --- a/manifests/mock_blockchain.yaml +++ b/manifests/mock_blockchain.yaml @@ -27,27 +27,27 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/mock_blockchain:latest - imagePullPolicy: Always - ports: - - containerPort: 50051 - env: - - name: LOG_LEVEL - value: "INFO" - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:50051"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:50051"] - resources: - requests: - cpu: 100m - memory: 512Mi - limits: - cpu: 700m - memory: 1024Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/mock_blockchain:latest + imagePullPolicy: Always + ports: + - containerPort: 50051 + env: + - name: LOG_LEVEL + value: "INFO" + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:50051"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:50051"] + resources: + requests: + cpu: 100m + memory: 512Mi + limits: + cpu: 700m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -58,7 +58,7 @@ spec: selector: app: mock-blockchain ports: - - name: grpc - protocol: TCP - port: 50051 - targetPort: 50051 + - name: grpc + protocol: TCP + port: 50051 + targetPort: 50051 diff --git a/manifests/monitoringservice.yaml b/manifests/monitoringservice.yaml index 1a2059395..3a4d43cd9 100644 --- a/manifests/monitoringservice.yaml +++ b/manifests/monitoringservice.yaml @@ -28,31 +28,31 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/monitoring:latest - imagePullPolicy: Always - ports: - - containerPort: 7070 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "DEBUG" - envFrom: - - secretRef: - name: qdb-data - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:7070"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:7070"] - resources: - requests: - cpu: 250m - memory: 256Mi - limits: - cpu: 1000m - memory: 1024Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/monitoring:latest + imagePullPolicy: Always + ports: + - containerPort: 7070 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + envFrom: + - secretRef: + name: qdb-data + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:7070"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:7070"] + resources: + requests: + cpu: 250m + memory: 256Mi + limits: + cpu: 1000m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -65,11 +65,11 @@ spec: selector: app: monitoringservice ports: - - name: grpc - protocol: TCP - port: 7070 - targetPort: 7070 - - name: metrics - protocol: TCP - port: 9192 - targetPort: 9192 + - name: grpc + protocol: TCP + port: 7070 + targetPort: 7070 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 diff --git a/manifests/nbiservice.yaml b/manifests/nbiservice.yaml index f5477aeb4..0a3bd1ea6 100644 --- a/manifests/nbiservice.yaml +++ b/manifests/nbiservice.yaml @@ -28,29 +28,29 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/nbi:latest - imagePullPolicy: Always - ports: - - containerPort: 8080 - - containerPort: 9090 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "DEBUG" - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:9090"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:9090"] - resources: - requests: - cpu: 50m - memory: 64Mi - limits: - cpu: 500m - memory: 512Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/nbi:latest + imagePullPolicy: Always + ports: + - containerPort: 8080 + - containerPort: 9090 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:9090"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:9090"] + resources: + requests: + cpu: 50m + memory: 64Mi + limits: + cpu: 500m + memory: 512Mi --- apiVersion: v1 kind: Service @@ -63,15 +63,15 @@ spec: selector: app: nbiservice ports: - - name: http - protocol: TCP - port: 8080 - targetPort: 8080 - - name: grpc - protocol: TCP - port: 9090 - targetPort: 9090 - - name: metrics - protocol: TCP - port: 9192 - targetPort: 9192 + - name: http + protocol: TCP + port: 8080 + targetPort: 8080 + - name: grpc + protocol: TCP + port: 9090 + targetPort: 9090 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 diff --git a/manifests/nginx_ingress_http.yaml b/manifests/nginx_ingress_http.yaml index e8e8a80e4..91440fb7a 100644 --- a/manifests/nginx_ingress_http.yaml +++ b/manifests/nginx_ingress_http.yaml @@ -20,40 +20,40 @@ metadata: nginx.ingress.kubernetes.io/rewrite-target: /$2 spec: rules: - - http: - paths: - - path: /webui(/|$)(.*) - pathType: Prefix - backend: - service: - name: webuiservice - port: - number: 8004 - - path: /grafana(/|$)(.*) - pathType: Prefix - backend: - service: - name: webuiservice - port: - number: 3000 - - path: /()(restconf/.*) - pathType: Prefix - backend: - service: - name: nbiservice - port: - number: 8080 - - path: /()(debug-api/.*) - pathType: Prefix - backend: - service: - name: nbiservice - port: - number: 8080 - - path: /()(bmw/.*) - pathType: Prefix - backend: - service: - name: nbiservice - port: - number: 8080 + - http: + paths: + - path: /webui(/|$)(.*) + pathType: Prefix + backend: + service: + name: webuiservice + port: + number: 8004 + - path: /grafana(/|$)(.*) + pathType: Prefix + backend: + service: + name: webuiservice + port: + number: 3000 + - path: /()(restconf/.*) + pathType: Prefix + backend: + service: + name: nbiservice + port: + number: 8080 + - path: /()(debug-api/.*) + pathType: Prefix + backend: + service: + name: nbiservice + port: + number: 8080 + - path: /()(bmw/.*) + pathType: Prefix + backend: + service: + name: nbiservice + port: + number: 8080 diff --git a/manifests/opticalattackdetectorservice.yaml b/manifests/opticalattackdetectorservice.yaml index 197c23dd2..11fd62b61 100644 --- a/manifests/opticalattackdetectorservice.yaml +++ b/manifests/opticalattackdetectorservice.yaml @@ -27,33 +27,33 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/opticalattackdetector:latest - imagePullPolicy: Always - ports: - - containerPort: 10006 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "INFO" - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: redis-secrets - key: REDIS_PASSWORD - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10006"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10006"] - resources: - requests: - cpu: 250m - memory: 128Mi - limits: - cpu: 1000m - memory: 1024Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/opticalattackdetector:latest + imagePullPolicy: Always + ports: + - containerPort: 10006 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + name: redis-secrets + key: REDIS_PASSWORD + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10006"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10006"] + resources: + requests: + cpu: 250m + memory: 128Mi + limits: + cpu: 1000m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -66,12 +66,12 @@ spec: selector: app: opticalattackdetectorservice ports: - - name: grpc - port: 10006 - targetPort: 10006 - - name: metrics - port: 9192 - targetPort: 9192 + - name: grpc + port: 10006 + targetPort: 10006 + - name: metrics + port: 9192 + targetPort: 9192 --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler @@ -85,12 +85,12 @@ spec: minReplicas: 1 maxReplicas: 20 metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 #behavior: # scaleDown: # stabilizationWindowSeconds: 30 diff --git a/manifests/opticalattackmanagerservice.yaml b/manifests/opticalattackmanagerservice.yaml index f9838bcbb..4e01d76ac 100644 --- a/manifests/opticalattackmanagerservice.yaml +++ b/manifests/opticalattackmanagerservice.yaml @@ -28,33 +28,33 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/opticalattackmanager:latest - imagePullPolicy: Always - ports: - - containerPort: 10005 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "INFO" - - name: MONITORING_INTERVAL - value: "30" - - name: OPTICALATTACKMANAGERSERVICE_LOOP_MIN_WORKERS - value: "2" # remember to align this with the resource limits - - name: OPTICALATTACKMANAGERSERVICE_LOOP_MAX_WORKERS - value: "10" # remember to align this with the resource limits - - name: REDIS_PASSWORD - valueFrom: - secretKeyRef: - name: redis-secrets - key: REDIS_PASSWORD - resources: - requests: - cpu: 250m - memory: 128Mi - limits: - cpu: 10000m - memory: 10240Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/opticalattackmanager:latest + imagePullPolicy: Always + ports: + - containerPort: 10005 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + - name: MONITORING_INTERVAL + value: "30" + - name: OPTICALATTACKMANAGERSERVICE_LOOP_MIN_WORKERS + value: "2" # remember to align this with the resource limits + - name: OPTICALATTACKMANAGERSERVICE_LOOP_MAX_WORKERS + value: "10" # remember to align this with the resource limits + - name: REDIS_PASSWORD + valueFrom: + secretKeyRef: + name: redis-secrets + key: REDIS_PASSWORD + resources: + requests: + cpu: 250m + memory: 128Mi + limits: + cpu: 10000m + memory: 10240Mi --- apiVersion: v1 kind: Service @@ -67,9 +67,9 @@ spec: selector: app: opticalattackmanagerservice ports: - - name: grpc - port: 10005 - targetPort: 10005 - - name: metrics - port: 9192 - targetPort: 9192 + - name: grpc + port: 10005 + targetPort: 10005 + - name: metrics + port: 9192 + targetPort: 9192 diff --git a/manifests/opticalattackmitigatorservice.yaml b/manifests/opticalattackmitigatorservice.yaml index 4d148b347..255e0fd86 100644 --- a/manifests/opticalattackmitigatorservice.yaml +++ b/manifests/opticalattackmitigatorservice.yaml @@ -27,28 +27,28 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/opticalattackmitigator:latest - imagePullPolicy: Always - ports: - - containerPort: 10007 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "INFO" - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10007"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10007"] - resources: - requests: - cpu: 250m - memory: 128Mi - limits: - cpu: 1000m - memory: 1024Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/opticalattackmitigator:latest + imagePullPolicy: Always + ports: + - containerPort: 10007 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10007"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10007"] + resources: + requests: + cpu: 250m + memory: 128Mi + limits: + cpu: 1000m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -61,12 +61,12 @@ spec: selector: app: opticalattackmitigatorservice ports: - - name: grpc - port: 10007 - targetPort: 10007 - - name: metrics - port: 9192 - targetPort: 9192 + - name: grpc + port: 10007 + targetPort: 10007 + - name: metrics + port: 9192 + targetPort: 9192 --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler @@ -80,12 +80,12 @@ spec: minReplicas: 1 maxReplicas: 20 metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 #behavior: # scaleDown: # stabilizationWindowSeconds: 30 diff --git a/manifests/opticalcontrollerservice.yaml b/manifests/opticalcontrollerservice.yaml index 4b677ee4f..f2351720c 100644 --- a/manifests/opticalcontrollerservice.yaml +++ b/manifests/opticalcontrollerservice.yaml @@ -28,28 +28,28 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: localhost:32000/tfs/opticalcontroller:dev - imagePullPolicy: Never - ports: - - containerPort: 10060 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "INFO" - #readinessProbe: - # exec: - # command: ["/bin/grpc_health_probe", "-addr=:10060"] - #livenessProbe: - # exec: - # command: ["/bin/grpc_health_probe", "-addr=:10060"] - resources: - requests: - cpu: 500m - memory: 128Mi - limits: - cpu: 1000m - memory: 1024Mi + - name: server + image: localhost:32000/tfs/opticalcontroller:dev + imagePullPolicy: Never + ports: + - containerPort: 10060 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + #readinessProbe: + # exec: + # command: ["/bin/grpc_health_probe", "-addr=:10060"] + #livenessProbe: + # exec: + # command: ["/bin/grpc_health_probe", "-addr=:10060"] + resources: + requests: + cpu: 500m + memory: 128Mi + limits: + cpu: 1000m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -62,11 +62,11 @@ spec: selector: app: opticalcontrollerservice ports: - - name: grpc - protocol: TCP - port: 10060 - targetPort: 10060 - - name: metrics - protocol: TCP - port: 9192 - targetPort: 9192 + - name: grpc + protocol: TCP + port: 10060 + targetPort: 10060 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 diff --git a/manifests/pathcompservice.yaml b/manifests/pathcompservice.yaml index 4beadea8f..f017e6940 100644 --- a/manifests/pathcompservice.yaml +++ b/manifests/pathcompservice.yaml @@ -28,54 +28,54 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: frontend - image: labs.etsi.org:5050/tfs/controller/pathcomp-frontend:latest - imagePullPolicy: Always - ports: - - containerPort: 10020 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "DEBUG" - - name: ENABLE_FORECASTER - value: "YES" - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10020"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:10020"] - resources: - requests: - cpu: 250m - memory: 128Mi - limits: - cpu: 1000m - memory: 1024Mi - - name: backend - image: labs.etsi.org:5050/tfs/controller/pathcomp-backend:latest - imagePullPolicy: Always - ports: - - containerPort: 8081 - #readinessProbe: - # httpGet: - # path: /health - # port: 8081 - # initialDelaySeconds: 5 - # timeoutSeconds: 5 - #livenessProbe: - # httpGet: - # path: /health - # port: 8081 - # initialDelaySeconds: 5 - # timeoutSeconds: 5 - resources: - requests: - cpu: 250m - memory: 256Mi - limits: - cpu: 1000m - memory: 1024Mi + - name: frontend + image: labs.etsi.org:5050/tfs/controller/pathcomp-frontend:latest + imagePullPolicy: Always + ports: + - containerPort: 10020 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + - name: ENABLE_FORECASTER + value: "NO" + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10020"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:10020"] + resources: + requests: + cpu: 250m + memory: 128Mi + limits: + cpu: 1000m + memory: 1024Mi + - name: backend + image: labs.etsi.org:5050/tfs/controller/pathcomp-backend:latest + imagePullPolicy: Always + ports: + - containerPort: 8081 + #readinessProbe: + # httpGet: + # path: /health + # port: 8081 + # initialDelaySeconds: 5 + # timeoutSeconds: 5 + #livenessProbe: + # httpGet: + # path: /health + # port: 8081 + # initialDelaySeconds: 5 + # timeoutSeconds: 5 + resources: + requests: + cpu: 250m + memory: 256Mi + limits: + cpu: 1000m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -88,18 +88,18 @@ spec: selector: app: pathcompservice ports: - - name: grpc - protocol: TCP - port: 10020 - targetPort: 10020 - - name: http - protocol: TCP - port: 8081 - targetPort: 8081 - - name: metrics - protocol: TCP - port: 9192 - targetPort: 9192 + - name: grpc + protocol: TCP + port: 10020 + targetPort: 10020 + - name: http + protocol: TCP + port: 8081 + targetPort: 8081 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler @@ -113,12 +113,12 @@ spec: minReplicas: 1 maxReplicas: 20 metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 #behavior: # scaleDown: # stabilizationWindowSeconds: 30 diff --git a/manifests/policyservice.yaml b/manifests/policyservice.yaml index b34331724..b93eeda03 100644 --- a/manifests/policyservice.yaml +++ b/manifests/policyservice.yaml @@ -121,9 +121,9 @@ spec: minReplicas: 1 maxReplicas: 10 metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 diff --git a/manifests/prometheus.yaml b/manifests/prometheus.yaml index 43a766b6e..ec1ffb0c5 100644 --- a/manifests/prometheus.yaml +++ b/manifests/prometheus.yaml @@ -60,18 +60,18 @@ spec: spec: #serviceAccountName: prometheus containers: - - name: prometheus - image: prom/prometheus:v2.28.1 - ports: - - containerPort: 9090 - volumeMounts: - - name: prometheus-config-volume - mountPath: /etc/prometheus/prometheus.yml - subPath: prometheus.yml + - name: prometheus + image: prom/prometheus:v2.28.1 + ports: + - containerPort: 9090 + volumeMounts: + - name: prometheus-config-volume + mountPath: /etc/prometheus/prometheus.yml + subPath: prometheus.yml volumes: - - name: prometheus-config-volume - configMap: - name: prometheus-config + - name: prometheus-config-volume + configMap: + name: prometheus-config restartPolicy: Always --- apiVersion: v1 @@ -85,8 +85,9 @@ spec: selector: app: prometheus ports: - - name: http - protocol: TCP - port: 9090 - targetPort: 9090 + - name: http + protocol: TCP + port: 9090 + targetPort: 9090 --- + diff --git a/manifests/servicemonitors.yaml b/manifests/servicemonitors.yaml index 1f7f3322d..ccfe774b3 100644 --- a/manifests/servicemonitors.yaml +++ b/manifests/servicemonitors.yaml @@ -20,9 +20,9 @@ metadata: labels: app: contextservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -32,14 +32,14 @@ spec: app: contextservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -49,9 +49,9 @@ metadata: labels: app: deviceservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -61,14 +61,14 @@ spec: app: deviceservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -78,9 +78,9 @@ metadata: labels: app: serviceservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -90,14 +90,14 @@ spec: app: serviceservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -107,9 +107,9 @@ metadata: labels: app: sliceservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -119,14 +119,14 @@ spec: app: sliceservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -136,9 +136,9 @@ metadata: labels: app: pathcompservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -148,14 +148,14 @@ spec: app: pathcompservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -165,9 +165,9 @@ metadata: labels: app: monitoringservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -177,14 +177,14 @@ spec: app: monitoringservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -194,9 +194,9 @@ metadata: labels: app: dltservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -206,14 +206,14 @@ spec: app: dltservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -223,9 +223,9 @@ metadata: labels: app: interdomainservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -235,14 +235,14 @@ spec: app: interdomainservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -252,9 +252,9 @@ metadata: labels: app: policyservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -264,14 +264,14 @@ spec: app: policyservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /q/metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /q/metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -281,9 +281,9 @@ metadata: labels: app: ztpservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -293,14 +293,14 @@ spec: app: ztpservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /q/metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /q/metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -310,9 +310,9 @@ metadata: labels: app: nbiservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -322,14 +322,14 @@ spec: app: nbiservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -339,9 +339,9 @@ metadata: labels: app: load-generatorservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -351,14 +351,14 @@ spec: app: load-generatorservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -368,9 +368,9 @@ metadata: labels: app: dbscanservingservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -380,14 +380,14 @@ spec: app: dbscanservingservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -397,9 +397,9 @@ metadata: labels: app: opticalattackmitigatorservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -409,14 +409,14 @@ spec: app: opticalattackmitigatorservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -426,9 +426,9 @@ metadata: labels: app: opticalattackdetectorservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -438,14 +438,14 @@ spec: app: opticalattackdetectorservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running --- apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor @@ -455,9 +455,9 @@ metadata: labels: app: opticalattackmanagerservice #release: prometheus - #release: prom # name of the release - # ( VERY IMPORTANT: You need to know the correct release name by viewing - # the servicemonitor of Prometheus itself: Without the correct name, + #release: prom # name of the release + # ( VERY IMPORTANT: You need to know the correct release name by viewing + # the servicemonitor of Prometheus itself: Without the correct name, # Prometheus cannot identify the metrics of the Flask app as the target.) spec: selector: @@ -467,11 +467,11 @@ spec: app: opticalattackmanagerservice # same as above #release: prometheus # same as above endpoints: - - port: metrics # named port in target app - scheme: http - path: /metrics # path to scrape - interval: 5s # scrape interval + - port: metrics # named port in target app + scheme: http + path: /metrics # path to scrape + interval: 5s # scrape interval namespaceSelector: any: false matchNames: - - tfs # namespace where the app is running + - tfs # namespace where the app is running diff --git a/manifests/serviceservice.yaml b/manifests/serviceservice.yaml index 3865fd6c0..2fb7ebb87 100644 --- a/manifests/serviceservice.yaml +++ b/manifests/serviceservice.yaml @@ -28,28 +28,28 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/service:latest - imagePullPolicy: Always - ports: - - containerPort: 3030 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "DEBUG" - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:3030"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:3030"] - resources: - requests: - cpu: 250m - memory: 128Mi - limits: - cpu: 1000m - memory: 1024Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/service:latest + imagePullPolicy: Always + ports: + - containerPort: 3030 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:3030"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:3030"] + resources: + requests: + cpu: 250m + memory: 128Mi + limits: + cpu: 1000m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -62,14 +62,14 @@ spec: selector: app: serviceservice ports: - - name: grpc - protocol: TCP - port: 3030 - targetPort: 3030 - - name: metrics - protocol: TCP - port: 9192 - targetPort: 9192 + - name: grpc + protocol: TCP + port: 3030 + targetPort: 3030 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler @@ -83,12 +83,12 @@ spec: minReplicas: 1 maxReplicas: 20 metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 #behavior: # scaleDown: # stabilizationWindowSeconds: 30 diff --git a/manifests/sliceservice.yaml b/manifests/sliceservice.yaml index 61f5b1d21..0daa8e70f 100644 --- a/manifests/sliceservice.yaml +++ b/manifests/sliceservice.yaml @@ -28,33 +28,33 @@ spec: spec: terminationGracePeriodSeconds: 5 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/slice:latest - imagePullPolicy: Always - ports: - - containerPort: 4040 - - containerPort: 9192 - env: - - name: LOG_LEVEL - value: "DEBUG" - - name: SLICE_GROUPING - value: "DISABLE" - envFrom: - - secretRef: - name: qdb-data - readinessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:4040"] - livenessProbe: - exec: - command: ["/bin/grpc_health_probe", "-addr=:4040"] - resources: - requests: - cpu: 250m - memory: 128Mi - limits: - cpu: 1000m - memory: 1024Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/slice:latest + imagePullPolicy: Always + ports: + - containerPort: 4040 + - containerPort: 9192 + env: + - name: LOG_LEVEL + value: "INFO" + - name: SLICE_GROUPING + value: "DISABLE" + envFrom: + - secretRef: + name: qdb-data + readinessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:4040"] + livenessProbe: + exec: + command: ["/bin/grpc_health_probe", "-addr=:4040"] + resources: + requests: + cpu: 250m + memory: 128Mi + limits: + cpu: 1000m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -67,14 +67,14 @@ spec: selector: app: sliceservice ports: - - name: grpc - protocol: TCP - port: 4040 - targetPort: 4040 - - name: metrics - protocol: TCP - port: 9192 - targetPort: 9192 + - name: grpc + protocol: TCP + port: 4040 + targetPort: 4040 + - name: metrics + protocol: TCP + port: 9192 + targetPort: 9192 --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler @@ -88,12 +88,12 @@ spec: minReplicas: 1 maxReplicas: 20 metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 #behavior: # scaleDown: # stabilizationWindowSeconds: 30 diff --git a/manifests/teservice.yaml b/manifests/teservice.yaml index 15f1619df..ec8f2e3d6 100644 --- a/manifests/teservice.yaml +++ b/manifests/teservice.yaml @@ -30,37 +30,37 @@ spec: terminationGracePeriodSeconds: 5 shareProcessNamespace: true containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/te:latest - imagePullPolicy: Always - ports: - - containerPort: 10030 - env: - - name: ERLANG_LOGGER_LEVEL - value: "debug" - - name: ERLANG_COOKIE - value: "tfte-unsafe-cookie" - - name: ERLANG_NODE_NAME - valueFrom: - fieldRef: - fieldPath: metadata.name - - name: ERLANG_NODE_IP - valueFrom: - fieldRef: - fieldPath: status.podIP - readinessProbe: - exec: - command: ["/tfte/bin/tfte", "status"] - livenessProbe: - exec: - command: ["/tfte/bin/tfte", "status"] - resources: - requests: - cpu: 250m - memory: 512Mi - limits: - cpu: 700m - memory: 1024Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/te:latest + imagePullPolicy: Always + ports: + - containerPort: 10030 + env: + - name: ERLANG_LOGGER_LEVEL + value: "debug" + - name: ERLANG_COOKIE + value: "tfte-unsafe-cookie" + - name: ERLANG_NODE_NAME + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: ERLANG_NODE_IP + valueFrom: + fieldRef: + fieldPath: status.podIP + readinessProbe: + exec: + command: ["/tfte/bin/tfte", "status"] + livenessProbe: + exec: + command: ["/tfte/bin/tfte", "status"] + resources: + requests: + cpu: 250m + memory: 512Mi + limits: + cpu: 700m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -71,11 +71,11 @@ spec: selector: app: teservice ports: - - name: grpc - protocol: TCP - port: 10030 - targetPort: 10030 - - name: pcep - protocol: TCP - port: 4189 - targetPort: 4189 + - name: grpc + protocol: TCP + port: 10030 + targetPort: 10030 + - name: pcep + protocol: TCP + port: 4189 + targetPort: 4189 diff --git a/manifests/webuiservice.yaml b/manifests/webuiservice.yaml index 43caa9f04..bb2573c45 100644 --- a/manifests/webuiservice.yaml +++ b/manifests/webuiservice.yaml @@ -32,73 +32,73 @@ spec: supplementalGroups: - 0 containers: - - name: server - image: labs.etsi.org:5050/tfs/controller/webui:latest - imagePullPolicy: Always - ports: - - containerPort: 8004 - env: - - name: LOG_LEVEL - value: "INFO" - - name: WEBUISERVICE_SERVICE_BASEURL_HTTP - value: "/webui/" - readinessProbe: - httpGet: - path: /healthz/ready - port: 8004 - initialDelaySeconds: 5 - timeoutSeconds: 1 - livenessProbe: - httpGet: - path: /healthz/live - port: 8004 - initialDelaySeconds: 5 - timeoutSeconds: 1 - resources: - requests: - cpu: 50m - memory: 128Mi - limits: - cpu: 1000m - memory: 1024Mi - - name: grafana - image: grafana/grafana:8.5.22 - imagePullPolicy: IfNotPresent - ports: - - containerPort: 3000 - name: http-grafana - protocol: TCP - env: - - name: GF_SERVER_ROOT_URL - value: "http://0.0.0.0:3000/grafana/" - - name: GF_SERVER_SERVE_FROM_SUB_PATH - value: "true" - readinessProbe: - failureThreshold: 60 - httpGet: - #path: /robots.txt - path: /login - port: 3000 - scheme: HTTP - initialDelaySeconds: 1 - periodSeconds: 1 - successThreshold: 1 - timeoutSeconds: 2 - livenessProbe: - failureThreshold: 60 - initialDelaySeconds: 1 - periodSeconds: 1 - successThreshold: 1 - tcpSocket: - port: 3000 - timeoutSeconds: 1 - resources: - requests: - cpu: 250m - memory: 512Mi - limits: - cpu: 500m - memory: 1024Mi + - name: server + image: labs.etsi.org:5050/tfs/controller/webui:latest + imagePullPolicy: Always + ports: + - containerPort: 8004 + env: + - name: LOG_LEVEL + value: "INFO" + - name: WEBUISERVICE_SERVICE_BASEURL_HTTP + value: "/webui/" + readinessProbe: + httpGet: + path: /healthz/ready + port: 8004 + initialDelaySeconds: 5 + timeoutSeconds: 1 + livenessProbe: + httpGet: + path: /healthz/live + port: 8004 + initialDelaySeconds: 5 + timeoutSeconds: 1 + resources: + requests: + cpu: 50m + memory: 128Mi + limits: + cpu: 1000m + memory: 1024Mi + - name: grafana + image: grafana/grafana:8.5.22 + imagePullPolicy: IfNotPresent + ports: + - containerPort: 3000 + name: http-grafana + protocol: TCP + env: + - name: GF_SERVER_ROOT_URL + value: "http://0.0.0.0:3000/grafana/" + - name: GF_SERVER_SERVE_FROM_SUB_PATH + value: "true" + readinessProbe: + failureThreshold: 60 + httpGet: + #path: /robots.txt + path: /login + port: 3000 + scheme: HTTP + initialDelaySeconds: 1 + periodSeconds: 1 + successThreshold: 1 + timeoutSeconds: 2 + livenessProbe: + failureThreshold: 60 + initialDelaySeconds: 1 + periodSeconds: 1 + successThreshold: 1 + tcpSocket: + port: 3000 + timeoutSeconds: 1 + resources: + requests: + cpu: 250m + memory: 512Mi + limits: + cpu: 500m + memory: 1024Mi --- apiVersion: v1 kind: Service @@ -111,9 +111,9 @@ spec: selector: app: webuiservice ports: - - name: webui - port: 8004 - targetPort: 8004 - - name: grafana - port: 3000 - targetPort: 3000 + - name: webui + port: 8004 + targetPort: 8004 + - name: grafana + port: 3000 + targetPort: 3000 diff --git a/manifests/ztpservice.yaml b/manifests/ztpservice.yaml index e2be80cea..323d3c4bc 100644 --- a/manifests/ztpservice.yaml +++ b/manifests/ztpservice.yaml @@ -117,9 +117,9 @@ spec: minReplicas: 1 maxReplicas: 10 metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 + - type: Resource + resource: + name: cpu + target: + type: Utilization + averageUtilization: 80 -- GitLab From 57b355ebd49f8eff303386e40de20cde1a19c1d9 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 20 Mar 2024 12:25:00 +0000 Subject: [PATCH 063/156] GitLab CI/CD pipeline - ECOC'22 - Cleanup for final testing --- src/tests/ecoc22/.gitlab-ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/tests/ecoc22/.gitlab-ci.yml b/src/tests/ecoc22/.gitlab-ci.yml index 9f20076bf..f3fb8d098 100644 --- a/src/tests/ecoc22/.gitlab-ci.yml +++ b/src/tests/ecoc22/.gitlab-ci.yml @@ -54,12 +54,12 @@ end2end_test ecoc22: - kubectl get pods --all-namespaces # Configure TeraFlowSDN deployment - - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/contextservice.yaml - - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/deviceservice.yaml - - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="frontend").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/pathcompservice.yaml - - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/serviceservice.yaml - - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/sliceservice.yaml - - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/contextservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/deviceservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="frontend").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/pathcompservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/serviceservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/sliceservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml - source src/tests/${TEST_NAME}/deploy_specs.sh #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" #- export TFS_SKIP_BUILD="" -- GitLab From 12a1639859a5ad5914795056f63f64ffbf9698c0 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 20 Mar 2024 12:26:36 +0000 Subject: [PATCH 064/156] Context component: - Fixed set/update condition for components - Removed unneeded log messages --- src/context/service/database/Device.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/context/service/database/Device.py b/src/context/service/database/Device.py index 7f58ddeb5..d0674e89b 100644 --- a/src/context/service/database/Device.py +++ b/src/context/service/database/Device.py @@ -203,15 +203,15 @@ def device_set(db_engine : Engine, messagebroker : MessageBroker, request : Devi stmt = stmt.returning(TopologyDeviceModel.topology_uuid) topology_uuids = session.execute(stmt).fetchall() - LOGGER.warning('RAW topology_uuids={:s}'.format(str(topology_uuids))) + #LOGGER.warning('RAW topology_uuids={:s}'.format(str(topology_uuids))) if len(topology_uuids) > 0: topology_uuids = [topology_uuid[0] for topology_uuid in topology_uuids] - LOGGER.warning('NEW topology_uuids={:s}'.format(str(topology_uuids))) + #LOGGER.warning('NEW topology_uuids={:s}'.format(str(topology_uuids))) query = session.query(TopologyModel) query = query.filter(TopologyModel.topology_uuid.in_(topology_uuids)) device_topologies : List[TopologyModel] = query.all() device_topology_ids = [obj.dump_id() for obj in device_topologies] - LOGGER.warning('device_topology_ids={:s}'.format(str(device_topology_ids))) + #LOGGER.warning('device_topology_ids={:s}'.format(str(device_topology_ids))) updated_components = False @@ -233,7 +233,7 @@ def device_set(db_engine : Engine, messagebroker : MessageBroker, request : Devi changed_config_rules = upsert_config_rules(session, config_rules, device_uuid=device_uuid) - return updated or updated_endpoints or changed_config_rules, device_topology_ids + return updated or updated_endpoints or updated_components or changed_config_rules, device_topology_ids updated, device_topology_ids = run_transaction(sessionmaker(bind=db_engine), callback) device_id = json_device_id(device_uuid) -- GitLab From fb89be3b2d8b8fb57c151df68c5465f3cbd7a85c Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 20 Mar 2024 12:31:18 +0000 Subject: [PATCH 065/156] GitLab CI/CD pipeline - ECOC'22 & Service component: - Testing failure condition --- .../service/ServiceServiceServicerImpl.py | 22 +++++++++---------- src/tests/ecoc22/.gitlab-ci.yml | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/service/service/ServiceServiceServicerImpl.py b/src/service/service/ServiceServiceServicerImpl.py index b5623885f..37f72efdc 100644 --- a/src/service/service/ServiceServiceServicerImpl.py +++ b/src/service/service/ServiceServiceServicerImpl.py @@ -312,19 +312,19 @@ class ServiceServiceServicerImpl(ServiceServiceServicer): pathcomp_request = PathCompRequest() pathcomp_request.services.append(service_with_uuids) # pylint: disable=no-member - if num_disjoint_paths is None or num_disjoint_paths in {0, 1} : - pathcomp_request.shortest_path.Clear() # pylint: disable=no-member - else: - pathcomp_request.k_disjoint_path.num_disjoint = num_disjoint_paths # pylint: disable=no-member + if num_disjoint_paths is None or num_disjoint_paths in {0, 1} : + pathcomp_request.shortest_path.Clear() # pylint: disable=no-member + else: + pathcomp_request.k_disjoint_path.num_disjoint = num_disjoint_paths # pylint: disable=no-member - pathcomp = PathCompClient() - pathcomp_reply = pathcomp.Compute(pathcomp_request) - pathcomp.close() + pathcomp = PathCompClient() + pathcomp_reply = pathcomp.Compute(pathcomp_request) + pathcomp.close() - # Feed TaskScheduler with this path computation reply. TaskScheduler identifies inter-dependencies among - # the services and connections retrieved and produces a schedule of tasks (an ordered list of tasks to be - # executed) to implement the requested create/update operation. - tasks_scheduler.compose_from_pathcompreply(pathcomp_reply, is_delete=False) + # Feed TaskScheduler with this path computation reply. TaskScheduler identifies inter-dependencies among + # the services and connections retrieved and produces a schedule of tasks (an ordered list of tasks to be + # executed) to implement the requested create/update operation. + tasks_scheduler.compose_from_pathcompreply(pathcomp_reply, is_delete=False) tasks_scheduler.execute_all() return service_with_uuids.service_id diff --git a/src/tests/ecoc22/.gitlab-ci.yml b/src/tests/ecoc22/.gitlab-ci.yml index f3fb8d098..beefc4722 100644 --- a/src/tests/ecoc22/.gitlab-ci.yml +++ b/src/tests/ecoc22/.gitlab-ci.yml @@ -54,6 +54,7 @@ end2end_test ecoc22: - kubectl get pods --all-namespaces # Configure TeraFlowSDN deployment + # Uncomment if DEBUG log level is needed for the components #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/contextservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/deviceservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="frontend").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/pathcompservice.yaml @@ -85,7 +86,6 @@ end2end_test ecoc22: --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest - - docker logs ${TEST_NAME} - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c frontend -- GitLab From 86279da98a5216ce1d119bd751b6268b464f729a Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 20 Mar 2024 12:35:00 +0000 Subject: [PATCH 066/156] Service component: - Recovering manually-forced error used for testing end-to-end integration tests --- .../service/ServiceServiceServicerImpl.py | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/service/service/ServiceServiceServicerImpl.py b/src/service/service/ServiceServiceServicerImpl.py index 37f72efdc..b5623885f 100644 --- a/src/service/service/ServiceServiceServicerImpl.py +++ b/src/service/service/ServiceServiceServicerImpl.py @@ -312,19 +312,19 @@ class ServiceServiceServicerImpl(ServiceServiceServicer): pathcomp_request = PathCompRequest() pathcomp_request.services.append(service_with_uuids) # pylint: disable=no-member - if num_disjoint_paths is None or num_disjoint_paths in {0, 1} : - pathcomp_request.shortest_path.Clear() # pylint: disable=no-member - else: - pathcomp_request.k_disjoint_path.num_disjoint = num_disjoint_paths # pylint: disable=no-member + if num_disjoint_paths is None or num_disjoint_paths in {0, 1} : + pathcomp_request.shortest_path.Clear() # pylint: disable=no-member + else: + pathcomp_request.k_disjoint_path.num_disjoint = num_disjoint_paths # pylint: disable=no-member - pathcomp = PathCompClient() - pathcomp_reply = pathcomp.Compute(pathcomp_request) - pathcomp.close() + pathcomp = PathCompClient() + pathcomp_reply = pathcomp.Compute(pathcomp_request) + pathcomp.close() - # Feed TaskScheduler with this path computation reply. TaskScheduler identifies inter-dependencies among - # the services and connections retrieved and produces a schedule of tasks (an ordered list of tasks to be - # executed) to implement the requested create/update operation. - tasks_scheduler.compose_from_pathcompreply(pathcomp_reply, is_delete=False) + # Feed TaskScheduler with this path computation reply. TaskScheduler identifies inter-dependencies among + # the services and connections retrieved and produces a schedule of tasks (an ordered list of tasks to be + # executed) to implement the requested create/update operation. + tasks_scheduler.compose_from_pathcompreply(pathcomp_reply, is_delete=False) tasks_scheduler.execute_all() return service_with_uuids.service_id -- GitLab From 892a1e9380beec788adfb607122934659021f279 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 20 Mar 2024 12:37:58 +0000 Subject: [PATCH 067/156] GitLab CI/CD pipeline - OFC'22: - Reactivated end-to-end test - Updated CI/CD pipeline descriptor --- src/tests/.gitlab-ci.yml | 2 +- src/tests/ofc22/.gitlab-ci.yml | 23 +++++++++++++---------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/tests/.gitlab-ci.yml b/src/tests/.gitlab-ci.yml index 6a4441d19..41b8bb36c 100644 --- a/src/tests/.gitlab-ci.yml +++ b/src/tests/.gitlab-ci.yml @@ -14,7 +14,7 @@ # include the individual .gitlab-ci.yml of each end-to-end integration test include: - #- local: '/src/tests/ofc22/.gitlab-ci.yml' + - local: '/src/tests/ofc22/.gitlab-ci.yml' #- local: '/src/tests/oeccpsc22/.gitlab-ci.yml' - local: '/src/tests/ecoc22/.gitlab-ci.yml' #- local: '/src/tests/nfvsdn22/.gitlab-ci.yml' diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 9598d4eba..ee62de632 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -54,6 +54,14 @@ end2end_test ofc22: - kubectl get pods --all-namespaces # Configure TeraFlowSDN deployment + # Uncomment if DEBUG log level is needed for the components + - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/contextservice.yaml + - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/deviceservice.yaml + - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="frontend").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/pathcompservice.yaml + - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/serviceservice.yaml + - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/sliceservice.yaml + - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml + - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/monitoringservice.yaml - source src/tests/${TEST_NAME}/deploy_specs.sh #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" #- export TFS_SKIP_BUILD="" @@ -74,16 +82,11 @@ end2end_test ofc22: # Run end-to-end tests - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - - docker create --name ${TEST_NAME} --network=host -v "$PWD/src/tests/${TEST_NAME}:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest - - docker cp ./tfs_runtime_env_vars.sh ${TEST_NAME}:/var/teraflow/ - - docker start ${TEST_NAME} - - docker wait ${TEST_NAME} - - docker logs ${TEST_NAME} - #- source tfs_runtime_env_vars.sh - #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_bootstrap.py --junitxml=./src/tests/${TEST_NAME}/report_bootstrap.xml - #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_create_service.py --junitxml=./src/tests/${TEST_NAME}/report_create_service.xml - #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_delete_service.py --junitxml=./src/tests/${TEST_NAME}/report_delete_service.xml - #- pytest --verbose --log-level=INFO ./src/tests/${TEST_NAME}/tests/test_functional_cleanup.py --junitxml=./src/tests/${TEST_NAME}/report_cleanup.xml + - > + docker run -t --name ${TEST_NAME} --network=host + --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" + --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" + $CI_REGISTRY_IMAGE/${TEST_NAME}:latest - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c frontend -- GitLab From 63b4503a302e7223ab4d8d56caaa7b9d8fe34f33 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 20 Mar 2024 18:35:02 +0000 Subject: [PATCH 068/156] Framework - Mutex Queues: - Added logs to identify issue --- src/common/tools/mutex_queues/MutexQueues.py | 39 +++++++++++++++++--- 1 file changed, 34 insertions(+), 5 deletions(-) diff --git a/src/common/tools/mutex_queues/MutexQueues.py b/src/common/tools/mutex_queues/MutexQueues.py index 96e22a86f..b80dd1a9c 100644 --- a/src/common/tools/mutex_queues/MutexQueues.py +++ b/src/common/tools/mutex_queues/MutexQueues.py @@ -34,10 +34,12 @@ # driver.configure(settings) # self.mutex_queues.signal_done(device_uuid) -import threading +import logging, threading from queue import Queue, Empty from typing import Dict +LOGGER = logging.getLogger(__name__) + class MutexQueues: def __init__(self) -> None: # lock to protect dictionary updates @@ -46,36 +48,63 @@ class MutexQueues: # dictionaty of queues of mutexes: queue_name => queue[mutex] # first mutex is the running one self.mutex_queues : Dict[str, Queue[threading.Event]] = dict() - + + def add_alias(self, queue_name_a : str, queue_name_b : str) -> None: + with self.lock: + if queue_name_a in self.mutex_queues and queue_name_b not in self.mutex_queues: + self.mutex_queues[queue_name_b] = self.mutex_queues[queue_name_a] + elif queue_name_b in self.mutex_queues and queue_name_a not in self.mutex_queues: + self.mutex_queues[queue_name_a] = self.mutex_queues[queue_name_b] + def wait_my_turn(self, queue_name : str) -> None: + LOGGER.warning('[wait_my_turn] begin queue_name={:s}'.format(str(queue_name))) # create my mutex and enqueue it mutex = threading.Event() + LOGGER.warning('[wait_my_turn] [lock] queue_name={:s} mutex={:s}'.format(str(queue_name), str(mutex))) with self.lock: + LOGGER.warning('[wait_my_turn] [lock] queue_name={:s} mutex_queues={:s}'.format(str(queue_name), str(self.mutex_queues))) queue : Queue = self.mutex_queues.setdefault(queue_name, Queue()) first_in_queue = (queue.qsize() == 0) + LOGGER.warning('[wait_my_turn] [lock] queue_name={:s} first_in_queue={:s}'.format(str(queue_name), str(first_in_queue))) queue.put_nowait(mutex) # if I'm the first in the queue upon addition, means there are no running tasks # directly return without waiting - if first_in_queue: return + if first_in_queue: + LOGGER.warning('[wait_my_turn] end first_in_queue queue_name={:s}'.format(str(queue_name))) + return # otherwise, wait for my turn in the queue + LOGGER.warning('[wait_my_turn] waiting queue_name={:s}'.format(str(queue_name))) mutex.wait() + LOGGER.warning('[wait_my_turn] end wait queue_name={:s}'.format(str(queue_name))) def signal_done(self, queue_name : str) -> None: + LOGGER.warning('[signal_done] begin queue_name={:s}'.format(str(queue_name))) # I'm done with my work with self.lock: + LOGGER.warning('[wait_my_turn] [lock] queue_name={:s} mutex_queues={:s}'.format(str(queue_name), str(self.mutex_queues))) queue : Queue = self.mutex_queues.setdefault(queue_name, Queue()) + LOGGER.warning('[wait_my_turn] [lock] queue_name={:s} queue={:s}'.format(str(queue_name), str(queue))) # remove myself from the queue try: - queue.get(block=True, timeout=0.1) + LOGGER.warning('[wait_my_turn] [lock] before get queue_name={:s}'.format(str(queue_name))) + mutex = queue.get(block=True, timeout=0.1) + LOGGER.warning('[wait_my_turn] [lock] after get queue_name={:s} mutex={:s}'.format(str(queue_name), str(mutex))) except Empty: + LOGGER.warning('[wait_my_turn] [lock] empty queue_name={:s}'.format(str(queue_name))) pass # if there are no other tasks queued, return - if queue.qsize() == 0: return + if queue.qsize() == 0: + LOGGER.warning('[wait_my_turn] end queue.qsize==0 queue_name={:s}'.format(str(queue_name))) + return # otherwise, signal the next task in the queue to start next_mutex : threading.Event = queue.queue[0] + LOGGER.warning('[wait_my_turn] [lock] before set queue_name={:s} next_mutex={:s}'.format(str(queue_name), str(next_mutex))) next_mutex.set() + LOGGER.warning('[wait_my_turn] [lock] after set queue_name={:s} next_mutex={:s}'.format(str(queue_name), str(next_mutex))) + + LOGGER.warning('[signal_done] end set queue_name={:s}'.format(str(queue_name))) -- GitLab From 9d2f3119418a516d9038fa79817760d3760548a8 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 20 Mar 2024 18:35:15 +0000 Subject: [PATCH 069/156] GitLab CI/CD pipeline - OFC'22: - Deactivated deploy of WebUI --- src/tests/ofc22/deploy_specs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/ofc22/deploy_specs.sh b/src/tests/ofc22/deploy_specs.sh index aad41f33d..ee75575ab 100755 --- a/src/tests/ofc22/deploy_specs.sh +++ b/src/tests/ofc22/deploy_specs.sh @@ -21,7 +21,7 @@ export TFS_REGISTRY_IMAGES="http://localhost:32000/tfs/" # Set the list of components, separated by spaces, you want to build images for, and deploy. #export TFS_COMPONENTS="context device pathcomp service slice nbi webui load_generator" -export TFS_COMPONENTS="context device pathcomp service slice nbi webui" +export TFS_COMPONENTS="context device pathcomp service slice nbi" # Uncomment to activate Monitoring export TFS_COMPONENTS="${TFS_COMPONENTS} monitoring" -- GitLab From 786a54f3595d8ab7c7434b3bb92da77875ce9c5d Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Wed, 20 Mar 2024 18:35:39 +0000 Subject: [PATCH 070/156] Device component: - Added logs to identify issue --- .../service/DeviceServiceServicerImpl.py | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/device/service/DeviceServiceServicerImpl.py b/src/device/service/DeviceServiceServicerImpl.py index 5e5d7540c..da152b1d3 100644 --- a/src/device/service/DeviceServiceServicerImpl.py +++ b/src/device/service/DeviceServiceServicerImpl.py @@ -88,10 +88,17 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): # update device_uuid to honor UUID provided by Context device_uuid = device.device_id.device_uuid.uuid + device_name = device.name t2 = time.time() + LOGGER.warning('[AddDevice] before add_alias {:s} {:s}'.format(str(device_uuid), str(device_name))) + self.mutex_queues.add_alias(device_uuid, device_name) + LOGGER.warning('[AddDevice] after add_alias {:s} {:s}'.format(str(device_uuid), str(device_name))) + + LOGGER.warning('[AddDevice] before wait_my_turn {:s}'.format(str(device_uuid))) self.mutex_queues.wait_my_turn(device_uuid) + LOGGER.warning('[AddDevice] after wait_my_turn {:s}'.format(str(device_uuid))) t3 = time.time() try: driver : _Driver = get_driver(self.driver_instance_cache, device) @@ -202,7 +209,9 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): return device_id finally: + LOGGER.warning('[AddDevice] before signal_done {:s}'.format(str(device_uuid))) self.mutex_queues.signal_done(device_uuid) + LOGGER.warning('[AddDevice] after signal_done {:s}'.format(str(device_uuid))) @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ConfigureDevice(self, request : Device, context : grpc.ServicerContext) -> DeviceId: @@ -210,7 +219,9 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): device_id = request.device_id device_uuid = device_id.device_uuid.uuid + LOGGER.warning('[ConfigureDevice] before wait_my_turn {:s}'.format(str(device_uuid))) self.mutex_queues.wait_my_turn(device_uuid) + LOGGER.warning('[ConfigureDevice] after wait_my_turn {:s}'.format(str(device_uuid))) t1 = time.time() try: context_client = ContextClient() @@ -294,13 +305,17 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): return device_id finally: + LOGGER.warning('[ConfigureDevice] before signal_done {:s}'.format(str(device_uuid))) self.mutex_queues.signal_done(device_uuid) + LOGGER.warning('[ConfigureDevice] after signal_done {:s}'.format(str(device_uuid))) @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def DeleteDevice(self, request : DeviceId, context : grpc.ServicerContext) -> Empty: device_uuid = request.device_uuid.uuid + LOGGER.warning('[DeleteDevice] before wait_my_turn {:s}'.format(str(device_uuid))) self.mutex_queues.wait_my_turn(device_uuid) + LOGGER.warning('[DeleteDevice] after wait_my_turn {:s}'.format(str(device_uuid))) try: context_client = ContextClient() device = get_device( @@ -315,13 +330,17 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): context_client.RemoveDevice(request) return Empty() finally: + LOGGER.warning('[DeleteDevice] before signal_done {:s}'.format(str(device_uuid))) self.mutex_queues.signal_done(device_uuid) + LOGGER.warning('[DeleteDevice] after signal_done {:s}'.format(str(device_uuid))) @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetInitialConfig(self, request : DeviceId, context : grpc.ServicerContext) -> DeviceConfig: device_uuid = request.device_uuid.uuid + LOGGER.warning('[GetInitialConfig] before wait_my_turn {:s}'.format(str(device_uuid))) self.mutex_queues.wait_my_turn(device_uuid) + LOGGER.warning('[GetInitialConfig] after wait_my_turn {:s}'.format(str(device_uuid))) try: context_client = ContextClient() device = get_device( @@ -344,7 +363,9 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): return device_config finally: + LOGGER.warning('[GetInitialConfig] before signal_done {:s}'.format(str(device_uuid))) self.mutex_queues.signal_done(device_uuid) + LOGGER.warning('[GetInitialConfig] after signal_done {:s}'.format(str(device_uuid))) @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def MonitorDeviceKpi(self, request : MonitoringSettings, context : grpc.ServicerContext) -> Empty: @@ -362,7 +383,9 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) device_uuid = kpi_details[0] + LOGGER.warning('[MonitorDeviceKpi] before wait_my_turn {:s}'.format(str(device_uuid))) self.mutex_queues.wait_my_turn(device_uuid) + LOGGER.warning('[MonitorDeviceKpi] after wait_my_turn {:s}'.format(str(device_uuid))) try: context_client = ContextClient() device = get_device( @@ -381,4 +404,6 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): return Empty() finally: + LOGGER.warning('[MonitorDeviceKpi] before signal_done {:s}'.format(str(device_uuid))) self.mutex_queues.signal_done(device_uuid) + LOGGER.warning('[MonitorDeviceKpi] after signal_done {:s}'.format(str(device_uuid))) -- GitLab From be41ac9006b877ac2b6a6bf5f0aa54151aeccd4a Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Thu, 21 Mar 2024 08:32:25 +0000 Subject: [PATCH 071/156] GitLab CI/CD pipeline: - Deactivated ECOC'22 for troubleshooting --- src/tests/.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/.gitlab-ci.yml b/src/tests/.gitlab-ci.yml index 41b8bb36c..d48456b83 100644 --- a/src/tests/.gitlab-ci.yml +++ b/src/tests/.gitlab-ci.yml @@ -16,7 +16,7 @@ include: - local: '/src/tests/ofc22/.gitlab-ci.yml' #- local: '/src/tests/oeccpsc22/.gitlab-ci.yml' - - local: '/src/tests/ecoc22/.gitlab-ci.yml' + #- local: '/src/tests/ecoc22/.gitlab-ci.yml' #- local: '/src/tests/nfvsdn22/.gitlab-ci.yml' #- local: '/src/tests/ofc23/.gitlab-ci.yml' #- local: '/src/tests/ofc24/.gitlab-ci.yml' -- GitLab From 1bd035a0f63dcc4da4641aa736dbf0a0d2f9e0fe Mon Sep 17 00:00:00 2001 From: Lluis Gifre Renom Date: Thu, 21 Mar 2024 22:38:26 +0000 Subject: [PATCH 072/156] CI/CD pipeline - OFC'22 added code to kill test after 2 minutes --- src/tests/ofc22/Dockerfile | 2 +- src/tests/ofc22/tests/conftest.py | 63 +++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 1 deletion(-) create mode 100644 src/tests/ofc22/tests/conftest.py diff --git a/src/tests/ofc22/Dockerfile b/src/tests/ofc22/Dockerfile index 4817bd93a..93b4a77d0 100644 --- a/src/tests/ofc22/Dockerfile +++ b/src/tests/ofc22/Dockerfile @@ -93,7 +93,7 @@ export PYTHONPATH=/var/teraflow pytest --verbose --log-level=INFO /var/teraflow/tests/ofc22/tests/test_functional_bootstrap.py --junitxml=/opt/results/report_bootstrap.xml pytest --verbose --log-level=INFO /var/teraflow/tests/ofc22/tests/test_functional_create_service.py --junitxml=/opt/results/report_create_service.xml pytest --verbose --log-level=INFO /var/teraflow/tests/ofc22/tests/test_functional_delete_service.py --junitxml=/opt/results/report_delete_service.xml -pytest --verbose --log-level=INFO /var/teraflow/tests/ofc22/tests/test_functional_cleanup.py --junitxml=/opt/results/report_cleanup.xml +pytest --verbose --timeout=120 --log-level=INFO /var/teraflow/tests/ofc22/tests/test_functional_cleanup.py --junitxml=/opt/results/report_cleanup.xml EOF RUN chmod ug+x ./run_tests.sh diff --git a/src/tests/ofc22/tests/conftest.py b/src/tests/ofc22/tests/conftest.py new file mode 100644 index 000000000..6650864b0 --- /dev/null +++ b/src/tests/ofc22/tests/conftest.py @@ -0,0 +1,63 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Acknowledgement: https://stackoverflow.com/questions/46766899/pytest-timeout-fail-test-instead-killing-whole-test-run + +import pytest, signal + + +class Termination(SystemExit): + pass + + +class TimeoutExit(BaseException): + pass + + +def _terminate(signum, frame): + raise Termination("Runner is terminated from outside.") + + +def _timeout(signum, frame): + raise TimeoutExit("Runner timeout is reached, runner is terminating.") + + +@pytest.hookimpl +def pytest_addoption(parser): + parser.addoption( + '--timeout', action='store', dest='timeout', type=int, default=None, + help="number of seconds before each test failure") + + +@pytest.hookimpl +def pytest_configure(config): + # Install the signal handlers that we want to process. + signal.signal(signal.SIGTERM, _terminate) + signal.signal(signal.SIGALRM, _timeout) + + +@pytest.hookimpl(hookwrapper=True) +def pytest_runtest_protocol(item, nextitem): + + # Set the per-test timeout (an alarm signal). + if item.config.option.timeout is not None: + signal.alarm(item.config.option.timeout) + + try: + # Run the setup, test body, and teardown stages. + yield + finally: + # Disable the alarm when the test passes or fails. + # I.e. when we get into the framework's body. + signal.alarm(0) -- GitLab From f44bef6233d760e688d22993656fe0b0284f0afa Mon Sep 17 00:00:00 2001 From: Lluis Gifre Renom Date: Thu, 21 Mar 2024 22:48:39 +0000 Subject: [PATCH 073/156] CI/CD pipeline - OFC'22: - Moved logs to after_script --- src/tests/ofc22/.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index ee62de632..1806a065c 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -87,6 +87,7 @@ end2end_test ofc22: --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest + after_script: - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c frontend @@ -95,7 +96,6 @@ end2end_test ofc22: - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/monitoringservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/ztpservice -c server - after_script: - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - docker images --filter="dangling=true" --quiet | xargs -r docker rmi #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' -- GitLab From e942151fcd19f64b675868dd6b0c9bfd31e648a6 Mon Sep 17 00:00:00 2001 From: Lluis Gifre Renom Date: Thu, 21 Mar 2024 23:10:23 +0000 Subject: [PATCH 074/156] CI/CD pipeline - OFC'22 --- src/tests/ofc22/.gitlab-ci.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 1806a065c..1a756a650 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -88,14 +88,14 @@ end2end_test ofc22: --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest after_script: - - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server - - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server - - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c frontend - - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server - - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/sliceservice -c server - - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server - - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/monitoringservice -c server - - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/ztpservice -c server + - kubectl --namespace tfs logs deployment/contextservice -c server + - kubectl --namespace tfs logs deployment/deviceservice -c server + - kubectl --namespace tfs logs deployment/pathcompservice -c frontend + - kubectl --namespace tfs logs deployment/serviceservice -c server + - kubectl --namespace tfs logs deployment/sliceservice -c server + - kubectl --namespace tfs logs deployment/nbiservice -c server + - kubectl --namespace tfs logs deployment/monitoringservice -c server + - kubectl --namespace tfs logs deployment/ztpservice -c server - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - docker images --filter="dangling=true" --quiet | xargs -r docker rmi #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' -- GitLab From 3d5f1aa3bcd7e5fe106c56496195e76785e8fabe Mon Sep 17 00:00:00 2001 From: Lluis Gifre Renom Date: Thu, 21 Mar 2024 23:54:23 +0000 Subject: [PATCH 075/156] CI/CD pipeline - OFC'22 --- src/common/tools/mutex_queues/MutexQueues.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/common/tools/mutex_queues/MutexQueues.py b/src/common/tools/mutex_queues/MutexQueues.py index b80dd1a9c..c29194ca8 100644 --- a/src/common/tools/mutex_queues/MutexQueues.py +++ b/src/common/tools/mutex_queues/MutexQueues.py @@ -55,6 +55,8 @@ class MutexQueues: self.mutex_queues[queue_name_b] = self.mutex_queues[queue_name_a] elif queue_name_b in self.mutex_queues and queue_name_a not in self.mutex_queues: self.mutex_queues[queue_name_a] = self.mutex_queues[queue_name_b] + elif queue_name_b not in self.mutex_queues and queue_name_a not in self.mutex_queues: + self.mutex_queues[queue_name_b] = self.mutex_queues.setdefault(queue_name_a, Queue()) def wait_my_turn(self, queue_name : str) -> None: LOGGER.warning('[wait_my_turn] begin queue_name={:s}'.format(str(queue_name))) -- GitLab From 652165312ea4ab8f4427dff94ddb0139b2207f88 Mon Sep 17 00:00:00 2001 From: Lluis Gifre Renom Date: Fri, 22 Mar 2024 00:21:00 +0000 Subject: [PATCH 076/156] Pre-merge cleanup --- .gitlab-ci.yml | 32 +++++----- src/common/tools/mutex_queues/MutexQueues.py | 28 +-------- .../service/DeviceServiceServicerImpl.py | 23 ------- src/tests/.gitlab-ci.yml | 2 +- src/tests/ecoc22/.gitlab-ci.yml | 11 ++-- src/tests/ecoc22/tests/conftest.py | 63 +++++++++++++++++++ src/tests/ofc22/.gitlab-ci.yml | 39 ++++++------ src/tests/ofc22/Dockerfile | 2 +- src/tests/ofc22/deploy_specs.sh | 2 +- 9 files changed, 111 insertions(+), 91 deletions(-) create mode 100644 src/tests/ecoc22/tests/conftest.py diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9a454253f..064cedd15 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -22,28 +22,28 @@ stages: # include the individual .gitlab-ci.yml of each micro-service and tests include: #- local: '/manifests/.gitlab-ci.yml' - ###- local: '/src/monitoring/.gitlab-ci.yml' - ###- local: '/src/nbi/.gitlab-ci.yml' - ###- local: '/src/context/.gitlab-ci.yml' - ###- local: '/src/device/.gitlab-ci.yml' - ###- local: '/src/service/.gitlab-ci.yml' - ###- local: '/src/dbscanserving/.gitlab-ci.yml' - ###- local: '/src/opticalattackmitigator/.gitlab-ci.yml' - ###- local: '/src/opticalattackdetector/.gitlab-ci.yml' - ###- local: '/src/opticalattackmanager/.gitlab-ci.yml' - ###- local: '/src/ztp/.gitlab-ci.yml' - ###- local: '/src/policy/.gitlab-ci.yml' - ###- local: '/src/forecaster/.gitlab-ci.yml' + - local: '/src/monitoring/.gitlab-ci.yml' + - local: '/src/nbi/.gitlab-ci.yml' + - local: '/src/context/.gitlab-ci.yml' + - local: '/src/device/.gitlab-ci.yml' + - local: '/src/service/.gitlab-ci.yml' + - local: '/src/dbscanserving/.gitlab-ci.yml' + - local: '/src/opticalattackmitigator/.gitlab-ci.yml' + - local: '/src/opticalattackdetector/.gitlab-ci.yml' + - local: '/src/opticalattackmanager/.gitlab-ci.yml' + - local: '/src/ztp/.gitlab-ci.yml' + - local: '/src/policy/.gitlab-ci.yml' + - local: '/src/forecaster/.gitlab-ci.yml' #- local: '/src/webui/.gitlab-ci.yml' #- local: '/src/l3_distributedattackdetector/.gitlab-ci.yml' #- local: '/src/l3_centralizedattackdetector/.gitlab-ci.yml' #- local: '/src/l3_attackmitigator/.gitlab-ci.yml' - ###- local: '/src/slice/.gitlab-ci.yml' + - local: '/src/slice/.gitlab-ci.yml' #- local: '/src/interdomain/.gitlab-ci.yml' - ###- local: '/src/pathcomp/.gitlab-ci.yml' + - local: '/src/pathcomp/.gitlab-ci.yml' #- local: '/src/dlt/.gitlab-ci.yml' - ###- local: '/src/load_generator/.gitlab-ci.yml' - ###- local: '/src/bgpls_speaker/.gitlab-ci.yml' + - local: '/src/load_generator/.gitlab-ci.yml' + - local: '/src/bgpls_speaker/.gitlab-ci.yml' # This should be last one: end-to-end integration tests - local: '/src/tests/.gitlab-ci.yml' diff --git a/src/common/tools/mutex_queues/MutexQueues.py b/src/common/tools/mutex_queues/MutexQueues.py index c29194ca8..50074cd4a 100644 --- a/src/common/tools/mutex_queues/MutexQueues.py +++ b/src/common/tools/mutex_queues/MutexQueues.py @@ -34,12 +34,10 @@ # driver.configure(settings) # self.mutex_queues.signal_done(device_uuid) -import logging, threading +import threading from queue import Queue, Empty from typing import Dict -LOGGER = logging.getLogger(__name__) - class MutexQueues: def __init__(self) -> None: # lock to protect dictionary updates @@ -59,54 +57,34 @@ class MutexQueues: self.mutex_queues[queue_name_b] = self.mutex_queues.setdefault(queue_name_a, Queue()) def wait_my_turn(self, queue_name : str) -> None: - LOGGER.warning('[wait_my_turn] begin queue_name={:s}'.format(str(queue_name))) # create my mutex and enqueue it mutex = threading.Event() - LOGGER.warning('[wait_my_turn] [lock] queue_name={:s} mutex={:s}'.format(str(queue_name), str(mutex))) with self.lock: - LOGGER.warning('[wait_my_turn] [lock] queue_name={:s} mutex_queues={:s}'.format(str(queue_name), str(self.mutex_queues))) queue : Queue = self.mutex_queues.setdefault(queue_name, Queue()) first_in_queue = (queue.qsize() == 0) - LOGGER.warning('[wait_my_turn] [lock] queue_name={:s} first_in_queue={:s}'.format(str(queue_name), str(first_in_queue))) queue.put_nowait(mutex) # if I'm the first in the queue upon addition, means there are no running tasks # directly return without waiting - if first_in_queue: - LOGGER.warning('[wait_my_turn] end first_in_queue queue_name={:s}'.format(str(queue_name))) - return + if first_in_queue: return # otherwise, wait for my turn in the queue - LOGGER.warning('[wait_my_turn] waiting queue_name={:s}'.format(str(queue_name))) mutex.wait() - LOGGER.warning('[wait_my_turn] end wait queue_name={:s}'.format(str(queue_name))) def signal_done(self, queue_name : str) -> None: - LOGGER.warning('[signal_done] begin queue_name={:s}'.format(str(queue_name))) # I'm done with my work with self.lock: - LOGGER.warning('[wait_my_turn] [lock] queue_name={:s} mutex_queues={:s}'.format(str(queue_name), str(self.mutex_queues))) queue : Queue = self.mutex_queues.setdefault(queue_name, Queue()) - LOGGER.warning('[wait_my_turn] [lock] queue_name={:s} queue={:s}'.format(str(queue_name), str(queue))) # remove myself from the queue try: - LOGGER.warning('[wait_my_turn] [lock] before get queue_name={:s}'.format(str(queue_name))) mutex = queue.get(block=True, timeout=0.1) - LOGGER.warning('[wait_my_turn] [lock] after get queue_name={:s} mutex={:s}'.format(str(queue_name), str(mutex))) except Empty: - LOGGER.warning('[wait_my_turn] [lock] empty queue_name={:s}'.format(str(queue_name))) pass # if there are no other tasks queued, return - if queue.qsize() == 0: - LOGGER.warning('[wait_my_turn] end queue.qsize==0 queue_name={:s}'.format(str(queue_name))) - return + if queue.qsize() == 0: return # otherwise, signal the next task in the queue to start next_mutex : threading.Event = queue.queue[0] - LOGGER.warning('[wait_my_turn] [lock] before set queue_name={:s} next_mutex={:s}'.format(str(queue_name), str(next_mutex))) next_mutex.set() - LOGGER.warning('[wait_my_turn] [lock] after set queue_name={:s} next_mutex={:s}'.format(str(queue_name), str(next_mutex))) - - LOGGER.warning('[signal_done] end set queue_name={:s}'.format(str(queue_name))) diff --git a/src/device/service/DeviceServiceServicerImpl.py b/src/device/service/DeviceServiceServicerImpl.py index da152b1d3..4f0ba5722 100644 --- a/src/device/service/DeviceServiceServicerImpl.py +++ b/src/device/service/DeviceServiceServicerImpl.py @@ -92,13 +92,8 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): t2 = time.time() - LOGGER.warning('[AddDevice] before add_alias {:s} {:s}'.format(str(device_uuid), str(device_name))) self.mutex_queues.add_alias(device_uuid, device_name) - LOGGER.warning('[AddDevice] after add_alias {:s} {:s}'.format(str(device_uuid), str(device_name))) - - LOGGER.warning('[AddDevice] before wait_my_turn {:s}'.format(str(device_uuid))) self.mutex_queues.wait_my_turn(device_uuid) - LOGGER.warning('[AddDevice] after wait_my_turn {:s}'.format(str(device_uuid))) t3 = time.time() try: driver : _Driver = get_driver(self.driver_instance_cache, device) @@ -209,9 +204,7 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): return device_id finally: - LOGGER.warning('[AddDevice] before signal_done {:s}'.format(str(device_uuid))) self.mutex_queues.signal_done(device_uuid) - LOGGER.warning('[AddDevice] after signal_done {:s}'.format(str(device_uuid))) @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def ConfigureDevice(self, request : Device, context : grpc.ServicerContext) -> DeviceId: @@ -219,9 +212,7 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): device_id = request.device_id device_uuid = device_id.device_uuid.uuid - LOGGER.warning('[ConfigureDevice] before wait_my_turn {:s}'.format(str(device_uuid))) self.mutex_queues.wait_my_turn(device_uuid) - LOGGER.warning('[ConfigureDevice] after wait_my_turn {:s}'.format(str(device_uuid))) t1 = time.time() try: context_client = ContextClient() @@ -305,17 +296,13 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): return device_id finally: - LOGGER.warning('[ConfigureDevice] before signal_done {:s}'.format(str(device_uuid))) self.mutex_queues.signal_done(device_uuid) - LOGGER.warning('[ConfigureDevice] after signal_done {:s}'.format(str(device_uuid))) @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def DeleteDevice(self, request : DeviceId, context : grpc.ServicerContext) -> Empty: device_uuid = request.device_uuid.uuid - LOGGER.warning('[DeleteDevice] before wait_my_turn {:s}'.format(str(device_uuid))) self.mutex_queues.wait_my_turn(device_uuid) - LOGGER.warning('[DeleteDevice] after wait_my_turn {:s}'.format(str(device_uuid))) try: context_client = ContextClient() device = get_device( @@ -330,17 +317,13 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): context_client.RemoveDevice(request) return Empty() finally: - LOGGER.warning('[DeleteDevice] before signal_done {:s}'.format(str(device_uuid))) self.mutex_queues.signal_done(device_uuid) - LOGGER.warning('[DeleteDevice] after signal_done {:s}'.format(str(device_uuid))) @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def GetInitialConfig(self, request : DeviceId, context : grpc.ServicerContext) -> DeviceConfig: device_uuid = request.device_uuid.uuid - LOGGER.warning('[GetInitialConfig] before wait_my_turn {:s}'.format(str(device_uuid))) self.mutex_queues.wait_my_turn(device_uuid) - LOGGER.warning('[GetInitialConfig] after wait_my_turn {:s}'.format(str(device_uuid))) try: context_client = ContextClient() device = get_device( @@ -363,9 +346,7 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): return device_config finally: - LOGGER.warning('[GetInitialConfig] before signal_done {:s}'.format(str(device_uuid))) self.mutex_queues.signal_done(device_uuid) - LOGGER.warning('[GetInitialConfig] after signal_done {:s}'.format(str(device_uuid))) @safe_and_metered_rpc_method(METRICS_POOL, LOGGER) def MonitorDeviceKpi(self, request : MonitoringSettings, context : grpc.ServicerContext) -> Empty: @@ -383,9 +364,7 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): raise OperationFailedException('MonitorDeviceKpi', extra_details=msg) device_uuid = kpi_details[0] - LOGGER.warning('[MonitorDeviceKpi] before wait_my_turn {:s}'.format(str(device_uuid))) self.mutex_queues.wait_my_turn(device_uuid) - LOGGER.warning('[MonitorDeviceKpi] after wait_my_turn {:s}'.format(str(device_uuid))) try: context_client = ContextClient() device = get_device( @@ -404,6 +383,4 @@ class DeviceServiceServicerImpl(DeviceServiceServicer): return Empty() finally: - LOGGER.warning('[MonitorDeviceKpi] before signal_done {:s}'.format(str(device_uuid))) self.mutex_queues.signal_done(device_uuid) - LOGGER.warning('[MonitorDeviceKpi] after signal_done {:s}'.format(str(device_uuid))) diff --git a/src/tests/.gitlab-ci.yml b/src/tests/.gitlab-ci.yml index d48456b83..41b8bb36c 100644 --- a/src/tests/.gitlab-ci.yml +++ b/src/tests/.gitlab-ci.yml @@ -16,7 +16,7 @@ include: - local: '/src/tests/ofc22/.gitlab-ci.yml' #- local: '/src/tests/oeccpsc22/.gitlab-ci.yml' - #- local: '/src/tests/ecoc22/.gitlab-ci.yml' + - local: '/src/tests/ecoc22/.gitlab-ci.yml' #- local: '/src/tests/nfvsdn22/.gitlab-ci.yml' #- local: '/src/tests/ofc23/.gitlab-ci.yml' #- local: '/src/tests/ofc24/.gitlab-ci.yml' diff --git a/src/tests/ecoc22/.gitlab-ci.yml b/src/tests/ecoc22/.gitlab-ci.yml index beefc4722..d677cb823 100644 --- a/src/tests/ecoc22/.gitlab-ci.yml +++ b/src/tests/ecoc22/.gitlab-ci.yml @@ -62,10 +62,10 @@ end2end_test ecoc22: #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/sliceservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml - source src/tests/${TEST_NAME}/deploy_specs.sh - #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" - #- export TFS_SKIP_BUILD="" - #- export TFS_IMAGE_TAG="latest" - #- echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" + - export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" + - export TFS_SKIP_BUILD="YES" + - export TFS_IMAGE_TAG="latest" + - echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" # Deploy TeraFlowSDN - ./deploy/crdb.sh @@ -86,13 +86,14 @@ end2end_test ecoc22: --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest + after_script: + - source src/tests/${TEST_NAME}/deploy_specs.sh - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c frontend - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/sliceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server - after_script: - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - docker images --filter="dangling=true" --quiet | xargs -r docker rmi #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' diff --git a/src/tests/ecoc22/tests/conftest.py b/src/tests/ecoc22/tests/conftest.py new file mode 100644 index 000000000..6650864b0 --- /dev/null +++ b/src/tests/ecoc22/tests/conftest.py @@ -0,0 +1,63 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Acknowledgement: https://stackoverflow.com/questions/46766899/pytest-timeout-fail-test-instead-killing-whole-test-run + +import pytest, signal + + +class Termination(SystemExit): + pass + + +class TimeoutExit(BaseException): + pass + + +def _terminate(signum, frame): + raise Termination("Runner is terminated from outside.") + + +def _timeout(signum, frame): + raise TimeoutExit("Runner timeout is reached, runner is terminating.") + + +@pytest.hookimpl +def pytest_addoption(parser): + parser.addoption( + '--timeout', action='store', dest='timeout', type=int, default=None, + help="number of seconds before each test failure") + + +@pytest.hookimpl +def pytest_configure(config): + # Install the signal handlers that we want to process. + signal.signal(signal.SIGTERM, _terminate) + signal.signal(signal.SIGALRM, _timeout) + + +@pytest.hookimpl(hookwrapper=True) +def pytest_runtest_protocol(item, nextitem): + + # Set the per-test timeout (an alarm signal). + if item.config.option.timeout is not None: + signal.alarm(item.config.option.timeout) + + try: + # Run the setup, test body, and teardown stages. + yield + finally: + # Disable the alarm when the test passes or fails. + # I.e. when we get into the framework's body. + signal.alarm(0) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 1a756a650..e9c8c0c03 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -55,18 +55,18 @@ end2end_test ofc22: # Configure TeraFlowSDN deployment # Uncomment if DEBUG log level is needed for the components - - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/contextservice.yaml - - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/deviceservice.yaml - - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="frontend").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/pathcompservice.yaml - - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/serviceservice.yaml - - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/sliceservice.yaml - - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml - - yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/monitoringservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/contextservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/deviceservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="frontend").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/pathcompservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/serviceservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/sliceservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/monitoringservice.yaml - source src/tests/${TEST_NAME}/deploy_specs.sh - #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" - #- export TFS_SKIP_BUILD="" - #- export TFS_IMAGE_TAG="latest" - #- echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" + - export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" + - export TFS_SKIP_BUILD="YES" + - export TFS_IMAGE_TAG="latest" + - echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" # Deploy TeraFlowSDN - ./deploy/crdb.sh @@ -88,14 +88,15 @@ end2end_test ofc22: --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest after_script: - - kubectl --namespace tfs logs deployment/contextservice -c server - - kubectl --namespace tfs logs deployment/deviceservice -c server - - kubectl --namespace tfs logs deployment/pathcompservice -c frontend - - kubectl --namespace tfs logs deployment/serviceservice -c server - - kubectl --namespace tfs logs deployment/sliceservice -c server - - kubectl --namespace tfs logs deployment/nbiservice -c server - - kubectl --namespace tfs logs deployment/monitoringservice -c server - - kubectl --namespace tfs logs deployment/ztpservice -c server + - source src/tests/${TEST_NAME}/deploy_specs.sh + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c frontend + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/sliceservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/monitoringservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/ztpservice -c server - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - docker images --filter="dangling=true" --quiet | xargs -r docker rmi #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' diff --git a/src/tests/ofc22/Dockerfile b/src/tests/ofc22/Dockerfile index 93b4a77d0..4817bd93a 100644 --- a/src/tests/ofc22/Dockerfile +++ b/src/tests/ofc22/Dockerfile @@ -93,7 +93,7 @@ export PYTHONPATH=/var/teraflow pytest --verbose --log-level=INFO /var/teraflow/tests/ofc22/tests/test_functional_bootstrap.py --junitxml=/opt/results/report_bootstrap.xml pytest --verbose --log-level=INFO /var/teraflow/tests/ofc22/tests/test_functional_create_service.py --junitxml=/opt/results/report_create_service.xml pytest --verbose --log-level=INFO /var/teraflow/tests/ofc22/tests/test_functional_delete_service.py --junitxml=/opt/results/report_delete_service.xml -pytest --verbose --timeout=120 --log-level=INFO /var/teraflow/tests/ofc22/tests/test_functional_cleanup.py --junitxml=/opt/results/report_cleanup.xml +pytest --verbose --log-level=INFO /var/teraflow/tests/ofc22/tests/test_functional_cleanup.py --junitxml=/opt/results/report_cleanup.xml EOF RUN chmod ug+x ./run_tests.sh diff --git a/src/tests/ofc22/deploy_specs.sh b/src/tests/ofc22/deploy_specs.sh index ee75575ab..aad41f33d 100755 --- a/src/tests/ofc22/deploy_specs.sh +++ b/src/tests/ofc22/deploy_specs.sh @@ -21,7 +21,7 @@ export TFS_REGISTRY_IMAGES="http://localhost:32000/tfs/" # Set the list of components, separated by spaces, you want to build images for, and deploy. #export TFS_COMPONENTS="context device pathcomp service slice nbi webui load_generator" -export TFS_COMPONENTS="context device pathcomp service slice nbi" +export TFS_COMPONENTS="context device pathcomp service slice nbi webui" # Uncomment to activate Monitoring export TFS_COMPONENTS="${TFS_COMPONENTS} monitoring" -- GitLab From 5128fd5f6deb2d3f4b2c3382d59368eee8912df1 Mon Sep 17 00:00:00 2001 From: Lluis Gifre Renom Date: Fri, 22 Mar 2024 00:23:50 +0000 Subject: [PATCH 077/156] Pre-merge cleanup --- src/common/tools/mutex_queues/MutexQueues.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/common/tools/mutex_queues/MutexQueues.py b/src/common/tools/mutex_queues/MutexQueues.py index 50074cd4a..e18432500 100644 --- a/src/common/tools/mutex_queues/MutexQueues.py +++ b/src/common/tools/mutex_queues/MutexQueues.py @@ -78,7 +78,7 @@ class MutexQueues: # remove myself from the queue try: - mutex = queue.get(block=True, timeout=0.1) + queue.get(block=True, timeout=0.1) except Empty: pass -- GitLab From a3b6992cc50342ed15e82842065558c4fafda452 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 22 Mar 2024 09:34:35 +0000 Subject: [PATCH 078/156] GitLab CI/CD pipeline & reorganization: - Updated build commands to docker buildx - Removed unneeded scripts - Moved scripts to scripts folder --- deploy/component.sh | 25 +++++++++++--- deploy/mock_blockchain.sh | 17 +++++++++- .../expose_ingress_grpc.sh | 0 .../run_tests_docker.sh | 19 +++++++++-- {src => scripts}/start_webui_dev_mode.sh | 0 scripts/wait_context_nats.sh | 28 ++++++++++++++++ src/bgpls_speaker/.gitlab-ci.yml | 2 +- src/build.sh | 33 ------------------- src/clean.sh | 19 ----------- src/context/.gitlab-ci.yml | 2 +- src/dbscanserving/.gitlab-ci.yml | 2 +- src/device/.gitlab-ci.yml | 2 +- src/dlt/.gitlab-ci.yml | 4 +-- src/e2e_orchestrator/.gitlab-ci.yml | 2 +- src/forecaster/.gitlab-ci.yml | 2 +- src/interdomain/.gitlab-ci.yml | 2 +- src/l3_attackmitigator/.gitlab-ci.yml | 2 +- .../.gitlab-ci.yml | 2 +- .../.gitlab-ci.yml | 2 +- src/load_generator/.gitlab-ci.yml | 2 +- src/monitoring/.gitlab-ci.yml | 2 +- src/nbi/.gitlab-ci.yml | 2 +- src/opticalattackdetector/.gitlab-ci.yml | 2 +- src/opticalattackmanager/.gitlab-ci.yml | 2 +- src/opticalattackmitigator/.gitlab-ci.yml | 2 +- src/pathcomp/.gitlab-ci.yml | 6 ++-- src/policy/.gitlab-ci.yml | 6 ++-- src/service/.gitlab-ci.yml | 2 +- src/slice/.gitlab-ci.yml | 2 +- src/start.sh | 18 ---------- src/tests/ecoc22/.gitlab-ci.yml | 2 +- src/tests/ofc22/.gitlab-ci.yml | 2 +- src/webui/.gitlab-ci.yml | 2 +- src/ztp/.gitlab-ci.yml | 6 ++-- 34 files changed, 113 insertions(+), 110 deletions(-) rename expose_ingress_grpc.sh => scripts/expose_ingress_grpc.sh (100%) rename run_tests_docker.sh => scripts/run_tests_docker.sh (72%) rename {src => scripts}/start_webui_dev_mode.sh (100%) create mode 100755 scripts/wait_context_nats.sh delete mode 100755 src/build.sh delete mode 100755 src/clean.sh delete mode 100755 src/start.sh diff --git a/deploy/component.sh b/deploy/component.sh index e26488186..d3a94c259 100755 --- a/deploy/component.sh +++ b/deploy/component.sh @@ -40,6 +40,21 @@ export TFS_GRAFANA_PASSWORD=${TFS_GRAFANA_PASSWORD:-"admin123+"} # Automated steps start here ######################################################################################################################## +DOCKER_BUILD="docker build" +DOCKER_MAJOR_VERSION=$(docker --version | grep -o -E "Docker version [0-9]+\." | grep -o -E "[0-9]+" | cut -c 1-3) +if [[ $DOCKER_MAJOR_VERSION -ge 23 ]]; then + # If Docker version >= 23, build command was migrated to docker-buildx + # In Ubuntu, in practice, means to install package docker-buildx together with docker.io + # Check if docker-buildx plugin is installed + docker buildx version 1>/dev/null 2>/dev/null + if [[ $? -ne 0 ]]; then + echo "Docker buildx command is not installed. Check: https://docs.docker.com/build/architecture/#install-buildx" + echo "If you installed docker through APT package docker.io, consider installing also package docker-buildx" + exit 1; + fi + DOCKER_BUILD="docker buildx build" +fi + # Constants GITLAB_REPO_URL="labs.etsi.org:5050/tfs/controller" TMP_FOLDER="./tmp" @@ -60,17 +75,17 @@ for COMPONENT in $TFS_COMPONENTS; do BUILD_LOG="$TMP_LOGS_FOLDER/build_${COMPONENT}.log" if [ "$COMPONENT" == "ztp" ] || [ "$COMPONENT" == "policy" ]; then - docker build -t "$IMAGE_NAME" -f ./src/"$COMPONENT"/Dockerfile ./src/"$COMPONENT"/ > "$BUILD_LOG" + $DOCKER_BUILD -t "$IMAGE_NAME" -f ./src/"$COMPONENT"/Dockerfile ./src/"$COMPONENT"/ > "$BUILD_LOG" elif [ "$COMPONENT" == "pathcomp" ]; then BUILD_LOG="$TMP_LOGS_FOLDER/build_${COMPONENT}-frontend.log" - docker build -t "$COMPONENT-frontend:$TFS_IMAGE_TAG" -f ./src/"$COMPONENT"/frontend/Dockerfile . >> "$BUILD_LOG" + $DOCKER_BUILD -t "$COMPONENT-frontend:$TFS_IMAGE_TAG" -f ./src/"$COMPONENT"/frontend/Dockerfile . >> "$BUILD_LOG" BUILD_LOG="$TMP_LOGS_FOLDER/build_${COMPONENT}-backend.log" - docker build -t "$COMPONENT-backend:$TFS_IMAGE_TAG" -f ./src/"$COMPONENT"/backend/Dockerfile . >> "$BUILD_LOG" + $DOCKER_BUILD -t "$COMPONENT-backend:$TFS_IMAGE_TAG" -f ./src/"$COMPONENT"/backend/Dockerfile . >> "$BUILD_LOG" # next command is redundant, but helpful to keep cache updated between rebuilds - docker build -t "$COMPONENT-backend:$TFS_IMAGE_TAG-builder" --target builder -f ./src/"$COMPONENT"/backend/Dockerfile . >> "$BUILD_LOG" + $DOCKER_BUILD -t "$COMPONENT-backend:$TFS_IMAGE_TAG-builder" --target builder -f ./src/"$COMPONENT"/backend/Dockerfile . >> "$BUILD_LOG" else - docker build -t "$IMAGE_NAME" -f ./src/"$COMPONENT"/Dockerfile . > "$BUILD_LOG" + $DOCKER_BUILD -t "$IMAGE_NAME" -f ./src/"$COMPONENT"/Dockerfile . > "$BUILD_LOG" fi if [ -n "$TFS_REGISTRY_IMAGES" ]; then diff --git a/deploy/mock_blockchain.sh b/deploy/mock_blockchain.sh index 74d62cd52..df8496bea 100755 --- a/deploy/mock_blockchain.sh +++ b/deploy/mock_blockchain.sh @@ -58,9 +58,24 @@ echo "Processing '$COMPONENT' component..." IMAGE_NAME="$COMPONENT:$IMAGE_TAG" IMAGE_URL=$(echo "$REGISTRY_IMAGE/$IMAGE_NAME" | sed 's,//,/,g' | sed 's,http:/,,g') +DOCKER_BUILD="docker build" +DOCKER_MAJOR_VERSION=$(docker --version | grep -o -E "Docker version [0-9]+\." | grep -o -E "[0-9]+" | cut -c 1-3) +if [[ $DOCKER_MAJOR_VERSION -ge 23 ]]; then + # If Docker version >= 23, build command was migrated to docker-buildx + # In Ubuntu, in practice, means to install package docker-buildx together with docker.io + # Check if docker-buildx plugin is installed + docker buildx version 1>/dev/null 2>/dev/null + if [[ $? -ne 0 ]]; then + echo "Docker buildx command is not installed. Check: https://docs.docker.com/build/architecture/#install-buildx" + echo "If you installed docker through APT package docker.io, consider installing also package docker-buildx" + exit 1; + fi + DOCKER_BUILD="docker buildx build" +fi + echo " Building Docker image..." BUILD_LOG="$TMP_LOGS_FOLDER/build_${COMPONENT}.log" -docker build -t "$IMAGE_NAME" -f ./src/dlt/mock_blockchain/Dockerfile . > "$BUILD_LOG" +$DOCKER_BUILD -t "$IMAGE_NAME" -f ./src/dlt/mock_blockchain/Dockerfile . > "$BUILD_LOG" if [ -n "$REGISTRY_IMAGE" ]; then echo " Pushing Docker image to '$REGISTRY_IMAGE'..." diff --git a/expose_ingress_grpc.sh b/scripts/expose_ingress_grpc.sh similarity index 100% rename from expose_ingress_grpc.sh rename to scripts/expose_ingress_grpc.sh diff --git a/run_tests_docker.sh b/scripts/run_tests_docker.sh similarity index 72% rename from run_tests_docker.sh rename to scripts/run_tests_docker.sh index b7d897d76..23d920487 100755 --- a/run_tests_docker.sh +++ b/scripts/run_tests_docker.sh @@ -35,6 +35,21 @@ TMP_FOLDER="./tmp" TMP_LOGS_FOLDER="$TMP_FOLDER/logs" mkdir -p $TMP_LOGS_FOLDER +DOCKER_BUILD="docker build" +DOCKER_MAJOR_VERSION=$(docker --version | grep -o -E "Docker version [0-9]+\." | grep -o -E "[0-9]+" | cut -c 1-3) +if [[ $DOCKER_MAJOR_VERSION -ge 23 ]]; then + # If Docker version >= 23, build command was migrated to docker-buildx + # In Ubuntu, in practice, means to install package docker-buildx together with docker.io + # Check if docker-buildx plugin is installed + docker buildx version 1>/dev/null 2>/dev/null + if [[ $? -ne 0 ]]; then + echo "Docker buildx command is not installed. Check: https://docs.docker.com/build/architecture/#install-buildx" + echo "If you installed docker through APT package docker.io, consider installing also package docker-buildx" + exit 1; + fi + DOCKER_BUILD="docker buildx build" +fi + for COMPONENT in $COMPONENTS; do echo "Processing '$COMPONENT' component..." IMAGE_NAME="$COMPONENT:$IMAGE_TAG" @@ -44,9 +59,9 @@ for COMPONENT in $COMPONENTS; do BUILD_LOG="$TMP_LOGS_FOLDER/build_${COMPONENT}.log" if [ "$COMPONENT" == "ztp" ] || [ "$COMPONENT" == "policy" ]; then - docker build -t "$IMAGE_NAME" -f ./src/"$COMPONENT"/Dockerfile ./src/"$COMPONENT"/ > "$BUILD_LOG" + $DOCKER_BUILD -t "$IMAGE_NAME" -f ./src/"$COMPONENT"/Dockerfile ./src/"$COMPONENT"/ > "$BUILD_LOG" else - docker build -t "$IMAGE_NAME" -f ./src/"$COMPONENT"/Dockerfile ./src/ > "$BUILD_LOG" + $DOCKER_BUILD -t "$IMAGE_NAME" -f ./src/"$COMPONENT"/Dockerfile ./src/ > "$BUILD_LOG" fi if [ -n "$REGISTRY_IMAGE" ]; then diff --git a/src/start_webui_dev_mode.sh b/scripts/start_webui_dev_mode.sh similarity index 100% rename from src/start_webui_dev_mode.sh rename to scripts/start_webui_dev_mode.sh diff --git a/scripts/wait_context_nats.sh b/scripts/wait_context_nats.sh new file mode 100755 index 000000000..900595741 --- /dev/null +++ b/scripts/wait_context_nats.sh @@ -0,0 +1,28 @@ +#!/bin/bash +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +######################################################################################################################## +# Define your deployment settings here +######################################################################################################################## + +# If not already set, set the name of the Kubernetes namespace to deploy to. +export TFS_K8S_NAMESPACE=${TFS_K8S_NAMESPACE:-"tfs"} + + +######################################################################################################################## +# Automated steps start here +######################################################################################################################## + +while ! kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server 2>&1 | grep -q 'Subscriber is Ready? True'; do sleep 1; done diff --git a/src/bgpls_speaker/.gitlab-ci.yml b/src/bgpls_speaker/.gitlab-ci.yml index 502025626..50b5ebf69 100644 --- a/src/bgpls_speaker/.gitlab-ci.yml +++ b/src/bgpls_speaker/.gitlab-ci.yml @@ -21,7 +21,7 @@ build bgpls_speaker: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/build.sh b/src/build.sh deleted file mode 100755 index b1a7d299e..000000000 --- a/src/build.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -# Make folder containing the script the root folder for its execution -cd $(dirname $0) - -echo "BUILD context" -context/genproto.sh -docker build -t "context:develop" -f context/Dockerfile --quiet . -docker build -t "context:test" -f context/tests/Dockerfile --quiet . - -cd monitoring -./genproto.sh -cd .. - -echo "BUILD monitoring" -docker build -t "monitoring:dockerfile" -f monitoring/Dockerfile . - -echo "Prune unused images" -docker image prune --force diff --git a/src/clean.sh b/src/clean.sh deleted file mode 100755 index 21e887190..000000000 --- a/src/clean.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -docker rm --force monitoring -docker network remove teraflowbridge - diff --git a/src/context/.gitlab-ci.yml b/src/context/.gitlab-ci.yml index 5de4bc1fc..eb12743c3 100644 --- a/src/context/.gitlab-ci.yml +++ b/src/context/.gitlab-ci.yml @@ -21,7 +21,7 @@ build context: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/dbscanserving/.gitlab-ci.yml b/src/dbscanserving/.gitlab-ci.yml index d665bdaf2..2753e4c49 100644 --- a/src/dbscanserving/.gitlab-ci.yml +++ b/src/dbscanserving/.gitlab-ci.yml @@ -21,7 +21,7 @@ build dbscanserving: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/device/.gitlab-ci.yml b/src/device/.gitlab-ci.yml index bcc2e05e5..83b18a122 100644 --- a/src/device/.gitlab-ci.yml +++ b/src/device/.gitlab-ci.yml @@ -21,7 +21,7 @@ build device: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/dlt/.gitlab-ci.yml b/src/dlt/.gitlab-ci.yml index df30a7b1d..7b14937a7 100644 --- a/src/dlt/.gitlab-ci.yml +++ b/src/dlt/.gitlab-ci.yml @@ -22,8 +22,8 @@ build dlt: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: # This first build tags the builder resulting image to prevent being removed by dangling image removal command - - docker build -t "${IMAGE_NAME}-gateway:$IMAGE_TAG" -f ./src/$IMAGE_NAME/gateway/Dockerfile . - - docker build -t "${IMAGE_NAME}-connector:$IMAGE_TAG" -f ./src/$IMAGE_NAME/connector/Dockerfile . + - docker buildx build -t "${IMAGE_NAME}-gateway:$IMAGE_TAG" -f ./src/$IMAGE_NAME/gateway/Dockerfile . + - docker buildx build -t "${IMAGE_NAME}-connector:$IMAGE_TAG" -f ./src/$IMAGE_NAME/connector/Dockerfile . - docker tag "${IMAGE_NAME}-gateway:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/${IMAGE_NAME}-gateway:$IMAGE_TAG" - docker tag "${IMAGE_NAME}-connector:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/${IMAGE_NAME}-connector:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/${IMAGE_NAME}-gateway:$IMAGE_TAG" diff --git a/src/e2e_orchestrator/.gitlab-ci.yml b/src/e2e_orchestrator/.gitlab-ci.yml index a14a215af..1dc93a8d4 100644 --- a/src/e2e_orchestrator/.gitlab-ci.yml +++ b/src/e2e_orchestrator/.gitlab-ci.yml @@ -21,7 +21,7 @@ build e2eorchestrator: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/forecaster/.gitlab-ci.yml b/src/forecaster/.gitlab-ci.yml index 09b2f8f4e..108febbf9 100644 --- a/src/forecaster/.gitlab-ci.yml +++ b/src/forecaster/.gitlab-ci.yml @@ -21,7 +21,7 @@ build forecaster: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/interdomain/.gitlab-ci.yml b/src/interdomain/.gitlab-ci.yml index 486c6d0a9..3cfd8c57e 100644 --- a/src/interdomain/.gitlab-ci.yml +++ b/src/interdomain/.gitlab-ci.yml @@ -21,7 +21,7 @@ build interdomain: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/l3_attackmitigator/.gitlab-ci.yml b/src/l3_attackmitigator/.gitlab-ci.yml index c43b553a4..997c43649 100644 --- a/src/l3_attackmitigator/.gitlab-ci.yml +++ b/src/l3_attackmitigator/.gitlab-ci.yml @@ -21,7 +21,7 @@ build l3_attackmitigator: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/l3_centralizedattackdetector/.gitlab-ci.yml b/src/l3_centralizedattackdetector/.gitlab-ci.yml index 057545eb1..ed0cb14d3 100644 --- a/src/l3_centralizedattackdetector/.gitlab-ci.yml +++ b/src/l3_centralizedattackdetector/.gitlab-ci.yml @@ -21,7 +21,7 @@ build l3_centralizedattackdetector: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/l3_distributedattackdetector/.gitlab-ci.yml b/src/l3_distributedattackdetector/.gitlab-ci.yml index 226cb6421..474039086 100644 --- a/src/l3_distributedattackdetector/.gitlab-ci.yml +++ b/src/l3_distributedattackdetector/.gitlab-ci.yml @@ -21,7 +21,7 @@ build l3_distributedattackdetector: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/load_generator/.gitlab-ci.yml b/src/load_generator/.gitlab-ci.yml index 5f2ee0d76..3980c19e5 100644 --- a/src/load_generator/.gitlab-ci.yml +++ b/src/load_generator/.gitlab-ci.yml @@ -21,7 +21,7 @@ build load_generator: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/monitoring/.gitlab-ci.yml b/src/monitoring/.gitlab-ci.yml index 7c3a14975..6ee53bb60 100644 --- a/src/monitoring/.gitlab-ci.yml +++ b/src/monitoring/.gitlab-ci.yml @@ -21,7 +21,7 @@ build monitoring: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/nbi/.gitlab-ci.yml b/src/nbi/.gitlab-ci.yml index e0cac446a..2f7110202 100644 --- a/src/nbi/.gitlab-ci.yml +++ b/src/nbi/.gitlab-ci.yml @@ -21,7 +21,7 @@ build nbi: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/opticalattackdetector/.gitlab-ci.yml b/src/opticalattackdetector/.gitlab-ci.yml index 9b92c66fc..61f404c16 100644 --- a/src/opticalattackdetector/.gitlab-ci.yml +++ b/src/opticalattackdetector/.gitlab-ci.yml @@ -21,7 +21,7 @@ build opticalattackdetector: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/opticalattackmanager/.gitlab-ci.yml b/src/opticalattackmanager/.gitlab-ci.yml index 56d3c9d4d..1054a8520 100644 --- a/src/opticalattackmanager/.gitlab-ci.yml +++ b/src/opticalattackmanager/.gitlab-ci.yml @@ -21,7 +21,7 @@ build opticalattackmanager: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/opticalattackmitigator/.gitlab-ci.yml b/src/opticalattackmitigator/.gitlab-ci.yml index e684b94a7..3456348fa 100644 --- a/src/opticalattackmitigator/.gitlab-ci.yml +++ b/src/opticalattackmitigator/.gitlab-ci.yml @@ -21,7 +21,7 @@ build opticalattackmitigator: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/pathcomp/.gitlab-ci.yml b/src/pathcomp/.gitlab-ci.yml index 05113d0fe..cc5db9818 100644 --- a/src/pathcomp/.gitlab-ci.yml +++ b/src/pathcomp/.gitlab-ci.yml @@ -22,9 +22,9 @@ build pathcomp: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: # This first build tags the builder resulting image to prevent being removed by dangling image removal command - - docker build -t "${IMAGE_NAME}-backend:${IMAGE_TAG}-builder" --target builder -f ./src/$IMAGE_NAME/backend/Dockerfile . - - docker build -t "${IMAGE_NAME}-backend:$IMAGE_TAG" -f ./src/$IMAGE_NAME/backend/Dockerfile . - - docker build -t "${IMAGE_NAME}-frontend:$IMAGE_TAG" -f ./src/$IMAGE_NAME/frontend/Dockerfile . + - docker buildx build -t "${IMAGE_NAME}-backend:${IMAGE_TAG}-builder" --target builder -f ./src/$IMAGE_NAME/backend/Dockerfile . + - docker buildx build -t "${IMAGE_NAME}-backend:$IMAGE_TAG" -f ./src/$IMAGE_NAME/backend/Dockerfile . + - docker buildx build -t "${IMAGE_NAME}-frontend:$IMAGE_TAG" -f ./src/$IMAGE_NAME/frontend/Dockerfile . - docker tag "${IMAGE_NAME}-backend:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/${IMAGE_NAME}-backend:$IMAGE_TAG" - docker tag "${IMAGE_NAME}-frontend:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/${IMAGE_NAME}-frontend:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/${IMAGE_NAME}-backend:$IMAGE_TAG" diff --git a/src/policy/.gitlab-ci.yml b/src/policy/.gitlab-ci.yml index 8c326ff16..6ec51e86f 100644 --- a/src/policy/.gitlab-ci.yml +++ b/src/policy/.gitlab-ci.yml @@ -24,7 +24,7 @@ build policy: - export IMAGE_TAG=$(grep -m1 '' ./src/$IMAGE_NAME_POLICY/pom.xml | grep -oP '(?<=>).*(?=<)') - echo "IMAGE_TAG=${IMAGE_TAG}" >> ${BUILD_ENV_POLICY} - cat ${BUILD_ENV_POLICY} - - docker build -t "$IMAGE_NAME_POLICY:$IMAGE_TAG" -f ./src/$IMAGE_NAME_POLICY/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME_POLICY/ --target builder + - docker buildx build -t "$IMAGE_NAME_POLICY:$IMAGE_TAG" -f ./src/$IMAGE_NAME_POLICY/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME_POLICY/ --target builder after_script: - docker images --filter="dangling=true" --quiet | xargs -r docker rmi artifacts: @@ -50,7 +50,7 @@ unit_test policy: - docker rm ${REPORTS_CONTAINER} || true script: - echo "Running tests for image ${IMAGE_TAG}" - - docker build -t "$IMAGE_NAME_POLICY:$IMAGE_TAG" -f ./src/$IMAGE_NAME_POLICY/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME_POLICY/ --target unit-test + - docker buildx build -t "$IMAGE_NAME_POLICY:$IMAGE_TAG" -f ./src/$IMAGE_NAME_POLICY/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME_POLICY/ --target unit-test # Transfer JaCoCo and Surefire reports from within tests image - docker create --name ${REPORTS_CONTAINER} "$IMAGE_NAME_POLICY:$IMAGE_TAG" - mkdir -p ${REPORTS_PATH_POLICY} @@ -60,7 +60,7 @@ unit_test policy: - cat ${REPORTS_PATH_POLICY}/coverage.html | grep -o 'Total[^%]*%' | sed 's/<.*>/ /; s/Total/JaCoCo Coverage Total:/' - docker run -v "$(pwd)/src/${IMAGE_NAME_POLICY}:/${IMAGE_NAME_POLICY}" --rm registry.gitlab.com/haynes/jacoco2cobertura:1.0.7 python /opt/cover2cover.py ${IMAGE_NAME_POLICY}/reports/jacoco.xml ${IMAGE_NAME_POLICY}/src/main/java > ${REPORTS_PATH_POLICY}/cobertura.xml # Build final image - - docker build -t "$IMAGE_NAME_POLICY:$IMAGE_TAG" -f ./src/$IMAGE_NAME_POLICY/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME_POLICY/ --target release + - docker buildx build -t "$IMAGE_NAME_POLICY:$IMAGE_TAG" -f ./src/$IMAGE_NAME_POLICY/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME_POLICY/ --target release - docker tag "$IMAGE_NAME_POLICY:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME_POLICY:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME_POLICY:$IMAGE_TAG" after_script: diff --git a/src/service/.gitlab-ci.yml b/src/service/.gitlab-ci.yml index c9ff94ac9..11fa4b07f 100644 --- a/src/service/.gitlab-ci.yml +++ b/src/service/.gitlab-ci.yml @@ -21,7 +21,7 @@ build service: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/slice/.gitlab-ci.yml b/src/slice/.gitlab-ci.yml index 28db8751a..ca66b9a6f 100644 --- a/src/slice/.gitlab-ci.yml +++ b/src/slice/.gitlab-ci.yml @@ -21,7 +21,7 @@ build slice: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/start.sh b/src/start.sh deleted file mode 100755 index 32a016cc0..000000000 --- a/src/start.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash -# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -docker network create -d bridge teraflowbridge - -docker run -d -p 7070:7070 --name monitoring --network=teraflowbridge monitoring:dockerfile diff --git a/src/tests/ecoc22/.gitlab-ci.yml b/src/tests/ecoc22/.gitlab-ci.yml index d677cb823..a6459aebc 100644 --- a/src/tests/ecoc22/.gitlab-ci.yml +++ b/src/tests/ecoc22/.gitlab-ci.yml @@ -20,7 +20,7 @@ build ecoc22: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "${TEST_NAME}:latest" -f ./src/tests/${TEST_NAME}/Dockerfile . + - docker buildx build -t "${TEST_NAME}:latest" -f ./src/tests/${TEST_NAME}/Dockerfile . - docker tag "${TEST_NAME}:latest" "$CI_REGISTRY_IMAGE/${TEST_NAME}:latest" - docker push "$CI_REGISTRY_IMAGE/${TEST_NAME}:latest" after_script: diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index e9c8c0c03..98caf3b09 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -20,7 +20,7 @@ build ofc22: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "${TEST_NAME}:latest" -f ./src/tests/${TEST_NAME}/Dockerfile . + - docker buildx build -t "${TEST_NAME}:latest" -f ./src/tests/${TEST_NAME}/Dockerfile . - docker tag "${TEST_NAME}:latest" "$CI_REGISTRY_IMAGE/${TEST_NAME}:latest" - docker push "$CI_REGISTRY_IMAGE/${TEST_NAME}:latest" after_script: diff --git a/src/webui/.gitlab-ci.yml b/src/webui/.gitlab-ci.yml index 59d21dfb6..4ef2c847b 100644 --- a/src/webui/.gitlab-ci.yml +++ b/src/webui/.gitlab-ci.yml @@ -21,7 +21,7 @@ build webui: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: diff --git a/src/ztp/.gitlab-ci.yml b/src/ztp/.gitlab-ci.yml index a40a14f49..bc15c9aaf 100644 --- a/src/ztp/.gitlab-ci.yml +++ b/src/ztp/.gitlab-ci.yml @@ -24,7 +24,7 @@ build ztp: - export IMAGE_TAG=$(grep -m1 '' ./src/$IMAGE_NAME/pom.xml | grep -oP '(?<=>).*(?=<)') - echo "IMAGE_TAG=${IMAGE_TAG}" >> ${BUILD_ENV} - cat ${BUILD_ENV} - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME/ --target builder + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME/ --target builder after_script: - docker images --filter="dangling=true" --quiet | xargs -r docker rmi artifacts: @@ -50,7 +50,7 @@ unit_test ztp: - docker rm ${REPORTS_CONTAINER} || true script: - echo "Running tests for image ${IMAGE_TAG}" - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME/ --target unit-test + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME/ --target unit-test # Transfer JaCoCo and Surefire reports from within tests image - docker create --name ${REPORTS_CONTAINER} "$IMAGE_NAME:$IMAGE_TAG" - mkdir -p ${REPORTS_PATH} @@ -60,7 +60,7 @@ unit_test ztp: - cat ${REPORTS_PATH}/coverage.html | grep -o 'Total[^%]*%' | sed 's/<.*>/ /; s/Total/JaCoCo Coverage Total:/' - docker run -v "$(pwd)/src/${IMAGE_NAME}:/${IMAGE_NAME}" --rm registry.gitlab.com/haynes/jacoco2cobertura:1.0.7 python /opt/cover2cover.py ${IMAGE_NAME}/reports/jacoco.xml ${IMAGE_NAME}/src/main/java > ${REPORTS_PATH}/cobertura.xml # Build final image - - docker build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME/ --target release + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/src/main/docker/Dockerfile.multistage.jvm ./src/$IMAGE_NAME/ --target release - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" after_script: -- GitLab From 84a84bdd4014191763bf7713ba475cfa01d0b866 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 22 Mar 2024 09:35:48 +0000 Subject: [PATCH 079/156] Manifests: - Disabled policy and ZTP HPAs --- manifests/policyservice.yaml | 38 ++++++++++++++++++------------------ manifests/ztpservice.yaml | 38 ++++++++++++++++++------------------ 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/manifests/policyservice.yaml b/manifests/policyservice.yaml index b93eeda03..7ef040e7f 100644 --- a/manifests/policyservice.yaml +++ b/manifests/policyservice.yaml @@ -108,22 +108,22 @@ spec: limits: cpu: 2000m memory: 2048Mi ---- -apiVersion: autoscaling/v2 -kind: HorizontalPodAutoscaler -metadata: - name: policyservice-hpa -spec: - scaleTargetRef: - apiVersion: apps/v1 - kind: Deployment - name: policyservice - minReplicas: 1 - maxReplicas: 10 - metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 +#--- +#apiVersion: autoscaling/v2 +#kind: HorizontalPodAutoscaler +#metadata: +# name: policyservice-hpa +#spec: +# scaleTargetRef: +# apiVersion: apps/v1 +# kind: Deployment +# name: policyservice +# minReplicas: 1 +# maxReplicas: 10 +# metrics: +# - type: Resource +# resource: +# name: cpu +# target: +# type: Utilization +# averageUtilization: 80 diff --git a/manifests/ztpservice.yaml b/manifests/ztpservice.yaml index 323d3c4bc..608bab125 100644 --- a/manifests/ztpservice.yaml +++ b/manifests/ztpservice.yaml @@ -104,22 +104,22 @@ spec: limits: cpu: 2000m memory: 2048Mi ---- -apiVersion: autoscaling/v2 -kind: HorizontalPodAutoscaler -metadata: - name: ztpservice-hpa -spec: - scaleTargetRef: - apiVersion: apps/v1 - kind: Deployment - name: ztpservice - minReplicas: 1 - maxReplicas: 10 - metrics: - - type: Resource - resource: - name: cpu - target: - type: Utilization - averageUtilization: 80 +#--- +#apiVersion: autoscaling/v2 +#kind: HorizontalPodAutoscaler +#metadata: +# name: ztpservice-hpa +#spec: +# scaleTargetRef: +# apiVersion: apps/v1 +# kind: Deployment +# name: ztpservice +# minReplicas: 1 +# maxReplicas: 10 +# metrics: +# - type: Resource +# resource: +# name: cpu +# target: +# type: Utilization +# averageUtilization: 80 -- GitLab From 4c304841d572de627df4f1e7065dd0e6323fa711 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 22 Mar 2024 10:09:38 +0000 Subject: [PATCH 080/156] Updated README.md file --- README.md | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 5bfb6d70d..8825795b8 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,25 @@ # ETSI TeraFlowSDN Controller -[ETSI OpenSource Group for TeraFlowSDN](https://tfs.etsi.org/) +The [ETSI Software Development Group TeraFlowSDN (SDG TFS)](https://tfs.etsi.org/) is developing an open source cloud native SDN controller enabling smart connectivity services for future networks beyond 5G. -Former, [Teraflow H2020 project](https://teraflow-h2020.eu/) - Secured autonomic traffic management for a Tera of SDN Flows +The project originated from "[Teraflow H2020 project](https://teraflow-h2020.eu/) - Secured autonomic traffic management for a Tera of SDN Flows", a project funded by the European Union’s Horizon 2020 Research and Innovation programme that finished on 30th June 2023. -Branch "master" : [![pipeline status](https://labs.etsi.org/rep/tfs/controller/badges/master/pipeline.svg)](https://labs.etsi.org/rep/tfs/controller/-/commits/master) [![coverage report](https://labs.etsi.org/rep/tfs/controller/badges/master/coverage.svg)](https://labs.etsi.org/rep/tfs/controller/-/commits/master) -Branch "develop" : [![pipeline status](https://labs.etsi.org/rep/tfs/controller/badges/develop/pipeline.svg)](https://labs.etsi.org/rep/tfs/controller/-/commits/develop) [![coverage report](https://labs.etsi.org/rep/tfs/controller/badges/develop/coverage.svg)](https://labs.etsi.org/rep/tfs/controller/-/commits/develop) +## Available branches and releases -# Installation Instructions and Functional Tests -The [TeraFlowSDN Wiki](https://labs.etsi.org/rep/tfs/controller/-/wikis/home) pages include details on using the ETSI TeraFlowSDN release 2.0. +[![Latest Release](https://labs.etsi.org/rep/tfs/controller/-/badges/release.svg)](https://labs.etsi.org/rep/tfs/controller/-/releases) -The documentation, installation instructions, and description of the functional tests defined to enable experimentation with the ETSI TeraFlowSDN Controller can be found in the Wiki pages +- The branch `master` ([![pipeline status](https://labs.etsi.org/rep/tfs/controller/badges/master/pipeline.svg)](https://labs.etsi.org/rep/tfs/controller/-/commits/master) [![coverage report](https://labs.etsi.org/rep/tfs/controller/badges/master/coverage.svg)](https://labs.etsi.org/rep/tfs/controller/-/commits/master)), points always to the latest stable version of the TeraFlowSDN controller. + +- The branches `release/X.Y.Z`, point to the code for the different release versions indicated in the branch name. + - Code in these branches can be considered stable, and no new features are planned. + - In case of bugs, point releases increasing revision number (Z) might be created. + +- The `develop` ([![pipeline status](https://labs.etsi.org/rep/tfs/controller/badges/develop/pipeline.svg)](https://labs.etsi.org/rep/tfs/controller/-/commits/develop) [![coverage report](https://labs.etsi.org/rep/tfs/controller/badges/develop/coverage.svg)](https://labs.etsi.org/rep/tfs/controller/-/commits/develop)) branch is the main development branch and contains the latest contributions. + - **Use it with care! It might not be stable.** + - The latest developments and contributions are added to this branch for testing and validation before reaching a release. + + +## Documentation +The [TeraFlowSDN Wiki](https://labs.etsi.org/rep/tfs/controller/-/wikis/home) pages include the main documentation for the ETSI TeraFlowSDN Controller. +The documentation includes project documentation, installation instructions, functional tests, supported NBIs and SBIs, etc. -- GitLab From 4066f05a22fdba104e85f6cea27cd596e9c2ae49 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 22 Mar 2024 10:15:24 +0000 Subject: [PATCH 081/156] Gitlab CI/CD pipeline - OFC'22 & ECOC'22: - Removed conftest settings as seem to collide with error reporting. - Enforced re-build of docker images --- src/tests/ecoc22/.gitlab-ci.yml | 8 ++-- src/tests/ecoc22/tests/conftest.py | 63 ------------------------------ src/tests/ofc22/.gitlab-ci.yml | 8 ++-- src/tests/ofc22/tests/conftest.py | 63 ------------------------------ 4 files changed, 8 insertions(+), 134 deletions(-) delete mode 100644 src/tests/ecoc22/tests/conftest.py delete mode 100644 src/tests/ofc22/tests/conftest.py diff --git a/src/tests/ecoc22/.gitlab-ci.yml b/src/tests/ecoc22/.gitlab-ci.yml index a6459aebc..09718b4b9 100644 --- a/src/tests/ecoc22/.gitlab-ci.yml +++ b/src/tests/ecoc22/.gitlab-ci.yml @@ -62,10 +62,10 @@ end2end_test ecoc22: #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/sliceservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml - source src/tests/${TEST_NAME}/deploy_specs.sh - - export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" - - export TFS_SKIP_BUILD="YES" - - export TFS_IMAGE_TAG="latest" - - echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" + #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" + #- export TFS_SKIP_BUILD="YES" + #- export TFS_IMAGE_TAG="latest" + #- echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" # Deploy TeraFlowSDN - ./deploy/crdb.sh diff --git a/src/tests/ecoc22/tests/conftest.py b/src/tests/ecoc22/tests/conftest.py deleted file mode 100644 index 6650864b0..000000000 --- a/src/tests/ecoc22/tests/conftest.py +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Acknowledgement: https://stackoverflow.com/questions/46766899/pytest-timeout-fail-test-instead-killing-whole-test-run - -import pytest, signal - - -class Termination(SystemExit): - pass - - -class TimeoutExit(BaseException): - pass - - -def _terminate(signum, frame): - raise Termination("Runner is terminated from outside.") - - -def _timeout(signum, frame): - raise TimeoutExit("Runner timeout is reached, runner is terminating.") - - -@pytest.hookimpl -def pytest_addoption(parser): - parser.addoption( - '--timeout', action='store', dest='timeout', type=int, default=None, - help="number of seconds before each test failure") - - -@pytest.hookimpl -def pytest_configure(config): - # Install the signal handlers that we want to process. - signal.signal(signal.SIGTERM, _terminate) - signal.signal(signal.SIGALRM, _timeout) - - -@pytest.hookimpl(hookwrapper=True) -def pytest_runtest_protocol(item, nextitem): - - # Set the per-test timeout (an alarm signal). - if item.config.option.timeout is not None: - signal.alarm(item.config.option.timeout) - - try: - # Run the setup, test body, and teardown stages. - yield - finally: - # Disable the alarm when the test passes or fails. - # I.e. when we get into the framework's body. - signal.alarm(0) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 98caf3b09..013a389bc 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -63,10 +63,10 @@ end2end_test ofc22: #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/monitoringservice.yaml - source src/tests/${TEST_NAME}/deploy_specs.sh - - export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" - - export TFS_SKIP_BUILD="YES" - - export TFS_IMAGE_TAG="latest" - - echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" + #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" + #- export TFS_SKIP_BUILD="YES" + #- export TFS_IMAGE_TAG="latest" + #- echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" # Deploy TeraFlowSDN - ./deploy/crdb.sh diff --git a/src/tests/ofc22/tests/conftest.py b/src/tests/ofc22/tests/conftest.py deleted file mode 100644 index 6650864b0..000000000 --- a/src/tests/ofc22/tests/conftest.py +++ /dev/null @@ -1,63 +0,0 @@ -# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Acknowledgement: https://stackoverflow.com/questions/46766899/pytest-timeout-fail-test-instead-killing-whole-test-run - -import pytest, signal - - -class Termination(SystemExit): - pass - - -class TimeoutExit(BaseException): - pass - - -def _terminate(signum, frame): - raise Termination("Runner is terminated from outside.") - - -def _timeout(signum, frame): - raise TimeoutExit("Runner timeout is reached, runner is terminating.") - - -@pytest.hookimpl -def pytest_addoption(parser): - parser.addoption( - '--timeout', action='store', dest='timeout', type=int, default=None, - help="number of seconds before each test failure") - - -@pytest.hookimpl -def pytest_configure(config): - # Install the signal handlers that we want to process. - signal.signal(signal.SIGTERM, _terminate) - signal.signal(signal.SIGALRM, _timeout) - - -@pytest.hookimpl(hookwrapper=True) -def pytest_runtest_protocol(item, nextitem): - - # Set the per-test timeout (an alarm signal). - if item.config.option.timeout is not None: - signal.alarm(item.config.option.timeout) - - try: - # Run the setup, test body, and teardown stages. - yield - finally: - # Disable the alarm when the test passes or fails. - # I.e. when we get into the framework's body. - signal.alarm(0) -- GitLab From aad71eb8b5acbebc76f0f1a887b43ab0db31ca08 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 22 Mar 2024 15:42:15 +0000 Subject: [PATCH 082/156] Optical Controller component: - Added CI/CD pipeline descriptor - Homogeneized Dockerfile --- .gitlab-ci.yml | 1 + src/opticalcontroller/.gitlab-ci.yml | 105 +++++++++++++++++++++++++++ src/opticalcontroller/Dockerfile | 40 ++++------ 3 files changed, 122 insertions(+), 24 deletions(-) create mode 100644 src/opticalcontroller/.gitlab-ci.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 064cedd15..2d7c2e21b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -31,6 +31,7 @@ include: - local: '/src/opticalattackmitigator/.gitlab-ci.yml' - local: '/src/opticalattackdetector/.gitlab-ci.yml' - local: '/src/opticalattackmanager/.gitlab-ci.yml' + - local: '/src/opticalcontroller/.gitlab-ci.yml' - local: '/src/ztp/.gitlab-ci.yml' - local: '/src/policy/.gitlab-ci.yml' - local: '/src/forecaster/.gitlab-ci.yml' diff --git a/src/opticalcontroller/.gitlab-ci.yml b/src/opticalcontroller/.gitlab-ci.yml new file mode 100644 index 000000000..4f27f0a42 --- /dev/null +++ b/src/opticalcontroller/.gitlab-ci.yml @@ -0,0 +1,105 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Build, tag, and push the Docker image to the GitLab Docker registry +build opticalcontroller: + variables: + IMAGE_NAME: 'opticalcontroller' # name of the microservice + IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) + stage: build + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + script: + - docker buildx build -t "$IMAGE_NAME:$IMAGE_TAG" -f ./src/$IMAGE_NAME/Dockerfile . + - docker tag "$IMAGE_NAME:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" + - docker push "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" + after_script: + - docker images --filter="dangling=true" --quiet | xargs -r docker rmi + rules: + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' + - changes: + - src/common/**/*.py + - proto/*.proto + - src/$IMAGE_NAME/**/*.{py,in,yml} + - src/$IMAGE_NAME/Dockerfile + - src/$IMAGE_NAME/tests/*.py + - manifests/${IMAGE_NAME}service.yaml + - .gitlab-ci.yml + +## Apply unit test to the component +#unit_test opticalcontroller: +# variables: +# IMAGE_NAME: 'opticalcontroller' # name of the microservice +# IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) +# stage: unit_test +# needs: +# - build opticalcontroller +# before_script: +# - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY +# - if docker network list | grep teraflowbridge; then echo "teraflowbridge is already created"; else docker network create --driver=bridge teraflowbridge; fi +# - if docker container ls | grep $IMAGE_NAME; then docker rm -f $IMAGE_NAME; else echo "$IMAGE_NAME image is not in the system"; fi +# script: +# - docker pull "$CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG" +# - docker run --name $IMAGE_NAME -d -p 20030:20030 -v "$PWD/src/$IMAGE_NAME/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/$IMAGE_NAME:$IMAGE_TAG +# - sleep 5 +# - docker ps -a +# - docker logs $IMAGE_NAME +# - docker exec -i $IMAGE_NAME bash -c "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_unitary.py --junitxml=/opt/results/${IMAGE_NAME}_report.xml" +# - docker exec -i $IMAGE_NAME bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" +# coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' +# after_script: +# - docker rm -f $IMAGE_NAME +# - docker network rm teraflowbridge +# rules: +# - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' +# - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' +# - changes: +# - src/common/**/*.py +# - proto/*.proto +# - src/$IMAGE_NAME/**/*.{py,in,yml} +# - src/$IMAGE_NAME/Dockerfile +# - src/$IMAGE_NAME/tests/*.py +# - manifests/${IMAGE_NAME}service.yaml +# - .gitlab-ci.yml +# artifacts: +# when: always +# reports: +# junit: src/$IMAGE_NAME/tests/${IMAGE_NAME}_report.xml + +## Deployment of the service in Kubernetes Cluster +#deploy opticalcontroller: +# variables: +# IMAGE_NAME: 'opticalcontroller' # name of the microservice +# IMAGE_TAG: 'latest' # tag of the container image (production, development, etc) +# stage: deploy +# needs: +# - unit test opticalcontroller +# # - integ_test execute +# script: +# - 'sed -i "s/$IMAGE_NAME:.*/$IMAGE_NAME:$IMAGE_TAG/" manifests/${IMAGE_NAME}service.yaml' +# - kubectl version +# - kubectl get all +# - kubectl apply -f "manifests/${IMAGE_NAME}service.yaml" +# - kubectl get all +# # environment: +# # name: test +# # url: https://example.com +# # kubernetes: +# # namespace: test +# rules: +# - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' +# when: manual +# - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' +# when: manual diff --git a/src/opticalcontroller/Dockerfile b/src/opticalcontroller/Dockerfile index c3d886ab5..d54566ccb 100644 --- a/src/opticalcontroller/Dockerfile +++ b/src/opticalcontroller/Dockerfile @@ -16,63 +16,55 @@ FROM python:3.9-slim # Install dependencies RUN apt-get --yes --quiet --quiet update && \ - apt-get --yes --quiet --quiet install wget g++ && \ + apt-get --yes --quiet --quiet install wget g++ git && \ rm -rf /var/lib/apt/lists/* # Set Python to show logs as they occur ENV PYTHONUNBUFFERED=0 # Download the gRPC health probe -# RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \ -# wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && \ -# chmod +x /bin/grpc_health_probe - - - +RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \ + wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && \ + chmod +x /bin/grpc_health_probe # Get generic Python packages RUN python3 -m pip install --upgrade pip RUN python3 -m pip install --upgrade setuptools wheel RUN python3 -m pip install --upgrade pip-tools - - +# Get common Python packages +# Note: this step enables sharing the previous Docker build steps among all the Python components +WORKDIR /var/teraflow COPY common_requirements.in common_requirements.in RUN pip-compile --quiet --output-file=common_requirements.txt common_requirements.in RUN python3 -m pip install -r common_requirements.txt -RUN mkdir -p /var/teraflow/opticalcontroller - -WORKDIR /var/teraflow/opticalcontroller/common +# Add common files into working directory +WORKDIR /var/teraflow/common COPY src/common/. ./ RUN rm -rf proto - # Create proto sub-folder, copy .proto files, and generate Python code -RUN mkdir -p /var/teraflow/opticalcontroller/common/proto -WORKDIR /var/teraflow/opticalcontroller/common/proto +RUN mkdir -p /var/teraflow/common/proto +WORKDIR /var/teraflow/common/proto RUN touch __init__.py COPY proto/*.proto ./ RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto RUN rm *.proto RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \; -# Create component sub-folder, get specific Python packages - - - +# Create component sub-folders, get specific Python packages +RUN mkdir -p /var/teraflow/opticalcontroller WORKDIR /var/teraflow/opticalcontroller COPY src/opticalcontroller/requirements.in requirements.in RUN pip-compile --quiet --output-file=requirements.txt requirements.in RUN python3 -m pip install -r requirements.txt # Add component files into working directory -WORKDIR /var/teraflow/ - -COPY src/context/. context/ - +WORKDIR /var/teraflow +COPY src/context/__init__.py context/__init__.py +COPY src/context/client/. context/client/ COPY src/opticalcontroller/. opticalcontroller/ -COPY src/context/. opticalcontroller/context/ # Start the service WORKDIR /var/teraflow/opticalcontroller -- GitLab From e0cda265ce421555729653c8cb801a5bf81efbd7 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 22 Mar 2024 15:42:50 +0000 Subject: [PATCH 083/156] GitLab CI/CD pipeline - ECOC'22: - Added missing device activation test --- .../ecoc22/tests/test_functional_bootstrap.py | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/tests/ecoc22/tests/test_functional_bootstrap.py b/src/tests/ecoc22/tests/test_functional_bootstrap.py index 60df8d8a2..edafbae31 100644 --- a/src/tests/ecoc22/tests/test_functional_bootstrap.py +++ b/src/tests/ecoc22/tests/test_functional_bootstrap.py @@ -14,7 +14,7 @@ import logging, os, time from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId +from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum, Empty from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results, validate_empty_scenario from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient @@ -43,3 +43,25 @@ def test_scenario_bootstrap( response = context_client.GetContext(ADMIN_CONTEXT_ID) assert len(response.service_ids) == 0 assert len(response.slice_ids) == 0 + +def test_scenario_devices_enabled( + context_client : ContextClient, # pylint: disable=redefined-outer-name +) -> None: + """ + This test validates that the devices are enabled. + """ + DEVICE_OP_STATUS_ENABLED = DeviceOperationalStatusEnum.DEVICEOPERATIONALSTATUS_ENABLED + + num_devices = -1 + num_devices_enabled, num_retry = 0, 0 + while (num_devices != num_devices_enabled) and (num_retry < 10): + time.sleep(1.0) + response = context_client.ListDevices(Empty()) + num_devices = len(response.devices) + num_devices_enabled = 0 + for device in response.devices: + if device.device_operational_status != DEVICE_OP_STATUS_ENABLED: continue + num_devices_enabled += 1 + LOGGER.info('Num Devices enabled: {:d}/{:d}'.format(num_devices_enabled, num_devices)) + num_retry += 1 + assert num_devices_enabled == num_devices -- GitLab From cef04c4cdc8bddad58a8d922b7fc1a44827de391 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 22 Mar 2024 15:47:06 +0000 Subject: [PATCH 084/156] GitLab CI/CD pipeline - OFC'24: - Added preliminary non-functional test scripts - Renamed scripts and data files - Added python code to test deployments - Added CI/CD pipeline descriptor - Added TFS descriptor file - Added Dockerfile - Added script to deploy node agents --- src/tests/ofc24/.gitlab-ci.yml | 106 +++++++ src/tests/ofc24/Dockerfile | 101 ++++++ src/tests/ofc24/deploy-node-agents.sh | 84 +++++ src/tests/ofc24/deploy_specs.sh | 163 ++++++++++ src/tests/ofc24/descriptors_topology.json | 150 +++++++++ .../ofc24/{plat_r1.xml => platform_r1.xml} | 2 +- .../ofc24/{plat_r2.xml => platform_r2.xml} | 2 +- src/tests/ofc24/platform_t1.xml | 295 +++++++++++++++++ src/tests/ofc24/platform_t2.xml | 295 +++++++++++++++++ src/tests/ofc24/requirements.in | 15 + src/tests/ofc24/startNetconfAgent.sh | 7 + src/tests/ofc24/t1.xml | 298 ------------------ src/tests/ofc24/t2.xml | 298 ------------------ src/tests/ofc24/tests/__init__.py | 14 + .../ofc24/tests/test_functional_bootstrap.py | 67 ++++ .../ofc24/tests/test_functional_cleanup.py | 44 +++ .../tests/test_functional_create_service.py | 102 ++++++ .../tests/test_functional_delete_service.py | 74 +++++ 18 files changed, 1519 insertions(+), 598 deletions(-) create mode 100644 src/tests/ofc24/.gitlab-ci.yml create mode 100644 src/tests/ofc24/Dockerfile create mode 100755 src/tests/ofc24/deploy-node-agents.sh create mode 100755 src/tests/ofc24/deploy_specs.sh create mode 100644 src/tests/ofc24/descriptors_topology.json rename src/tests/ofc24/{plat_r1.xml => platform_r1.xml} (99%) rename src/tests/ofc24/{plat_r2.xml => platform_r2.xml} (99%) create mode 100755 src/tests/ofc24/platform_t1.xml create mode 100755 src/tests/ofc24/platform_t2.xml create mode 100644 src/tests/ofc24/requirements.in create mode 100755 src/tests/ofc24/startNetconfAgent.sh delete mode 100755 src/tests/ofc24/t1.xml delete mode 100755 src/tests/ofc24/t2.xml create mode 100644 src/tests/ofc24/tests/__init__.py create mode 100644 src/tests/ofc24/tests/test_functional_bootstrap.py create mode 100644 src/tests/ofc24/tests/test_functional_cleanup.py create mode 100644 src/tests/ofc24/tests/test_functional_create_service.py create mode 100644 src/tests/ofc24/tests/test_functional_delete_service.py diff --git a/src/tests/ofc24/.gitlab-ci.yml b/src/tests/ofc24/.gitlab-ci.yml new file mode 100644 index 000000000..0b5593b16 --- /dev/null +++ b/src/tests/ofc24/.gitlab-ci.yml @@ -0,0 +1,106 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Build, tag, and push the Docker image to the GitLab Docker registry +build ofc22: + variables: + TEST_NAME: 'ofc22' + stage: build + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + script: + - docker buildx build -t "${TEST_NAME}:latest" -f ./src/tests/${TEST_NAME}/Dockerfile . + - docker tag "${TEST_NAME}:latest" "$CI_REGISTRY_IMAGE/${TEST_NAME}:latest" + - docker push "$CI_REGISTRY_IMAGE/${TEST_NAME}:latest" + after_script: + - docker images --filter="dangling=true" --quiet | xargs -r docker rmi + rules: + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' + - changes: + - src/common/**/*.py + - proto/*.proto + - src/tests/${TEST_NAME}/**/*.{py,in,sh,yml} + - src/tests/${TEST_NAME}/Dockerfile + - .gitlab-ci.yml + +# Deploy TeraFlowSDN and Execute end-2-end test +end2end_test ofc22: + variables: + TEST_NAME: 'ofc22' + stage: end2end_test + # Disable to force running it after all other tasks + #needs: + # - build ofc22 + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + script: + # Download Docker image to run the test + - docker pull "${CI_REGISTRY_IMAGE}/${TEST_NAME}:latest" + + # Check MicroK8s is ready + - microk8s status --wait-ready + - kubectl get pods --all-namespaces + + # Configure TeraFlowSDN deployment + # Uncomment if DEBUG log level is needed for the components + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/contextservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/deviceservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="frontend").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/pathcompservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/serviceservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/sliceservice.yaml + #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/nbiservice.yaml + - source src/tests/${TEST_NAME}/deploy_specs.sh + #- export TFS_REGISTRY_IMAGES="${CI_REGISTRY_IMAGE}" + #- export TFS_SKIP_BUILD="YES" + #- export TFS_IMAGE_TAG="latest" + #- echo "TFS_REGISTRY_IMAGES=${CI_REGISTRY_IMAGE}" + + # Deploy TeraFlowSDN + - ./deploy/crdb.sh + - ./deploy/nats.sh + - ./deploy/qdb.sh + - ./deploy/expose_dashboard.sh + - ./deploy/tfs.sh + - ./deploy/show.sh + + # Wait for Context to be subscribed to NATS + #- while ! kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server 2>&1 | grep -q 'Subscriber is Ready? True'; do sleep 1; done + #- kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server + + # Run end-to-end tests + - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi + - > + docker run -t --name ${TEST_NAME} --network=host + --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" + --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" + $CI_REGISTRY_IMAGE/${TEST_NAME}:latest + after_script: + - source src/tests/${TEST_NAME}/deploy_specs.sh + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/pathcompservice -c frontend + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/sliceservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server + - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi + - docker images --filter="dangling=true" --quiet | xargs -r docker rmi + #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' + rules: + - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' + - if: '$CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_BRANCH == "develop"' + artifacts: + when: always + reports: + junit: ./src/tests/${TEST_NAME}/report_*.xml diff --git a/src/tests/ofc24/Dockerfile b/src/tests/ofc24/Dockerfile new file mode 100644 index 000000000..8efa0c72c --- /dev/null +++ b/src/tests/ofc24/Dockerfile @@ -0,0 +1,101 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM python:3.9-slim + +# Install dependencies +RUN apt-get --yes --quiet --quiet update && \ + apt-get --yes --quiet --quiet install wget g++ git && \ + rm -rf /var/lib/apt/lists/* + +# Set Python to show logs as they occur +ENV PYTHONUNBUFFERED=0 + +# Download the gRPC health probe +RUN GRPC_HEALTH_PROBE_VERSION=v0.2.0 && \ + wget -qO/bin/grpc_health_probe https://github.com/grpc-ecosystem/grpc-health-probe/releases/download/${GRPC_HEALTH_PROBE_VERSION}/grpc_health_probe-linux-amd64 && \ + chmod +x /bin/grpc_health_probe + +# Get generic Python packages +RUN python3 -m pip install --upgrade pip +RUN python3 -m pip install --upgrade setuptools wheel +RUN python3 -m pip install --upgrade pip-tools + +# Get common Python packages +# Note: this step enables sharing the previous Docker build steps among all the Python components +WORKDIR /var/teraflow +COPY common_requirements.in common_requirements.in +RUN pip-compile --quiet --output-file=common_requirements.txt common_requirements.in +RUN python3 -m pip install -r common_requirements.txt + +# Add common files into working directory +WORKDIR /var/teraflow/common +COPY src/common/. ./ +RUN rm -rf proto + +# Create proto sub-folder, copy .proto files, and generate Python code +RUN mkdir -p /var/teraflow/common/proto +WORKDIR /var/teraflow/common/proto +RUN touch __init__.py +COPY proto/*.proto ./ +RUN python3 -m grpc_tools.protoc -I=. --python_out=. --grpc_python_out=. *.proto +RUN rm *.proto +RUN find . -type f -exec sed -i -E 's/(import\ .*)_pb2/from . \1_pb2/g' {} \; + +# Create component sub-folders, get specific Python packages +RUN mkdir -p /var/teraflow/tests/ofc24 +WORKDIR /var/teraflow/tests/ofc24 +COPY src/tests/ofc24/requirements.in requirements.in +RUN pip-compile --quiet --output-file=requirements.txt requirements.in +RUN python3 -m pip install -r requirements.txt + +# Add component files into working directory +WORKDIR /var/teraflow +COPY src/__init__.py ./__init__.py +COPY src/common/*.py ./common/ +COPY src/common/tests/. ./common/tests/ +COPY src/common/tools/. ./common/tools/ +COPY src/context/__init__.py context/__init__.py +COPY src/context/client/. context/client/ +COPY src/device/__init__.py device/__init__.py +COPY src/device/client/. device/client/ +#COPY src/monitoring/__init__.py monitoring/__init__.py +#COPY src/monitoring/client/. monitoring/client/ +#COPY src/monitoring/__init__.py monitoring/__init__.py +#COPY src/monitoring/client/. monitoring/client/ +COPY src/e2e_orchestrator/__init__.py e2e_orchestrator/__init__.py +COPY src/e2e_orchestrator/client/. e2e_orchestrator/client/ +COPY src/service/__init__.py service/__init__.py +COPY src/service/client/. service/client/ +COPY src/slice/__init__.py slice/__init__.py +COPY src/slice/client/. slice/client/ +COPY src/tests/*.py ./tests/ +COPY src/tests/ofc24/__init__.py ./tests/ofc24/__init__.py +COPY src/tests/ofc24/descriptors_topology.json ./tests/ofc24/descriptors_topology.json +COPY src/tests/ofc24/tests/. ./tests/ofc24/tests/ +COPY src/tests/tools/. ./tests/tools/ + +RUN tee ./run_tests.sh <&1 | grep -q '*** ConfD OpenConfig NETCONF agent ***'; do sleep 1; done +while ! docker logs na-t2 2>&1 | grep -q '*** ConfD OpenConfig NETCONF agent ***'; do sleep 1; done +while ! docker logs na-r1 2>&1 | grep -q '*** ConfD OpenConfig NETCONF agent ***'; do sleep 1; done +while ! docker logs na-r2 2>&1 | grep -q '*** ConfD OpenConfig NETCONF agent ***'; do sleep 1; done +sleep 2 +docker ps -a + + +echo +echo "Dump Node Agent status:" +echo "-----------------------" +docker ps -a +#docker logs na-t1 +#docker logs na-t2 +#docker logs na-r1 +#docker logs na-r2 + + +#echo +#echo "Post-test clean-up:" +#echo "-------------------" +#docker rm -f na-t1 na-t2 na-r1 na-r2 +#docker network rm na-br + +echo "Done!" diff --git a/src/tests/ofc24/deploy_specs.sh b/src/tests/ofc24/deploy_specs.sh new file mode 100755 index 000000000..ca5494de2 --- /dev/null +++ b/src/tests/ofc24/deploy_specs.sh @@ -0,0 +1,163 @@ +#!/bin/bash +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +# ----- TeraFlowSDN ------------------------------------------------------------ + +# Set the URL of the internal MicroK8s Docker registry where the images will be uploaded to. +export TFS_REGISTRY_IMAGES="http://localhost:32000/tfs/" + +# Set the list of components, separated by spaces, you want to build images for, and deploy. +#export TFS_COMPONENTS="context device pathcomp service slice nbi webui load_generator" +export TFS_COMPONENTS="context device pathcomp service slice nbi webui" + +# Uncomment to activate Monitoring +#export TFS_COMPONENTS="${TFS_COMPONENTS} monitoring" + +# Uncomment to activate BGP-LS Speaker +#export TFS_COMPONENTS="${TFS_COMPONENTS} bgpls_speaker" + +# Uncomment to activate Optical Controller +export TFS_COMPONENTS="${TFS_COMPONENTS} opticalcontroller" + +# Uncomment to activate ZTP +#export TFS_COMPONENTS="${TFS_COMPONENTS} ztp" + +# Uncomment to activate Policy Manager +#export TFS_COMPONENTS="${TFS_COMPONENTS} policy" + +# Uncomment to activate Optical CyberSecurity +#export TFS_COMPONENTS="${TFS_COMPONENTS} dbscanserving opticalattackmitigator opticalattackdetector opticalattackmanager" + +# Uncomment to activate L3 CyberSecurity +#export TFS_COMPONENTS="${TFS_COMPONENTS} l3_attackmitigator l3_centralizedattackdetector" + +# Uncomment to activate TE +#export TFS_COMPONENTS="${TFS_COMPONENTS} te" + +# Uncomment to activate Forecaster +#export TFS_COMPONENTS="${TFS_COMPONENTS} forecaster" + +# Uncomment to activate E2E Orchestrator +#export TFS_COMPONENTS="${TFS_COMPONENTS} e2e_orchestrator" + +# Set the tag you want to use for your images. +export TFS_IMAGE_TAG="dev" + +# Set the name of the Kubernetes namespace to deploy TFS to. +export TFS_K8S_NAMESPACE="tfs" + +# Set additional manifest files to be applied after the deployment +export TFS_EXTRA_MANIFESTS="manifests/nginx_ingress_http.yaml" + +# Uncomment to monitor performance of components +export TFS_EXTRA_MANIFESTS="${TFS_EXTRA_MANIFESTS} manifests/servicemonitors.yaml" + +# Uncomment when deploying Optical CyberSecurity +#export TFS_EXTRA_MANIFESTS="${TFS_EXTRA_MANIFESTS} manifests/cachingservice.yaml" + +# Set the new Grafana admin password +export TFS_GRAFANA_PASSWORD="admin123+" + +# Disable skip-build flag to rebuild the Docker images. +export TFS_SKIP_BUILD="" + + +# ----- CockroachDB ------------------------------------------------------------ + +# Set the namespace where CockroackDB will be deployed. +export CRDB_NAMESPACE="crdb" + +# Set the external port CockroackDB Postgre SQL interface will be exposed to. +export CRDB_EXT_PORT_SQL="26257" + +# Set the external port CockroackDB HTTP Mgmt GUI interface will be exposed to. +export CRDB_EXT_PORT_HTTP="8081" + +# Set the database username to be used by Context. +export CRDB_USERNAME="tfs" + +# Set the database user's password to be used by Context. +export CRDB_PASSWORD="tfs123" + +# Set the database name to be used by Context. +export CRDB_DATABASE="tfs" + +# Set CockroachDB installation mode to 'single'. This option is convenient for development and testing. +# See ./deploy/all.sh or ./deploy/crdb.sh for additional details +export CRDB_DEPLOY_MODE="single" + +# Disable flag for dropping database, if it exists. +export CRDB_DROP_DATABASE_IF_EXISTS="YES" + +# Disable flag for re-deploying CockroachDB from scratch. +export CRDB_REDEPLOY="" + + +# ----- NATS ------------------------------------------------------------------- + +# Set the namespace where NATS will be deployed. +export NATS_NAMESPACE="nats" + +# Set the external port NATS Client interface will be exposed to. +export NATS_EXT_PORT_CLIENT="4222" + +# Set the external port NATS HTTP Mgmt GUI interface will be exposed to. +export NATS_EXT_PORT_HTTP="8222" + +# Disable flag for re-deploying NATS from scratch. +export NATS_REDEPLOY="" + + +# ----- QuestDB ---------------------------------------------------------------- + +# Set the namespace where QuestDB will be deployed. +export QDB_NAMESPACE="qdb" + +# Set the external port QuestDB Postgre SQL interface will be exposed to. +export QDB_EXT_PORT_SQL="8812" + +# Set the external port QuestDB Influx Line Protocol interface will be exposed to. +export QDB_EXT_PORT_ILP="9009" + +# Set the external port QuestDB HTTP Mgmt GUI interface will be exposed to. +export QDB_EXT_PORT_HTTP="9000" + +# Set the database username to be used for QuestDB. +export QDB_USERNAME="admin" + +# Set the database user's password to be used for QuestDB. +export QDB_PASSWORD="quest" + +# Set the table name to be used by Monitoring for KPIs. +export QDB_TABLE_MONITORING_KPIS="tfs_monitoring_kpis" + +# Set the table name to be used by Slice for plotting groups. +export QDB_TABLE_SLICE_GROUPS="tfs_slice_groups" + +# Disable flag for dropping tables if they exist. +export QDB_DROP_TABLES_IF_EXIST="YES" + +# Disable flag for re-deploying QuestDB from scratch. +export QDB_REDEPLOY="" + + +# ----- K8s Observability ------------------------------------------------------ + +# Set the external port Prometheus Mgmt HTTP GUI interface will be exposed to. +export PROM_EXT_PORT_HTTP="9090" + +# Set the external port Grafana HTTP Dashboards will be exposed to. +export GRAF_EXT_PORT_HTTP="3000" diff --git a/src/tests/ofc24/descriptors_topology.json b/src/tests/ofc24/descriptors_topology.json new file mode 100644 index 000000000..6ae521c76 --- /dev/null +++ b/src/tests/ofc24/descriptors_topology.json @@ -0,0 +1,150 @@ +{ + "contexts": [ + {"context_id": {"context_uuid": {"uuid": "admin"}}} + ], + "topologies": [ + {"topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}}} + ], + "devices": [ + { + "device_id": {"device_uuid": {"uuid": "T1"}}, "device_type": "optical-transponder", "device_drivers": [11], + "device_operational_status": 1, + "device_endpoints": [ + {"endpoint_id": { + "device_id": {"device_uuid": {"uuid": "T1"}}, "endpoint_uuid": {"uuid": "1"}, + "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}} + }} + ], + "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.15"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "2023"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { + "username": "admin", "password": "admin", "force_running": false, "hostkey_verify": false, + "look_for_keys": false, "allow_agent": false, "commit_per_rule": false, + "device_params": {"name": "default"}, "manager_params": {"timeout": 120}, + "endpoints": [{"uuid": "1", "type": "optical", "sample_types": [101, 102, 201, 202]}] + }}} + ]} + }, + { + "device_id": {"device_uuid": {"uuid": "T2"}}, "device_type": "optical-transponder", "device_drivers": [11], + "device_operational_status": 1, + "device_endpoints": [ + {"endpoint_id": { + "device_id": {"device_uuid": {"uuid": "T2"}}, "endpoint_uuid": {"uuid": "6"}, + "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}} + }} + ], + "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.15"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "2024"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { + "username": "admin", "password": "admin", "force_running": false, "hostkey_verify": false, + "look_for_keys": false, "allow_agent": false, "commit_per_rule": false, + "device_params": {"name": "default"}, "manager_params": {"timeout": 120}, + "endpoints": [{"uuid": "6", "type": "optical", "sample_types": [101, 102, 201, 202]}] + }}} + ]} + }, + { + "device_id": {"device_uuid": {"uuid": "R1"}}, "device_type": "optical-roadm", "device_drivers": [11], + "device_operational_status": 1, + "device_endpoints": [ + {"endpoint_id": { + "device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "2"}, + "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}} + }}, + {"endpoint_id": { + "device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "3"}, + "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}} + }}, + {"endpoint_id": { + "device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "12"}, + "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}} + }}, + {"endpoint_id": { + "device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "13"}, + "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}} + }} + ], + "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.15"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "2025"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { + "username": "admin", "password": "admin", "force_running": false, "hostkey_verify": false, + "look_for_keys": false, "allow_agent": false, "commit_per_rule": false, + "device_params": {"name": "default"}, "manager_params": {"timeout": 120}, + "endpoints": [ + {"sample_types": [101, 102, 201, 202], "type": "optical", "uuid": "2"}, + {"sample_types": [101, 102, 201, 202], "type": "optical", "uuid": "3"}, + {"sample_types": [101, 102, 201, 202], "type": "optical", "uuid": "12"}, + {"sample_types": [101, 102, 201, 202], "type": "optical", "uuid": "13"} + ]} + }}] + } + }, + { + "device_id": {"device_uuid": {"uuid": "R2"}}, "device_type": "optical-roadm", "device_drivers": [11], + "device_operational_status": 1, + "device_endpoints": [ + {"endpoint_id": { + "device_id": {"device_uuid": {"uuid": "R2"}}, "endpoint_uuid": {"uuid": "4"}, + "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}} + }}, + {"endpoint_id": { + "device_id": {"device_uuid": {"uuid": "R2"}}, "endpoint_uuid": {"uuid": "5"}, + "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}} + }}, + {"endpoint_id": { + "device_id": {"device_uuid": {"uuid": "R2"}}, "endpoint_uuid": {"uuid": "14"}, + "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}} + }}, + {"endpoint_id": { + "device_id": {"device_uuid": {"uuid": "R2"}}, "endpoint_uuid": {"uuid": "15"}, + "topology_id": {"context_id": {"context_uuid": {"uuid": "admin"}}, "topology_uuid": {"uuid": "admin"}} + }} + ], + "device_config": {"config_rules": [ + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.15"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "2026"}}, + {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { + "username": "admin", "password": "admin", "force_running": false, "hostkey_verify": false, + "look_for_keys": false, "allow_agent": false, "commit_per_rule": false, + "device_params": {"name": "default"}, "manager_params": {"timeout": 120}, + "endpoints": [ + {"sample_types": [101, 102, 201, 202], "type": "optical", "uuid": "4"}, + {"sample_types": [101, 102, 201, 202], "type": "optical", "uuid": "5"}, + {"sample_types": [101, 102, 201, 202], "type": "optical", "uuid": "14"}, + {"sample_types": [101, 102, 201, 202], "type": "optical", "uuid": "15"} + ] + }}} + ]} + } + ], + "links": [ + {"link_id": {"link_uuid": {"uuid": "T1->R1"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "T1"}}, "endpoint_uuid": {"uuid": "1"}}, + {"device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "12"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R1->T1"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "2"}}, + {"device_id": {"device_uuid": {"uuid": "T1"}}, "endpoint_uuid": {"uuid": "1"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R1->R2"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "3"}}, + {"device_id": {"device_uuid": {"uuid": "R2"}}, "endpoint_uuid": {"uuid": "14"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R2->R1"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R2"}}, "endpoint_uuid": {"uuid": "4"}}, + {"device_id": {"device_uuid": {"uuid": "R1"}}, "endpoint_uuid": {"uuid": "13"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "T2->R2"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "T2"}}, "endpoint_uuid": {"uuid": "6"}}, + {"device_id": {"device_uuid": {"uuid": "R2"}}, "endpoint_uuid": {"uuid": "15"}} + ]}, + {"link_id": {"link_uuid": {"uuid": "R2->T2"}}, "link_endpoint_ids": [ + {"device_id": {"device_uuid": {"uuid": "R2"}}, "endpoint_uuid": {"uuid": "5"}}, + {"device_id": {"device_uuid": {"uuid": "T2"}}, "endpoint_uuid": {"uuid": "6"}} + ]} + ] +} diff --git a/src/tests/ofc24/plat_r1.xml b/src/tests/ofc24/platform_r1.xml similarity index 99% rename from src/tests/ofc24/plat_r1.xml rename to src/tests/ofc24/platform_r1.xml index 47e135c2e..625d7048a 100755 --- a/src/tests/ofc24/plat_r1.xml +++ b/src/tests/ofc24/platform_r1.xml @@ -117,4 +117,4 @@ - \ No newline at end of file + diff --git a/src/tests/ofc24/plat_r2.xml b/src/tests/ofc24/platform_r2.xml similarity index 99% rename from src/tests/ofc24/plat_r2.xml rename to src/tests/ofc24/platform_r2.xml index dfaaf05ad..65f7ee458 100755 --- a/src/tests/ofc24/plat_r2.xml +++ b/src/tests/ofc24/platform_r2.xml @@ -117,4 +117,4 @@ - \ No newline at end of file + diff --git a/src/tests/ofc24/platform_t1.xml b/src/tests/ofc24/platform_t1.xml new file mode 100755 index 000000000..09f316211 --- /dev/null +++ b/src/tests/ofc24/platform_t1.xml @@ -0,0 +1,295 @@ + + + + device + + device + + + MellanoxSwitch + SSSA-CNIT + 1.0.0 + 1.0.0 + 1.0.0 + 610610 + typex:OPERATING_SYSTEM + + + + channel-1 + + channel-1 + + + channel-1 + typex:OPTICAL_CHANNEL + + + + 191600000 + 100 + 0 + transceiver-1 + + + 191600000 + 0 + 0 + transceiver-1 + 1 + + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + + + + + + transceiver-1 + + transceiver-1 + + + transceiver-1 + typex:TRANSCEIVER + + + + true + typex:QSFP56_DD_TYPE1 + typex:ETH_400GBASE_ZR + typex:FEC_AUTO + typex:TYPE_DIGITAL_COHERENT_OPTIC + + + true + typex:QSFP56_DD_TYPE1 + typex:ETH_400GBASE_ZR + typex:FEC_AUTO + typex:TYPE_DIGITAL_COHERENT_OPTIC + Cisco + 400zr-QSFP-DD + 01 + 1567321 + + + + 1 + + 1 + channel-1 + + + + + + + + port-1 + + port-1 + + + port-1 + typex:PORT + + + + channel-1 + + channel-1 + + + channel-1 + + + + + + onos-index + + onos-index + 4 + + + onos-index + 4 + + + + odtn-port-type + + odtn-port-type + line + + + odtn-port-type + line + + + + + + + + + + + + 1 + + 1 + Logical channel 1 + DISABLED + type:PROT_OTN + NONE + + + 1 + Logical channel 1 + DISABLED + type:PROT_OTN + NONE + UP + + + + transceiver-1 + + + transceiver-1 + + + + + test1 + test1 + + + test1 + test1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + 0.0 + 0.0 + 0.0 + 0.0 + + + 0.0 + 0.0 + 0.0 + 0.0 + + + 0.0 + 0.0 + 0.0 + 0.0 + 0 + + + 0.0 + 0.0 + 0.0 + 0.0 + 0 + + + + + + 1 + + 1 + Optical channel assigned 100 + 100 + OPTICAL_CHANNEL + channel-1 + + + 1 + Optical channel assigned 100 + 100 + OPTICAL_CHANNEL + channel-1 + + + + + + + + 1 + + 1 + FEC1 + Ericsson + + + + 2 + + 2 + FEC2 + Ericsson + + + + + diff --git a/src/tests/ofc24/platform_t2.xml b/src/tests/ofc24/platform_t2.xml new file mode 100755 index 000000000..03c643c91 --- /dev/null +++ b/src/tests/ofc24/platform_t2.xml @@ -0,0 +1,295 @@ + + + + device + + device + + + MellanoxSwitch + SSSA-CNIT + 1.0.0 + 1.0.0 + 1.0.0 + 610610 + typex:OPERATING_SYSTEM + + + + channel-6 + + channel-6 + + + channel-6 + typex:OPTICAL_CHANNEL + + + + 191600000 + 100 + 0 + transceiver-6 + + + 191600000 + 0 + 0 + transceiver-6 + 1 + + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + + + 0 + 0 + 0 + 0 + 0 + + + + + + transceiver-6 + + transceiver-6 + + + transceiver-6 + typex:TRANSCEIVER + + + + true + typex:QSFP56_DD_TYPE1 + typex:ETH_400GBASE_ZR + typex:FEC_AUTO + typex:TYPE_DIGITAL_COHERENT_OPTIC + + + true + typex:QSFP56_DD_TYPE1 + typex:ETH_400GBASE_ZR + typex:FEC_AUTO + typex:TYPE_DIGITAL_COHERENT_OPTIC + Cisco + 400zr-QSFP-DD + 01 + 1567321 + + + + 1 + + 1 + channel-6 + + + + + + + + port-6 + + port-6 + + + port-6 + typex:PORT + + + + channel-6 + + channel-6 + + + channel-6 + + + + + + onos-index + + onos-index + 4 + + + onos-index + 4 + + + + odtn-port-type + + odtn-port-type + line + + + odtn-port-type + line + + + + + + + + + + + + 4 + + 4 + Logical channel 4 + DISABLED + type:PROT_OTN + NONE + + + 4 + Logical channel 4 + DISABLED + type:PROT_OTN + NONE + UP + + + + transceiver-6 + + + transceiver-6 + + + + + test1 + test1 + + + test1 + test1 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + + 0.0 + 0.0 + 0.0 + 0.0 + + + 0.0 + 0.0 + 0.0 + 0.0 + + + 0.0 + 0.0 + 0.0 + 0.0 + 0 + + + 0.0 + 0.0 + 0.0 + 0.0 + 0 + + + + + + 1 + + 1 + Optical channel assigned 100 + 100 + OPTICAL_CHANNEL + channel-6 + + + 1 + Optical channel assigned 100 + 100 + OPTICAL_CHANNEL + channel-6 + + + + + + + + 1 + + 1 + FEC1 + Ericsson + + + + 2 + + 2 + FEC2 + Ericsson + + + + + diff --git a/src/tests/ofc24/requirements.in b/src/tests/ofc24/requirements.in new file mode 100644 index 000000000..30b11e653 --- /dev/null +++ b/src/tests/ofc24/requirements.in @@ -0,0 +1,15 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +requests==2.27.* diff --git a/src/tests/ofc24/startNetconfAgent.sh b/src/tests/ofc24/startNetconfAgent.sh new file mode 100755 index 000000000..10b721883 --- /dev/null +++ b/src/tests/ofc24/startNetconfAgent.sh @@ -0,0 +1,7 @@ +#!/bin/bash +make clean +make all +#make init +cp init_openconfig-platform.xml confd-cdb/ +#cp init_flex-scale-mg-on.xml confd-cdb/ +make start2 diff --git a/src/tests/ofc24/t1.xml b/src/tests/ofc24/t1.xml deleted file mode 100755 index 712615df8..000000000 --- a/src/tests/ofc24/t1.xml +++ /dev/null @@ -1,298 +0,0 @@ - - - - device - - device - - - MellanoxSwitch - SSSA-CNIT - 1.0.0 - 1.0.0 - 1.0.0 - 610610 - typex:OPERATING_SYSTEM - - - - channel-1 - - channel-1 - - - channel-1 - typex:OPTICAL_CHANNEL - - - - 191600000 - 100 - 0 - transceiver-1 - - - 191600000 - 0 - 0 - transceiver-1 - 1 - - 0 - 0 - 0 - 0 - 0 - - - 0 - 0 - 0 - 0 - 0 - - - 0 - 0 - 0 - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 0 - 0 - 0 - 0 - 0 - - - - - - transceiver-1 - - transceiver-1 - - - transceiver-1 - typex:TRANSCEIVER - - - - true - typex:QSFP56_DD_TYPE1 - typex:ETH_400GBASE_ZR - typex:FEC_AUTO - typex:TYPE_DIGITAL_COHERENT_OPTIC - - - true - typex:QSFP56_DD_TYPE1 - typex:ETH_400GBASE_ZR - typex:FEC_AUTO - typex:TYPE_DIGITAL_COHERENT_OPTIC - Cisco - 400zr-QSFP-DD - 01 - 1567321 - - - - 1 - - 1 - channel-1 - - - - - - - - port-1 - - port-1 - - - port-1 - typex:PORT - - - - channel-1 - - channel-1 - - - channel-1 - - - - - - onos-index - - onos-index - 4 - - - onos-index - 4 - - - - odtn-port-type - - odtn-port-type - line - - - odtn-port-type - line - - - - - - - - - - - - - - 1 - - 1 - Logical channel 1 - DISABLED - type:PROT_OTN - NONE - - - 1 - Logical channel 1 - DISABLED - type:PROT_OTN - NONE - UP - - - - transceiver-1 - - - transceiver-1 - - - - - test1 - test1 - - - test1 - test1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - 0.0 - 0.0 - 0.0 - 0.0 - - - 0.0 - 0.0 - 0.0 - 0.0 - - - 0.0 - 0.0 - 0.0 - 0.0 - 0 - - - 0.0 - 0.0 - 0.0 - 0.0 - 0 - - - - - - 1 - - 1 - Optical channel assigned 100 - 100 - OPTICAL_CHANNEL - channel-1 - - - 1 - Optical channel assigned 100 - 100 - OPTICAL_CHANNEL - channel-1 - - - - - - - - 1 - - 1 - FEC1 - Ericsson - - - - 2 - - 2 - FEC2 - Ericsson - - - - - - diff --git a/src/tests/ofc24/t2.xml b/src/tests/ofc24/t2.xml deleted file mode 100755 index 3a35e7e87..000000000 --- a/src/tests/ofc24/t2.xml +++ /dev/null @@ -1,298 +0,0 @@ - - - - device - - device - - - MellanoxSwitch - SSSA-CNIT - 1.0.0 - 1.0.0 - 1.0.0 - 610610 - typex:OPERATING_SYSTEM - - - - channel-6 - - channel-6 - - - channel-6 - typex:OPTICAL_CHANNEL - - - - 191600000 - 100 - 0 - transceiver-6 - - - 191600000 - 0 - 0 - transceiver-6 - 1 - - 0 - 0 - 0 - 0 - 0 - - - 0 - 0 - 0 - 0 - 0 - - - 0 - 0 - 0 - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 0 - 0 - 0 - 0 - - - 0 - 0 - 0 - 0 - 0 - - - - - - transceiver-6 - - transceiver-6 - - - transceiver-6 - typex:TRANSCEIVER - - - - true - typex:QSFP56_DD_TYPE1 - typex:ETH_400GBASE_ZR - typex:FEC_AUTO - typex:TYPE_DIGITAL_COHERENT_OPTIC - - - true - typex:QSFP56_DD_TYPE1 - typex:ETH_400GBASE_ZR - typex:FEC_AUTO - typex:TYPE_DIGITAL_COHERENT_OPTIC - Cisco - 400zr-QSFP-DD - 01 - 1567321 - - - - 1 - - 1 - channel-6 - - - - - - - - port-6 - - port-6 - - - port-6 - typex:PORT - - - - channel-6 - - channel-6 - - - channel-6 - - - - - - onos-index - - onos-index - 4 - - - onos-index - 4 - - - - odtn-port-type - - odtn-port-type - line - - - odtn-port-type - line - - - - - - - - - - - - - - 4 - - 4 - Logical channel 4 - DISABLED - type:PROT_OTN - NONE - - - 4 - Logical channel 4 - DISABLED - type:PROT_OTN - NONE - UP - - - - transceiver-6 - - - transceiver-6 - - - - - test1 - test1 - - - test1 - test1 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - 0.0 - 0.0 - 0.0 - 0.0 - - - 0.0 - 0.0 - 0.0 - 0.0 - - - 0.0 - 0.0 - 0.0 - 0.0 - 0 - - - 0.0 - 0.0 - 0.0 - 0.0 - 0 - - - - - - 1 - - 1 - Optical channel assigned 100 - 100 - OPTICAL_CHANNEL - channel-6 - - - 1 - Optical channel assigned 100 - 100 - OPTICAL_CHANNEL - channel-6 - - - - - - - - 1 - - 1 - FEC1 - Ericsson - - - - 2 - - 2 - FEC2 - Ericsson - - - - - - diff --git a/src/tests/ofc24/tests/__init__.py b/src/tests/ofc24/tests/__init__.py new file mode 100644 index 000000000..1549d9811 --- /dev/null +++ b/src/tests/ofc24/tests/__init__.py @@ -0,0 +1,14 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + diff --git a/src/tests/ofc24/tests/test_functional_bootstrap.py b/src/tests/ofc24/tests/test_functional_bootstrap.py new file mode 100644 index 000000000..bc648d16d --- /dev/null +++ b/src/tests/ofc24/tests/test_functional_bootstrap.py @@ -0,0 +1,67 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging, os, time +from common.Constants import DEFAULT_CONTEXT_NAME +from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum, Empty +from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results, validate_empty_scenario +from common.tools.object_factory.Context import json_context_id +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient +from tests.Fixtures import context_client, device_client # pylint: disable=unused-import + +LOGGER = logging.getLogger(__name__) +LOGGER.setLevel(logging.DEBUG) + +DESCRIPTOR_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'descriptors_topology.json') +ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) + +def test_scenario_bootstrap( + context_client : ContextClient, # pylint: disable=redefined-outer-name + device_client : DeviceClient, # pylint: disable=redefined-outer-name +) -> None: + validate_empty_scenario(context_client) + + descriptor_loader = DescriptorLoader( + descriptors_file=DESCRIPTOR_FILE, context_client=context_client, device_client=device_client) + results = descriptor_loader.process() + check_descriptor_load_results(results, descriptor_loader) + descriptor_loader.validate() + + # Verify the scenario has no services/slices + response = context_client.GetContext(ADMIN_CONTEXT_ID) + assert len(response.service_ids) == 0 + assert len(response.slice_ids) == 0 + +def test_scenario_devices_enabled( + context_client : ContextClient, # pylint: disable=redefined-outer-name +) -> None: + """ + This test validates that the devices are enabled. + """ + DEVICE_OP_STATUS_ENABLED = DeviceOperationalStatusEnum.DEVICEOPERATIONALSTATUS_ENABLED + + num_devices = -1 + num_devices_enabled, num_retry = 0, 0 + while (num_devices != num_devices_enabled) and (num_retry < 10): + time.sleep(1.0) + response = context_client.ListDevices(Empty()) + num_devices = len(response.devices) + num_devices_enabled = 0 + for device in response.devices: + if device.device_operational_status != DEVICE_OP_STATUS_ENABLED: continue + num_devices_enabled += 1 + LOGGER.info('Num Devices enabled: {:d}/{:d}'.format(num_devices_enabled, num_devices)) + num_retry += 1 + assert num_devices_enabled == num_devices diff --git a/src/tests/ofc24/tests/test_functional_cleanup.py b/src/tests/ofc24/tests/test_functional_cleanup.py new file mode 100644 index 000000000..5f1ce23f1 --- /dev/null +++ b/src/tests/ofc24/tests/test_functional_cleanup.py @@ -0,0 +1,44 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging, os +from common.Constants import DEFAULT_CONTEXT_NAME +from common.proto.context_pb2 import ContextId +from common.tools.descriptor.Loader import DescriptorLoader, validate_empty_scenario +from common.tools.object_factory.Context import json_context_id +from context.client.ContextClient import ContextClient +from device.client.DeviceClient import DeviceClient +from tests.Fixtures import context_client, device_client # pylint: disable=unused-import + +LOGGER = logging.getLogger(__name__) +LOGGER.setLevel(logging.DEBUG) + +DESCRIPTOR_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'descriptors_topology.json') +ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) + +def test_scenario_cleanup( + context_client : ContextClient, # pylint: disable=redefined-outer-name + device_client : DeviceClient, # pylint: disable=redefined-outer-name +) -> None: + # Verify the scenario has no services/slices + response = context_client.GetContext(ADMIN_CONTEXT_ID) + assert len(response.service_ids) == 0 + assert len(response.slice_ids) == 0 + + # Load descriptors and validate the base scenario + descriptor_loader = DescriptorLoader( + descriptors_file=DESCRIPTOR_FILE, context_client=context_client, device_client=device_client) + descriptor_loader.validate() + descriptor_loader.unload() + validate_empty_scenario(context_client) diff --git a/src/tests/ofc24/tests/test_functional_create_service.py b/src/tests/ofc24/tests/test_functional_create_service.py new file mode 100644 index 000000000..74c74483e --- /dev/null +++ b/src/tests/ofc24/tests/test_functional_create_service.py @@ -0,0 +1,102 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging, os, random +from common.Constants import DEFAULT_CONTEXT_NAME +from common.proto.context_pb2 import ContextId, Empty, ServiceTypeEnum +from common.proto.kpi_sample_types_pb2 import KpiSampleType +from common.tools.descriptor.Loader import DescriptorLoader +from common.tools.grpc.Tools import grpc_message_to_json_string +from common.tools.object_factory.Context import json_context_id +from context.client.ContextClient import ContextClient +from monitoring.client.MonitoringClient import MonitoringClient +from tests.Fixtures import context_client, monitoring_client # pylint: disable=unused-import +from tests.tools.mock_osm.MockOSM import MockOSM +from .Fixtures import osm_wim # pylint: disable=unused-import +from .Objects import WIM_SERVICE_CONNECTION_POINTS, WIM_SERVICE_TYPE + +LOGGER = logging.getLogger(__name__) +LOGGER.setLevel(logging.DEBUG) + +DESCRIPTOR_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'descriptors_emulated.json') +ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) + +def test_service_creation(context_client : ContextClient, osm_wim : MockOSM): # pylint: disable=redefined-outer-name + # Load descriptors and validate the base scenario + descriptor_loader = DescriptorLoader(descriptors_file=DESCRIPTOR_FILE, context_client=context_client) + descriptor_loader.validate() + + # Verify the scenario has no services/slices + response = context_client.GetContext(ADMIN_CONTEXT_ID) + assert len(response.service_ids) == 0 + assert len(response.slice_ids) == 0 + + # Create Connectivity Service + service_uuid = osm_wim.create_connectivity_service(WIM_SERVICE_TYPE, WIM_SERVICE_CONNECTION_POINTS) + osm_wim.get_connectivity_service_status(service_uuid) + + # Ensure slices and services are created + response = context_client.ListSlices(ADMIN_CONTEXT_ID) + LOGGER.info('Slices[{:d}] = {:s}'.format(len(response.slices), grpc_message_to_json_string(response))) + assert len(response.slices) == 1 # OSM slice + + response = context_client.ListServices(ADMIN_CONTEXT_ID) + LOGGER.info('Services[{:d}] = {:s}'.format(len(response.services), grpc_message_to_json_string(response))) + assert len(response.services) == 2 # 1xL3NM + 1xTAPI + + for service in response.services: + service_id = service.service_id + response = context_client.ListConnections(service_id) + LOGGER.info(' ServiceId[{:s}] => Connections[{:d}] = {:s}'.format( + grpc_message_to_json_string(service_id), len(response.connections), grpc_message_to_json_string(response))) + + if service.service_type == ServiceTypeEnum.SERVICETYPE_L3NM: + assert len(response.connections) == 1 # 1 connection per service + elif service.service_type == ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE: + assert len(response.connections) == 1 # 1 connection per service + else: + str_service = grpc_message_to_json_string(service) + raise Exception('Unexpected ServiceType: {:s}'.format(str_service)) + + +def test_scenario_kpi_values_created( + monitoring_client: MonitoringClient, # pylint: disable=redefined-outer-name +) -> None: + """ + This test validates that KPI values have been inserted into the monitoring database. + We short k KPI descriptors to test. + """ + response = monitoring_client.GetKpiDescriptorList(Empty()) + kpi_descriptors = random.choices(response.kpi_descriptor_list, k=2) + + for kpi_descriptor in kpi_descriptors: + MSG = 'KPI(kpi_uuid={:s}, device_uuid={:s}, endpoint_uuid={:s}, service_uuid={:s}, kpi_sample_type={:s})...' + LOGGER.info(MSG.format( + str(kpi_descriptor.kpi_id.kpi_id.uuid), str(kpi_descriptor.device_id.device_uuid.uuid), + str(kpi_descriptor.endpoint_id.endpoint_uuid.uuid), str(kpi_descriptor.service_id.service_uuid.uuid), + str(KpiSampleType.Name(kpi_descriptor.kpi_sample_type)))) + response = monitoring_client.GetInstantKpi(kpi_descriptor.kpi_id) + kpi_uuid = response.kpi_id.kpi_id.uuid + assert kpi_uuid == kpi_descriptor.kpi_id.kpi_id.uuid + kpi_value_type = response.kpi_value.WhichOneof('value') + if kpi_value_type is None: + MSG = ' KPI({:s}): No instant value found' + LOGGER.warning(MSG.format(str(kpi_uuid))) + else: + kpi_timestamp = response.timestamp.timestamp + assert kpi_timestamp > 0 + assert kpi_value_type == 'floatVal' + kpi_value = getattr(response.kpi_value, kpi_value_type) + MSG = ' KPI({:s}): timestamp={:s} value_type={:s} value={:s}' + LOGGER.info(MSG.format(str(kpi_uuid), str(kpi_timestamp), str(kpi_value_type), str(kpi_value))) diff --git a/src/tests/ofc24/tests/test_functional_delete_service.py b/src/tests/ofc24/tests/test_functional_delete_service.py new file mode 100644 index 000000000..daff29064 --- /dev/null +++ b/src/tests/ofc24/tests/test_functional_delete_service.py @@ -0,0 +1,74 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging, os +from common.Constants import DEFAULT_CONTEXT_NAME +from common.proto.context_pb2 import ContextId, ServiceTypeEnum +from common.tools.descriptor.Loader import DescriptorLoader +from common.tools.grpc.Tools import grpc_message_to_json_string +from common.tools.object_factory.Context import json_context_id +from context.client.ContextClient import ContextClient +from tests.Fixtures import context_client # pylint: disable=unused-import +from tests.tools.mock_osm.MockOSM import MockOSM +from .Fixtures import osm_wim # pylint: disable=unused-import + +LOGGER = logging.getLogger(__name__) +LOGGER.setLevel(logging.DEBUG) + +DESCRIPTOR_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'descriptors_emulated.json') +ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) + +def test_service_removal(context_client : ContextClient, osm_wim : MockOSM): # pylint: disable=redefined-outer-name + # Ensure slices and services are created + response = context_client.ListSlices(ADMIN_CONTEXT_ID) + LOGGER.info('Slices[{:d}] = {:s}'.format(len(response.slices), grpc_message_to_json_string(response))) + assert len(response.slices) == 1 # OSM slice + + response = context_client.ListServices(ADMIN_CONTEXT_ID) + LOGGER.info('Services[{:d}] = {:s}'.format(len(response.services), grpc_message_to_json_string(response))) + assert len(response.services) == 2 # 1xL3NM + 1xTAPI + + service_uuids = set() + for service in response.services: + service_id = service.service_id + response = context_client.ListConnections(service_id) + LOGGER.info(' ServiceId[{:s}] => Connections[{:d}] = {:s}'.format( + grpc_message_to_json_string(service_id), len(response.connections), grpc_message_to_json_string(response))) + + if service.service_type == ServiceTypeEnum.SERVICETYPE_L3NM: + assert len(response.connections) == 1 # 1 connection per service + service_uuid = service_id.service_uuid.uuid + service_uuids.add(service_uuid) + osm_wim.conn_info[service_uuid] = {} + elif service.service_type == ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE: + assert len(response.connections) == 1 # 1 connection per service + else: + str_service = grpc_message_to_json_string(service) + raise Exception('Unexpected ServiceType: {:s}'.format(str_service)) + + # Identify service to delete + assert len(service_uuids) == 1 # assume a single L3NM service has been created + service_uuid = set(service_uuids).pop() + + # Delete Connectivity Service + osm_wim.delete_connectivity_service(service_uuid) + + # Verify the scenario has no services/slices + response = context_client.GetContext(ADMIN_CONTEXT_ID) + assert len(response.service_ids) == 0 + assert len(response.slice_ids) == 0 + + # Load descriptors and validate the base scenario + descriptor_loader = DescriptorLoader(descriptors_file=DESCRIPTOR_FILE, context_client=context_client) + descriptor_loader.validate() -- GitLab From fe89c48bb46dead2117d6cb5738a4b23ddc509b1 Mon Sep 17 00:00:00 2001 From: sgambelluri Date: Mon, 25 Mar 2024 07:44:20 +0000 Subject: [PATCH 085/156] Bugs Fixed in Running Agents --- src/tests/ofc24/2.device1.json | 2 +- src/tests/ofc24/3.device2.json | 2 +- src/tests/ofc24/4.device3_R1.json | 2 +- src/tests/ofc24/5.device4_R2.json | 2 +- src/tests/ofc24/startExtraNetConfigAgent.sh | 46 +++++++++------- src/tests/ofc24/start_topo.sh | 53 +++++++++++-------- .../ofc24/{ => tempOC/files}/platform_r1.xml | 0 .../ofc24/{ => tempOC/files}/platform_r2.xml | 0 .../ofc24/{ => tempOC/files}/platform_t1.xml | 0 .../ofc24/{ => tempOC/files}/platform_t2.xml | 0 .../{ => tempOC/files}/startNetconfAgent.sh | 0 11 files changed, 62 insertions(+), 45 deletions(-) rename src/tests/ofc24/{ => tempOC/files}/platform_r1.xml (100%) mode change 100755 => 100644 rename src/tests/ofc24/{ => tempOC/files}/platform_r2.xml (100%) mode change 100755 => 100644 rename src/tests/ofc24/{ => tempOC/files}/platform_t1.xml (100%) mode change 100755 => 100644 rename src/tests/ofc24/{ => tempOC/files}/platform_t2.xml (100%) mode change 100755 => 100644 rename src/tests/ofc24/{ => tempOC/files}/startNetconfAgent.sh (100%) mode change 100755 => 100644 diff --git a/src/tests/ofc24/2.device1.json b/src/tests/ofc24/2.device1.json index 3e31f31eb..c5a189e31 100755 --- a/src/tests/ofc24/2.device1.json +++ b/src/tests/ofc24/2.device1.json @@ -41,7 +41,7 @@ "action": 1, "custom": { "resource_key": "_connect/address", - "resource_value": "10.0.2.15" + "resource_value": "10.0.2.4" } }, { diff --git a/src/tests/ofc24/3.device2.json b/src/tests/ofc24/3.device2.json index 812affa7b..a38fc2905 100755 --- a/src/tests/ofc24/3.device2.json +++ b/src/tests/ofc24/3.device2.json @@ -41,7 +41,7 @@ "action": 1, "custom": { "resource_key": "_connect/address", - "resource_value": "10.0.2.15" + "resource_value": "10.0.2.4" } }, { diff --git a/src/tests/ofc24/4.device3_R1.json b/src/tests/ofc24/4.device3_R1.json index 3a57ba79c..1c110f20e 100755 --- a/src/tests/ofc24/4.device3_R1.json +++ b/src/tests/ofc24/4.device3_R1.json @@ -107,7 +107,7 @@ "action": 1, "custom": { "resource_key": "_connect/address", - "resource_value": "10.0.2.15" + "resource_value": "10.0.2.4" } }, { diff --git a/src/tests/ofc24/5.device4_R2.json b/src/tests/ofc24/5.device4_R2.json index 9b1968d09..43ebda5c6 100755 --- a/src/tests/ofc24/5.device4_R2.json +++ b/src/tests/ofc24/5.device4_R2.json @@ -108,7 +108,7 @@ "action": 1, "custom": { "resource_key": "_connect/address", - "resource_value": "10.0.2.15" + "resource_value": "10.0.2.4" } }, { diff --git a/src/tests/ofc24/startExtraNetConfigAgent.sh b/src/tests/ofc24/startExtraNetConfigAgent.sh index d9428585e..f8638a51f 100755 --- a/src/tests/ofc24/startExtraNetConfigAgent.sh +++ b/src/tests/ofc24/startExtraNetConfigAgent.sh @@ -13,22 +13,32 @@ # See the License for the specific language governing permissions and # limitations under the License. -DOCKER_CONTAINER=$1 -DOCKER_PORT=$2 - -if [ -n "$DOCKER_CONTAINER" ] && [ -n "$DOCKER_PORT" ];then - sudo docker stop "$DOCKER_CONTAINER" -t 1 - sudo docker rm "$DOCKER_CONTAINER" - - echo "Creating TPs" - screen -dmS t1 -T xterm sh -c "docker run -p 10.0.2.15:"$DOCKER_PORT":2022 -v ~/tfs-ctrl/tempOC/files:/files --name $DOCKER_CONTAINER -it asgamb1/oc23bgp.img:latest" - sleep 2 - if [ "$( docker container inspect -f '{{.State.Running}}' "$DOCKER_CONTAINER")" = "true" ]; then - docker exec "$DOCKER_CONTAINER" cp /files/demoECOC21_4.xml demoECOC21.xml - docker exec "$DOCKER_CONTAINER" /confd/examples.confd/OC23/startNetconfAgent.sh - else - echo "your container is not running yet" - fi + + + + +screen -dmS t1 -T xterm sh -c "docker run -p 10.0.2.4:2023:2022 -v ~/tfs-ctrl/src/tests/ofc24/tempOC/files:/files --name na1 -it asgamb1/oc23bgp.img:latest bash" +screen -dmS t2 -T xterm sh -c "docker run -p 10.0.2.4:2024:2022 -v ~/tfs-ctrl/src/tests/ofc24/tempOC/files:/files --name na2 -it asgamb1/oc23bgp.img:latest bash" + + + +sleep 4 +echo "starting transponder1 " + +if [ "$( docker container inspect -f '{{.State.Running}}' na1)" = "true" ]; then + docker exec na1 sh -c " cp /files/platform_t1.xml demoECOC21.xml ; + /confd/examples.confd/OC23/startNetconfAgent.sh;" + +else + echo "na1 container is not running yet" +fi + +echo "starting transponder2 " + +if [ "$( docker container inspect -f '{{.State.Running}}' na2)" = "true" ]; then + docker exec na2 sh -c " cp /files/platform_t2.xml demoECOC21.xml; + /confd/examples.confd/OC23/startNetconfAgent.sh " + else - echo "Please define the docker container name and port" -fi + echo "na2 container is not running yet" +fi \ No newline at end of file diff --git a/src/tests/ofc24/start_topo.sh b/src/tests/ofc24/start_topo.sh index c92406476..ed93641c9 100755 --- a/src/tests/ofc24/start_topo.sh +++ b/src/tests/ofc24/start_topo.sh @@ -29,35 +29,42 @@ sudo docker rm na4 echo "Creating Transponder Agents" -# if ! docker image inspect "$IMAGE_NAME" >/dev/null 2>&1 ; then -# echo "asgamb1/oc23bgp.img:latest not existed ! " -# screen -dmS t3 -T xterm sh -c "docker run -p 10.0.2.15:2025:2022 -v ~/tempOC/files:/files --name na -it $IMAGE_NAME bash" -# echo 'start downloading asgamb1/oc23bgp.img:latest , it may take few minutes ! .... ' -# while [ "$(docker image inspect asgamb1/oc23bgp.img:latest 2>/dev/null)" == "[]" ]; do -# sleep 1 -# done + ./startExtraNetConfigAgent.sh -#fi +echo "Creating Roadms Agents" -screen -dmS t1 -T xterm sh -c "docker run -p 127.0.0.1:2023:2022 -v ~/tempOC/files:/files --name $DOCKER_CONTAINER -it asgamb1/oc23bgp.img:latest bash" -sleep 2 -if [ "$( docker container inspect -f '{{.State.Running}}' "$DOCKER_CONTAINER")" = "true" ]; then - docker exec "$DOCKER_CONTAINER" cp /files/demoECOC21_4.xml demoECOC21.xml - docker exec "$DOCKER_CONTAINER" /confd/examples.confd/OC23/startNetconfAgent.sh +screen -dmS t3 -T xterm sh -c 'docker run -p 10.0.2.4:2025:2022 -v ~/tfs-ctrl/src/tests/ofc24/tempOC/files:/files --name na3 -it asgamb1/flexscale-node.img:latest bash ' +screen -dmS t4 -T xterm sh -c 'docker run -p 10.0.2.4:2026:2022 -v ~/tfs-ctrl/src/tests/ofc24/tempOC/files:/files --name na4 -it asgamb1/flexscale-node.img:latest bash ' +sleep 4 + +echo "starting Roadm1 " + +if [ "$( docker container inspect -f '{{.State.Running}}' na4)" = "true" ]; then + docker exec na4 sh -c " cp /files/platform_r2.xml init_openconfig-platform.xml; + cp /files/startNetconfAgent.sh startNetconfAgent.sh; + /confd/examples.confd/OC23/startNetconfAgent.sh ;"& + else - echo "your container is not running yet" + echo "na4 is not running yet" fi -echo " It may take a while , Hang on ..." -source "./startExtraNetConfigAgent.sh" "na1" "2023" -sleep 3 -source "./startExtraNetConfigAgent.sh" "na2" "2024" -sleep 3 +echo "starting Roadm2 " + + + +if [ "$( docker container inspect -f '{{.State.Running}}' na3)" = "true" ]; then + docker exec na3 sh -c " cp /files/platform_r1.xml init_openconfig-platform.xml; + cp /files/startNetconfAgent.sh startNetconfAgent.sh; + /confd/examples.confd/OC23/startNetconfAgent.sh; " + +else + echo "na3 is not running yet" +fi + -bash -c "cp /tempOC/files/plat_r1.xml /confd/examples.confd/OC23/init_openconfig-platform.xml; ./startNetconfAgent.sh" -bash -c "cp /tempOC/files/plat_r2.xml /confd/examples.confd/OC23/init_openconfig-platform.xml; ./startNetconfAgent.sh" -screen -dmS t3 -T xterm sh -c 'docker run -p 10.0.2.15:2025:2022 -v ~/tfs-ctrl/tempOC/files:/files --name na3 -it asgamb1/flexscale-node.img:latest ./startNetconfAgent.sh' -screen -dmS t4 -T xterm sh -c 'docker run -p 10.0.2.15:2026:2022 -v ~/tfs-ctrl/tempOC/files:/files --name na4 -it asgamb1/flexscale-node.img:latest ./startNetconfAgent.sh' +# screen -S t3 -X stuff "cp ~/files/platform_r1.xml /confd/examples.confd/OC23/init_openconfig-platform.xml && ./startNetconfAgent.sh" +# bash -c "docker cp ~/tfs-ctrl/src/tests/ofc24/tempOC/files/platform_r2.xml na4:/confd/examples.confd/OC23/init_openconfig-platform.xml; +# docker cp ~/tfs-ctrl/src/tests/ofc24/tempOC/files/startNetconfAgent.sh na4:/confd/examples.confd/OC23/startNetconfAgent.sh;" diff --git a/src/tests/ofc24/platform_r1.xml b/src/tests/ofc24/tempOC/files/platform_r1.xml old mode 100755 new mode 100644 similarity index 100% rename from src/tests/ofc24/platform_r1.xml rename to src/tests/ofc24/tempOC/files/platform_r1.xml diff --git a/src/tests/ofc24/platform_r2.xml b/src/tests/ofc24/tempOC/files/platform_r2.xml old mode 100755 new mode 100644 similarity index 100% rename from src/tests/ofc24/platform_r2.xml rename to src/tests/ofc24/tempOC/files/platform_r2.xml diff --git a/src/tests/ofc24/platform_t1.xml b/src/tests/ofc24/tempOC/files/platform_t1.xml old mode 100755 new mode 100644 similarity index 100% rename from src/tests/ofc24/platform_t1.xml rename to src/tests/ofc24/tempOC/files/platform_t1.xml diff --git a/src/tests/ofc24/platform_t2.xml b/src/tests/ofc24/tempOC/files/platform_t2.xml old mode 100755 new mode 100644 similarity index 100% rename from src/tests/ofc24/platform_t2.xml rename to src/tests/ofc24/tempOC/files/platform_t2.xml diff --git a/src/tests/ofc24/startNetconfAgent.sh b/src/tests/ofc24/tempOC/files/startNetconfAgent.sh old mode 100755 new mode 100644 similarity index 100% rename from src/tests/ofc24/startNetconfAgent.sh rename to src/tests/ofc24/tempOC/files/startNetconfAgent.sh -- GitLab From 10a2f3ff40d47f6f48265b24076d29e5231bf047 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Tue, 26 Mar 2024 13:08:30 +0000 Subject: [PATCH 086/156] GitLab CI/CD pipeline - OFC'24: - Updated script to deploy node agents --- src/tests/ofc24/deploy-node-agents.sh | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/tests/ofc24/deploy-node-agents.sh b/src/tests/ofc24/deploy-node-agents.sh index 5c3c8d0d2..d0d32e079 100755 --- a/src/tests/ofc24/deploy-node-agents.sh +++ b/src/tests/ofc24/deploy-node-agents.sh @@ -26,29 +26,30 @@ docker network rm na-br echo echo "Pull Docker images:" echo "-------------------" -docker pull asgamb1/flexscale-hhi.img:latest +docker pull asgamb1/oc23bgp.img:latest docker pull asgamb1/flexscale-node.img:latest + echo echo "Create Management Network and Node Agents:" echo "------------------------------------------" docker network create -d bridge --subnet=172.254.253.0/24 --gateway=172.254.253.254 --ip-range=172.254.253.0/24 na-br docker run -d --name na-t1 --network=na-br --ip 172.254.253.1 \ - --volume "$PWD/src/tests/${TEST_NAME}/startNetconfAgent.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ - --volume "$PWD/src/tests/${TEST_NAME}/platform_t1.xml:/confd/examples.confd/OC23/init_openconfig-platform.xml" \ - asgamb1/flexscale-hhi.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh + --volume "$PWD/src/tests/${TEST_NAME}/tempOC/files/platform_t1.xml:/confd/examples.confd/OC23/demoECOC21.xml" \ + asgamb1/oc23bgp.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh + #--volume "$PWD/src/tests/${TEST_NAME}/tempOC/files/startNetconfAgent.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ docker run -d --name na-t2 --network=na-br --ip 172.254.253.2 \ - --volume "$PWD/src/tests/${TEST_NAME}/startNetconfAgent.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ - --volume "$PWD/src/tests/${TEST_NAME}/platform_t2.xml:/confd/examples.confd/OC23/init_openconfig-platform.xml" \ - asgamb1/flexscale-hhi.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh + --volume "$PWD/src/tests/${TEST_NAME}/tempOC/files/platform_t2.xml:/confd/examples.confd/OC23/demoECOC21.xml" \ + asgamb1/oc23bgp.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh + #--volume "$PWD/src/tests/${TEST_NAME}/tempOC/files/startNetconfAgent.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ docker run -d --name na-r1 --network=na-br --ip 172.254.253.101 \ - --volume "$PWD/src/tests/${TEST_NAME}/startNetconfAgent.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ - --volume "$PWD/src/tests/${TEST_NAME}/platform_r1.xml:/confd/examples.confd/OC23/init_openconfig-platform.xml" \ + --volume "$PWD/src/tests/${TEST_NAME}/tempOC/files/platform_r1.xml:/confd/examples.confd/OC23/init_openconfig-platform.xml" \ asgamb1/flexscale-node.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh + #--volume "$PWD/src/tests/${TEST_NAME}/tempOC/files/startNetconfAgent.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ docker run -d --name na-r2 --network=na-br --ip 172.254.253.102 \ - --volume "$PWD/src/tests/${TEST_NAME}/startNetconfAgent.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ - --volume "$PWD/src/tests/${TEST_NAME}/platform_r2.xml:/confd/examples.confd/OC23/init_openconfig-platform.xml" \ + --volume "$PWD/src/tests/${TEST_NAME}/tempOC/files/platform_r2.xml:/confd/examples.confd/OC23/init_openconfig-platform.xml" \ asgamb1/flexscale-node.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh + #--volume "$PWD/src/tests/${TEST_NAME}/tempOC/files/startNetconfAgent.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ echo -- GitLab From 957f904f8ab4154aff01a7bfb3c7dcdecd53259a Mon Sep 17 00:00:00 2001 From: kpoulakakis Date: Thu, 28 Mar 2024 16:40:56 +0200 Subject: [PATCH 087/156] refactor: Remove test exception. Add the correct exception to failure mechanism. Add kubernetes yml --- .../exception/GeneralExceptionHandler.java | 2 - .../tfs/policy/exception/NewException.java | 12 -- .../policy/policy/AddPolicyServiceImpl.java | 5 +- src/policy/target/kubernetes/kubernetes.yml | 133 ++++++++++++++++++ 4 files changed, 135 insertions(+), 17 deletions(-) delete mode 100644 src/policy/src/main/java/org/etsi/tfs/policy/exception/NewException.java create mode 100644 src/policy/target/kubernetes/kubernetes.yml diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/exception/GeneralExceptionHandler.java b/src/policy/src/main/java/org/etsi/tfs/policy/exception/GeneralExceptionHandler.java index 9c92ef758..b1c89db56 100644 --- a/src/policy/src/main/java/org/etsi/tfs/policy/exception/GeneralExceptionHandler.java +++ b/src/policy/src/main/java/org/etsi/tfs/policy/exception/GeneralExceptionHandler.java @@ -20,8 +20,6 @@ public class GeneralExceptionHandler implements ExceptionHandlerProvider { public Throwable transform(Throwable t) { if (t instanceof ExternalServiceFailureException) { return new StatusRuntimeException(Status.INTERNAL.withDescription(t.getMessage())); - } else if (t instanceof NewException) { - return new StatusRuntimeException(Status.UNIMPLEMENTED.withDescription(t.getMessage())); } else { return ExceptionHandlerProvider.toStatusException(t, true); } diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/exception/NewException.java b/src/policy/src/main/java/org/etsi/tfs/policy/exception/NewException.java deleted file mode 100644 index 96010e9c4..000000000 --- a/src/policy/src/main/java/org/etsi/tfs/policy/exception/NewException.java +++ /dev/null @@ -1,12 +0,0 @@ -package org.etsi.tfs.policy.exception; - -public class NewException extends RuntimeException { - - public NewException(String message, Exception e) { - super(message, e); - } - - public NewException(String message) { - super(message); - } -} diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java b/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java index 978484130..1247f9c0f 100644 --- a/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java +++ b/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java @@ -9,7 +9,7 @@ import jakarta.inject.Inject; import java.util.List; import org.etsi.tfs.policy.context.ContextService; import org.etsi.tfs.policy.context.model.ServiceId; -import org.etsi.tfs.policy.exception.NewException; +import org.etsi.tfs.policy.exception.ExternalServiceFailureException; import org.etsi.tfs.policy.monitoring.model.AlarmDescriptor; import org.etsi.tfs.policy.policy.model.PolicyRule; import org.etsi.tfs.policy.policy.model.PolicyRuleBasic; @@ -21,7 +21,6 @@ import org.jboss.logging.Logger; @ApplicationScoped public class AddPolicyServiceImpl { - private static final Logger LOGGER = Logger.getLogger(AddPolicyServiceImpl.class); @Inject private CommonPolicyServiceImpl commonPolicyService; @Inject private CommonAlarmService commonAlarmService; @@ -65,7 +64,7 @@ public class AddPolicyServiceImpl { return contextService .setPolicyRule(policyRule) .onFailure() - .transform(failure -> new NewException(failure.getMessage())) + .transform(failure -> new ExternalServiceFailureException(failure.getMessage())) .onItem() .transform( policyId -> { diff --git a/src/policy/target/kubernetes/kubernetes.yml b/src/policy/target/kubernetes/kubernetes.yml new file mode 100644 index 000000000..e30bc89af --- /dev/null +++ b/src/policy/target/kubernetes/kubernetes.yml @@ -0,0 +1,133 @@ +--- +apiVersion: v1 +kind: Service +metadata: + annotations: + app.quarkus.io/commit-id: 5d9967880633c624761e6089a8592ec74959d299 + app.quarkus.io/build-timestamp: 2024-03-28 - 14:39:32 +0000 + prometheus.io/scrape: "true" + prometheus.io/path: /q/metrics + prometheus.io/port: "8080" + prometheus.io/scheme: http + labels: + app.kubernetes.io/name: policyservice + app.kubernetes.io/version: 0.1.0 + app: policyservice + app.kubernetes.io/managed-by: quarkus + name: policyservice +spec: + ports: + - name: https + port: 443 + protocol: TCP + targetPort: 8443 + - name: http + port: 9192 + protocol: TCP + targetPort: 8080 + - name: grpc + port: 6060 + protocol: TCP + targetPort: 6060 + selector: + app.kubernetes.io/name: policyservice + type: ClusterIP +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + app.quarkus.io/commit-id: 5d9967880633c624761e6089a8592ec74959d299 + app.quarkus.io/build-timestamp: 2024-03-28 - 14:39:32 +0000 + prometheus.io/scrape: "true" + prometheus.io/path: /q/metrics + prometheus.io/port: "8080" + prometheus.io/scheme: http + labels: + app: policyservice + app.kubernetes.io/managed-by: quarkus + app.kubernetes.io/name: policyservice + app.kubernetes.io/version: 0.1.0 + name: policyservice +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: policyservice + template: + metadata: + annotations: + app.quarkus.io/commit-id: 5d9967880633c624761e6089a8592ec74959d299 + app.quarkus.io/build-timestamp: 2024-03-28 - 14:39:32 +0000 + prometheus.io/scrape: "true" + prometheus.io/path: /q/metrics + prometheus.io/port: "8080" + prometheus.io/scheme: http + labels: + app: policyservice + app.kubernetes.io/managed-by: quarkus + app.kubernetes.io/name: policyservice + app.kubernetes.io/version: 0.1.0 + spec: + containers: + - env: + - name: KUBERNETES_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: CONTEXT_SERVICE_HOST + value: contextservice + - name: MONITORING_SERVICE_HOST + value: monitoringservice + - name: SERVICE_SERVICE_HOST + value: serviceservice + image: labs.etsi.org:5050/tfs/controller/policy:0.1.0 + imagePullPolicy: Always + livenessProbe: + failureThreshold: 3 + httpGet: + path: /q/health/live + port: 8080 + scheme: HTTP + initialDelaySeconds: 2 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + name: policyservice + ports: + - containerPort: 8443 + name: https + protocol: TCP + - containerPort: 8080 + name: http + protocol: TCP + - containerPort: 6060 + name: grpc + protocol: TCP + readinessProbe: + failureThreshold: 3 + httpGet: + path: /q/health/ready + port: 8080 + scheme: HTTP + initialDelaySeconds: 2 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + resources: + limits: + cpu: 500m + memory: 2048Mi + requests: + cpu: 50m + memory: 512Mi + startupProbe: + failureThreshold: 3 + httpGet: + path: /q/health/started + port: 8080 + scheme: HTTP + initialDelaySeconds: 5 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 -- GitLab From fd131107a144bd11de19737ff580b5c174eacff1 Mon Sep 17 00:00:00 2001 From: kpoulakakis Date: Fri, 29 Mar 2024 13:59:07 +0200 Subject: [PATCH 088/156] refactor: spotless apply --- .../policy/policy/AddPolicyServiceImpl.java | 1 - src/policy/target/kubernetes/kubernetes.yml | 26 +++++++++---------- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java b/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java index 1247f9c0f..0ee7ba3ee 100644 --- a/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java +++ b/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java @@ -17,7 +17,6 @@ import org.etsi.tfs.policy.policy.model.PolicyRuleService; import org.etsi.tfs.policy.policy.model.PolicyRuleState; import org.etsi.tfs.policy.policy.model.PolicyRuleStateEnum; import org.etsi.tfs.policy.policy.model.PolicyRuleTypeService; -import org.jboss.logging.Logger; @ApplicationScoped public class AddPolicyServiceImpl { diff --git a/src/policy/target/kubernetes/kubernetes.yml b/src/policy/target/kubernetes/kubernetes.yml index e30bc89af..a07d73c02 100644 --- a/src/policy/target/kubernetes/kubernetes.yml +++ b/src/policy/target/kubernetes/kubernetes.yml @@ -3,8 +3,8 @@ apiVersion: v1 kind: Service metadata: annotations: - app.quarkus.io/commit-id: 5d9967880633c624761e6089a8592ec74959d299 - app.quarkus.io/build-timestamp: 2024-03-28 - 14:39:32 +0000 + app.quarkus.io/commit-id: 957f904f8ab4154aff01a7bfb3c7dcdecd53259a + app.quarkus.io/build-timestamp: 2024-03-29 - 11:30:06 +0000 prometheus.io/scrape: "true" prometheus.io/path: /q/metrics prometheus.io/port: "8080" @@ -21,14 +21,14 @@ spec: port: 443 protocol: TCP targetPort: 8443 - - name: http - port: 9192 - protocol: TCP - targetPort: 8080 - name: grpc port: 6060 protocol: TCP targetPort: 6060 + - name: http + port: 9192 + protocol: TCP + targetPort: 8080 selector: app.kubernetes.io/name: policyservice type: ClusterIP @@ -37,8 +37,8 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - app.quarkus.io/commit-id: 5d9967880633c624761e6089a8592ec74959d299 - app.quarkus.io/build-timestamp: 2024-03-28 - 14:39:32 +0000 + app.quarkus.io/commit-id: 957f904f8ab4154aff01a7bfb3c7dcdecd53259a + app.quarkus.io/build-timestamp: 2024-03-29 - 11:30:06 +0000 prometheus.io/scrape: "true" prometheus.io/path: /q/metrics prometheus.io/port: "8080" @@ -57,8 +57,8 @@ spec: template: metadata: annotations: - app.quarkus.io/commit-id: 5d9967880633c624761e6089a8592ec74959d299 - app.quarkus.io/build-timestamp: 2024-03-28 - 14:39:32 +0000 + app.quarkus.io/commit-id: 957f904f8ab4154aff01a7bfb3c7dcdecd53259a + app.quarkus.io/build-timestamp: 2024-03-29 - 11:30:06 +0000 prometheus.io/scrape: "true" prometheus.io/path: /q/metrics prometheus.io/port: "8080" @@ -98,12 +98,12 @@ spec: - containerPort: 8443 name: https protocol: TCP - - containerPort: 8080 - name: http - protocol: TCP - containerPort: 6060 name: grpc protocol: TCP + - containerPort: 8080 + name: http + protocol: TCP readinessProbe: failureThreshold: 3 httpGet: -- GitLab From 872beaea149552efa0ee9a8a38c5a2cc2d8e586f Mon Sep 17 00:00:00 2001 From: kpoulakakis Date: Wed, 3 Apr 2024 14:34:06 +0300 Subject: [PATCH 089/156] refactor: change the Add , Delete , Update ztp services . Add exception handling for external services and remove unnecessary device==null exception handling. Create an internal exception handling mechanism for all the uni failures. --- .../java/org/etsi/tfs/ztp/ZtpServiceImpl.java | 168 ++++++++---------- .../ExternalServiceFailureException.java | 28 +++ .../exception/GeneralExceptionHandler.java | 57 ++++++ src/ztp/src/main/resources/application.yml | 5 + 4 files changed, 162 insertions(+), 96 deletions(-) create mode 100644 src/ztp/src/main/java/org/etsi/tfs/ztp/exception/ExternalServiceFailureException.java create mode 100644 src/ztp/src/main/java/org/etsi/tfs/ztp/exception/GeneralExceptionHandler.java diff --git a/src/ztp/src/main/java/org/etsi/tfs/ztp/ZtpServiceImpl.java b/src/ztp/src/main/java/org/etsi/tfs/ztp/ZtpServiceImpl.java index 0f0f502d5..953d84aa3 100644 --- a/src/ztp/src/main/java/org/etsi/tfs/ztp/ZtpServiceImpl.java +++ b/src/ztp/src/main/java/org/etsi/tfs/ztp/ZtpServiceImpl.java @@ -23,12 +23,12 @@ import org.etsi.tfs.ztp.context.ContextService; import org.etsi.tfs.ztp.context.model.Device; import org.etsi.tfs.ztp.context.model.DeviceConfig; import org.etsi.tfs.ztp.device.DeviceService; +import org.etsi.tfs.ztp.exception.ExternalServiceFailureException; import org.jboss.logging.Logger; @ApplicationScoped public class ZtpServiceImpl implements ZtpService { private static final Logger LOGGER = Logger.getLogger(ZtpServiceImpl.class); - // private static final String MESSAGE = "Retrieved %s"; private final DeviceService deviceService; private final ContextService contextService; @@ -41,128 +41,104 @@ public class ZtpServiceImpl implements ZtpService { @Override public Uni addDevice(String deviceId) { - final var deserializedDeviceUni = contextService.getDevice(deviceId); - - deserializedDeviceUni + return contextService + .getDevice(deviceId) .onFailure() - .recoverWithNull() - .subscribe() - .with( + .transform(failure -> new ExternalServiceFailureException(failure.getMessage())) + .onItem() + .transformToUni( device -> { - final var id = deviceId; - - if (device == null) { - LOGGER.warnf("%s is null. Ignoring...", device); - return; - } - if (device.isEnabled()) { LOGGER.warnf("%s has already been enabled. Ignoring...", device); - return; + return Uni.createFrom().failure(new Exception("Device is already enabled")); + } else { + return addDeviceTo(device, deviceId); } + }); + } - // LOGGER.infof(MESSAGE, device); - - final var initialConfiguration = - deviceService.getInitialConfiguration(device.getDeviceId()); - - device.enableDevice(); - LOGGER.infof("Enabled device [%s]", id); + public Uni addDeviceTo(Device device, String deviceId) { + LOGGER.infof("Enabling device with ID [%s]", deviceId); + device.enableDevice(); - initialConfiguration - .subscribe() - .with( - deviceConfig -> { - device.setDeviceConfiguration(deviceConfig); - final var configuredDeviceIdUni = deviceService.configureDevice(device); + final Uni initialConfiguration = deviceService.getInitialConfiguration(deviceId); - configuredDeviceIdUni - .subscribe() - .with( - configuredDeviceId -> - LOGGER.infof( - "Device [%s] has been successfully enabled and configured with %s.\n", - id, deviceConfig)); + return initialConfiguration + .onItem() + .transformToUni( + deviceConfig -> { + device.setDeviceConfiguration(deviceConfig); + LOGGER.infof( + "Configuring device with ID [%s] with initial configuration %s", + deviceId, deviceConfig); + return deviceService + .configureDevice(device) + .map( + configuredDeviceId -> { + LOGGER.infof( + "Device with ID [%s] has been successfully enabled and configured.", + deviceId); + return device; }); }); - - return deserializedDeviceUni; } @Override public Uni deleteDevice(String deviceId) { - final var deserializedDeviceUni = contextService.getDevice(deviceId); - - deserializedDeviceUni + return contextService + .getDevice(deviceId) .onFailure() - .recoverWithNull() - .subscribe() - .with( + .transform(failure -> new ExternalServiceFailureException(failure.getMessage())) + .onItem() + .transformToUni( device -> { - final var id = deviceId; - - if (device == null) { - LOGGER.warnf("%s is null. Ignoring...", device); - return; - } - if (device.isDisabled()) { - LOGGER.warnf("%s has already been disabled. Ignoring...", device); - return; + LOGGER.warnf("Device with ID %s has already been disabled. Ignoring...", deviceId); + return Uni.createFrom().nullItem(); + } else { + LOGGER.infof("Disabling device with ID [%s]", deviceId); + device.disableDevice(); + + return deviceService + .deleteDevice(deviceId) + .onItem() + .transform( + emptyMessage -> { + LOGGER.infof( + "Device with ID [%s] has been successfully deleted.", deviceId); + return device; + }); } - - device.disableDevice(); - LOGGER.infof("Disabled device [%s]", id); - - // LOGGER.infof(MESSAGE, device); - - final var empty = deviceService.deleteDevice(device.getDeviceId()); - - empty - .subscribe() - .with( - emptyMessage -> - LOGGER.infof("Device [%s] has been successfully deleted.\n", id)); }); - - return deserializedDeviceUni; } @Override public Uni updateDevice(String deviceId, DeviceConfig deviceConfig) { - final var deserializedDeviceUni = contextService.getDevice(deviceId); - - deserializedDeviceUni + return contextService + .getDevice(deviceId) .onFailure() - .recoverWithNull() - .subscribe() - .with( + .transform(failure -> new ExternalServiceFailureException(failure.getMessage())) + .onItem() + .transformToUni( device -> { - final var id = deviceId; - - if (device == null) { - LOGGER.warnf("%s is null. Ignoring...", device); - return; - } - if (!device.isEnabled()) { - LOGGER.warnf("Cannot update disabled device %s. Ignoring...", device); - return; - } - - // LOGGER.infof(MESSAGE, device); - device.setDeviceConfiguration(deviceConfig); - final var updatedDeviceIdUni = deviceService.configureDevice(device); - - updatedDeviceIdUni - .subscribe() - .with( - configuredDeviceId -> + LOGGER.warnf("Cannot update disabled device %s. Ignoring...", deviceId); + return Uni.createFrom().nullItem(); + } else { + LOGGER.infof("Updating configuration of device with ID [%s]", deviceId); + device.setDeviceConfiguration(deviceConfig); + + return deviceService + .configureDevice(device) + .onItem() + .transform( + configuredDeviceId -> { LOGGER.infof( - "Device [%s] has been successfully updated with %s.\n", - id, deviceConfig)); + "Device with ID [%s] has been successfully updated with %s.", + deviceId, deviceConfig); + return device; + }); + } }); - - return deserializedDeviceUni; } } diff --git a/src/ztp/src/main/java/org/etsi/tfs/ztp/exception/ExternalServiceFailureException.java b/src/ztp/src/main/java/org/etsi/tfs/ztp/exception/ExternalServiceFailureException.java new file mode 100644 index 000000000..fe25f18c3 --- /dev/null +++ b/src/ztp/src/main/java/org/etsi/tfs/ztp/exception/ExternalServiceFailureException.java @@ -0,0 +1,28 @@ +/* +* Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.etsi.tfs.ztp.exception; + +public class ExternalServiceFailureException extends RuntimeException { + + public ExternalServiceFailureException(String message, Exception e) { + super(message, e); + } + + public ExternalServiceFailureException(String message) { + super(message); + } +} diff --git a/src/ztp/src/main/java/org/etsi/tfs/ztp/exception/GeneralExceptionHandler.java b/src/ztp/src/main/java/org/etsi/tfs/ztp/exception/GeneralExceptionHandler.java new file mode 100644 index 000000000..45886e975 --- /dev/null +++ b/src/ztp/src/main/java/org/etsi/tfs/ztp/exception/GeneralExceptionHandler.java @@ -0,0 +1,57 @@ +/* +* Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +package org.etsi.tfs.ztp.exception; + +import io.grpc.Metadata; +import io.grpc.ServerCall; +import io.grpc.Status; +import io.grpc.StatusRuntimeException; +import io.quarkus.grpc.ExceptionHandlerProvider; +import jakarta.enterprise.context.ApplicationScoped; + +@ApplicationScoped +public class GeneralExceptionHandler implements ExceptionHandlerProvider { + @Override + public io.quarkus.grpc.ExceptionHandler createHandler( + ServerCall.Listener listener, ServerCall serverCall, Metadata metadata) { + return new HelloExceptionHandler<>(listener, serverCall, metadata); + } + + @Override + public Throwable transform(Throwable t) { + if (t instanceof ExternalServiceFailureException) { + return new StatusRuntimeException(Status.INTERNAL.withDescription(t.getMessage())); + } else { + return ExceptionHandlerProvider.toStatusException(t, true); + } + } + + private static class HelloExceptionHandler extends io.quarkus.grpc.ExceptionHandler { + public HelloExceptionHandler( + ServerCall.Listener listener, ServerCall call, Metadata metadata) { + super(listener, call, metadata); + } + + @Override + protected void handleException(Throwable t, ServerCall call, Metadata metadata) { + StatusRuntimeException sre = + (StatusRuntimeException) ExceptionHandlerProvider.toStatusException(t, true); + Metadata trailers = sre.getTrailers() != null ? sre.getTrailers() : metadata; + call.close(sre.getStatus(), trailers); + } + } +} diff --git a/src/ztp/src/main/resources/application.yml b/src/ztp/src/main/resources/application.yml index c551759ef..91f40d0c2 100644 --- a/src/ztp/src/main/resources/application.yml +++ b/src/ztp/src/main/resources/application.yml @@ -15,6 +15,11 @@ ztp: should-subscribe-to-context-component: true quarkus: + package: + type: mutable-jar + live-reload: + password: 1234 + url: http://0.0.0.0:8080 banner: path: teraflow-ztp-banner.txt grpc: -- GitLab From 7fce72764fa6bb9b37b407bbcba502cc0a23735f Mon Sep 17 00:00:00 2001 From: kpoulakakis Date: Thu, 4 Apr 2024 12:34:39 +0300 Subject: [PATCH 090/156] refactor: update some proto grpc classes. --- .../grpc/context/ContextOuterClass.java | 7290 ++++++++++++++++- .../grpc/context/ContextService.java | 17 + .../grpc/context/ContextServiceBean.java | 54 + .../grpc/context/ContextServiceClient.java | 30 + .../grpc/context/ContextServiceGrpc.java | 280 +- .../context/MutinyContextServiceGrpc.java | 90 +- src/ztp/target/kubernetes/kubernetes.yml | 40 +- 7 files changed, 7677 insertions(+), 124 deletions(-) diff --git a/src/ztp/target/generated-sources/grpc/context/ContextOuterClass.java b/src/ztp/target/generated-sources/grpc/context/ContextOuterClass.java index 22679d792..9bcff8a50 100644 --- a/src/ztp/target/generated-sources/grpc/context/ContextOuterClass.java +++ b/src/ztp/target/generated-sources/grpc/context/ContextOuterClass.java @@ -191,6 +191,10 @@ public final class ContextOuterClass { * DEVICEDRIVER_IETF_ACTN = 10; */ DEVICEDRIVER_IETF_ACTN(10), + /** + * DEVICEDRIVER_OC = 11; + */ + DEVICEDRIVER_OC(11), UNRECOGNIZED(-1); /** @@ -252,6 +256,11 @@ public final class ContextOuterClass { */ public static final int DEVICEDRIVER_IETF_ACTN_VALUE = 10; + /** + * DEVICEDRIVER_OC = 11; + */ + public static final int DEVICEDRIVER_OC_VALUE = 11; + public final int getNumber() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalArgumentException("Can't get the number of an unknown enum value."); @@ -297,6 +306,8 @@ public final class ContextOuterClass { return DEVICEDRIVER_FLEXSCALE; case 10: return DEVICEDRIVER_IETF_ACTN; + case 11: + return DEVICEDRIVER_OC; default: return null; } @@ -489,6 +500,10 @@ public final class ContextOuterClass { * SERVICETYPE_E2E = 5; */ SERVICETYPE_E2E(5), + /** + * SERVICETYPE_OPTICAL_CONNECTIVITY = 6; + */ + SERVICETYPE_OPTICAL_CONNECTIVITY(6), UNRECOGNIZED(-1); /** @@ -521,6 +536,11 @@ public final class ContextOuterClass { */ public static final int SERVICETYPE_E2E_VALUE = 5; + /** + * SERVICETYPE_OPTICAL_CONNECTIVITY = 6; + */ + public static final int SERVICETYPE_OPTICAL_CONNECTIVITY_VALUE = 6; + public final int getNumber() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalArgumentException("Can't get the number of an unknown enum value."); @@ -556,6 +576,8 @@ public final class ContextOuterClass { return SERVICETYPE_TE; case 5: return SERVICETYPE_E2E; + case 6: + return SERVICETYPE_OPTICAL_CONNECTIVITY; default: return null; } @@ -69295,199 +69317,7217 @@ public final class ContextOuterClass { } } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Empty_descriptor; - - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Empty_fieldAccessorTable; - - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Uuid_descriptor; - - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Uuid_fieldAccessorTable; + public interface OpticalConfigIdOrBuilder extends // @@protoc_insertion_point(interface_extends:context.OpticalConfigId) + com.google.protobuf.MessageOrBuilder { - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Timestamp_descriptor; + /** + * string opticalconfig_uuid = 1; + * @return The opticalconfigUuid. + */ + java.lang.String getOpticalconfigUuid(); - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Timestamp_fieldAccessorTable; + /** + * string opticalconfig_uuid = 1; + * @return The bytes for opticalconfigUuid. + */ + com.google.protobuf.ByteString getOpticalconfigUuidBytes(); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Event_descriptor; + /** + *
+     * ---------------- Experimental ------------------------
+     * 
+ * + * Protobuf type {@code context.OpticalConfigId} + */ + public static final class OpticalConfigId extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:context.OpticalConfigId) + OpticalConfigIdOrBuilder { - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Event_fieldAccessorTable; + private static final long serialVersionUID = 0L; - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ContextId_descriptor; + // Use OpticalConfigId.newBuilder() to construct. + private OpticalConfigId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ContextId_fieldAccessorTable; + private OpticalConfigId() { + opticalconfigUuid_ = ""; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Context_descriptor; + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new OpticalConfigId(); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Context_fieldAccessorTable; + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalConfigId_descriptor; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ContextIdList_descriptor; + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalConfigId_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalConfigId.class, context.ContextOuterClass.OpticalConfigId.Builder.class); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ContextIdList_fieldAccessorTable; + public static final int OPTICALCONFIG_UUID_FIELD_NUMBER = 1; - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ContextList_descriptor; + @SuppressWarnings("serial") + private volatile java.lang.Object opticalconfigUuid_ = ""; - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ContextList_fieldAccessorTable; + /** + * string opticalconfig_uuid = 1; + * @return The opticalconfigUuid. + */ + @java.lang.Override + public java.lang.String getOpticalconfigUuid() { + java.lang.Object ref = opticalconfigUuid_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + opticalconfigUuid_ = s; + return s; + } + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ContextEvent_descriptor; + /** + * string opticalconfig_uuid = 1; + * @return The bytes for opticalconfigUuid. + */ + @java.lang.Override + public com.google.protobuf.ByteString getOpticalconfigUuidBytes() { + java.lang.Object ref = opticalconfigUuid_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + opticalconfigUuid_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ContextEvent_fieldAccessorTable; + private byte memoizedIsInitialized = -1; - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyId_descriptor; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + memoizedIsInitialized = 1; + return true; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyId_fieldAccessorTable; + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(opticalconfigUuid_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, opticalconfigUuid_); + } + getUnknownFields().writeTo(output); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Topology_descriptor; + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(opticalconfigUuid_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, opticalconfigUuid_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Topology_fieldAccessorTable; + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.OpticalConfigId)) { + return super.equals(obj); + } + context.ContextOuterClass.OpticalConfigId other = (context.ContextOuterClass.OpticalConfigId) obj; + if (!getOpticalconfigUuid().equals(other.getOpticalconfigUuid())) + return false; + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyDetails_descriptor; + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + OPTICALCONFIG_UUID_FIELD_NUMBER; + hash = (53 * hash) + getOpticalconfigUuid().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyDetails_fieldAccessorTable; + public static context.ContextOuterClass.OpticalConfigId parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyIdList_descriptor; + public static context.ContextOuterClass.OpticalConfigId parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyIdList_fieldAccessorTable; + public static context.ContextOuterClass.OpticalConfigId parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyList_descriptor; + public static context.ContextOuterClass.OpticalConfigId parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyList_fieldAccessorTable; + public static context.ContextOuterClass.OpticalConfigId parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyEvent_descriptor; + public static context.ContextOuterClass.OpticalConfigId parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyEvent_fieldAccessorTable; + public static context.ContextOuterClass.OpticalConfigId parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceId_descriptor; + public static context.ContextOuterClass.OpticalConfigId parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceId_fieldAccessorTable; + public static context.ContextOuterClass.OpticalConfigId parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Device_descriptor; + public static context.ContextOuterClass.OpticalConfigId parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Device_fieldAccessorTable; + public static context.ContextOuterClass.OpticalConfigId parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Component_descriptor; + public static context.ContextOuterClass.OpticalConfigId parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Component_fieldAccessorTable; + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Component_AttributesEntry_descriptor; + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Component_AttributesEntry_fieldAccessorTable; + public static Builder newBuilder(context.ContextOuterClass.OpticalConfigId prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceConfig_descriptor; + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceConfig_fieldAccessorTable; + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceIdList_descriptor; + /** + *
+         * ---------------- Experimental ------------------------
+         * 
+ * + * Protobuf type {@code context.OpticalConfigId} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:context.OpticalConfigId) + context.ContextOuterClass.OpticalConfigIdOrBuilder { - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceIdList_fieldAccessorTable; + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalConfigId_descriptor; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceList_descriptor; + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalConfigId_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalConfigId.class, context.ContextOuterClass.OpticalConfigId.Builder.class); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceList_fieldAccessorTable; + // Construct using context.ContextOuterClass.OpticalConfigId.newBuilder() + private Builder() { + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceFilter_descriptor; + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceFilter_fieldAccessorTable; + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + opticalconfigUuid_ = ""; + return this; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceEvent_descriptor; + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_OpticalConfigId_descriptor; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceEvent_fieldAccessorTable; + @java.lang.Override + public context.ContextOuterClass.OpticalConfigId getDefaultInstanceForType() { + return context.ContextOuterClass.OpticalConfigId.getDefaultInstance(); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkId_descriptor; + @java.lang.Override + public context.ContextOuterClass.OpticalConfigId build() { + context.ContextOuterClass.OpticalConfigId result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkId_fieldAccessorTable; + @java.lang.Override + public context.ContextOuterClass.OpticalConfigId buildPartial() { + context.ContextOuterClass.OpticalConfigId result = new context.ContextOuterClass.OpticalConfigId(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkAttributes_descriptor; + private void buildPartial0(context.ContextOuterClass.OpticalConfigId result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.opticalconfigUuid_ = opticalconfigUuid_; + } + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkAttributes_fieldAccessorTable; + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.OpticalConfigId) { + return mergeFrom((context.ContextOuterClass.OpticalConfigId) other); + } else { + super.mergeFrom(other); + return this; + } + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Link_descriptor; + public Builder mergeFrom(context.ContextOuterClass.OpticalConfigId other) { + if (other == context.ContextOuterClass.OpticalConfigId.getDefaultInstance()) + return this; + if (!other.getOpticalconfigUuid().isEmpty()) { + opticalconfigUuid_ = other.opticalconfigUuid_; + bitField0_ |= 0x00000001; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Link_fieldAccessorTable; + @java.lang.Override + public final boolean isInitialized() { + return true; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkIdList_descriptor; + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + opticalconfigUuid_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } + // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + // was an endgroup tag + done = true; + } + break; + } + } + // switch (tag) + } + // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } + // finally + return this; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkIdList_fieldAccessorTable; + private int bitField0_; - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkList_descriptor; + private java.lang.Object opticalconfigUuid_ = ""; - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkList_fieldAccessorTable; + /** + * string opticalconfig_uuid = 1; + * @return The opticalconfigUuid. + */ + public java.lang.String getOpticalconfigUuid() { + java.lang.Object ref = opticalconfigUuid_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + opticalconfigUuid_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkEvent_descriptor; + /** + * string opticalconfig_uuid = 1; + * @return The bytes for opticalconfigUuid. + */ + public com.google.protobuf.ByteString getOpticalconfigUuidBytes() { + java.lang.Object ref = opticalconfigUuid_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + opticalconfigUuid_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkEvent_fieldAccessorTable; + /** + * string opticalconfig_uuid = 1; + * @param value The opticalconfigUuid to set. + * @return This builder for chaining. + */ + public Builder setOpticalconfigUuid(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + opticalconfigUuid_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceId_descriptor; + /** + * string opticalconfig_uuid = 1; + * @return This builder for chaining. + */ + public Builder clearOpticalconfigUuid() { + opticalconfigUuid_ = getDefaultInstance().getOpticalconfigUuid(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceId_fieldAccessorTable; + /** + * string opticalconfig_uuid = 1; + * @param value The bytes for opticalconfigUuid to set. + * @return This builder for chaining. + */ + public Builder setOpticalconfigUuidBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + opticalconfigUuid_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Service_descriptor; + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Service_fieldAccessorTable; + @java.lang.Override + public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + // @@protoc_insertion_point(builder_scope:context.OpticalConfigId) + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceStatus_descriptor; + // @@protoc_insertion_point(class_scope:context.OpticalConfigId) + private static final context.ContextOuterClass.OpticalConfigId DEFAULT_INSTANCE; - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceStatus_fieldAccessorTable; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.OpticalConfigId(); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceConfig_descriptor; + public static context.ContextOuterClass.OpticalConfigId getDefaultInstance() { + return DEFAULT_INSTANCE; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceConfig_fieldAccessorTable; + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceIdList_descriptor; + @java.lang.Override + public OpticalConfigId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceIdList_fieldAccessorTable; + public static com.google.protobuf.Parser parser() { + return PARSER; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceList_descriptor; + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceList_fieldAccessorTable; + @java.lang.Override + public context.ContextOuterClass.OpticalConfigId getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceFilter_descriptor; + public interface OpticalConfigOrBuilder extends // @@protoc_insertion_point(interface_extends:context.OpticalConfig) + com.google.protobuf.MessageOrBuilder { - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceFilter_fieldAccessorTable; + /** + * .context.OpticalConfigId opticalconfig_id = 1; + * @return Whether the opticalconfigId field is set. + */ + boolean hasOpticalconfigId(); - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceEvent_descriptor; + /** + * .context.OpticalConfigId opticalconfig_id = 1; + * @return The opticalconfigId. + */ + context.ContextOuterClass.OpticalConfigId getOpticalconfigId(); - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceEvent_fieldAccessorTable; + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + context.ContextOuterClass.OpticalConfigIdOrBuilder getOpticalconfigIdOrBuilder(); - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceId_descriptor; + /** + * string config = 2; + * @return The config. + */ + java.lang.String getConfig(); - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceId_fieldAccessorTable; + /** + * string config = 2; + * @return The bytes for config. + */ + com.google.protobuf.ByteString getConfigBytes(); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Slice_descriptor; + /** + * Protobuf type {@code context.OpticalConfig} + */ + public static final class OpticalConfig extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:context.OpticalConfig) + OpticalConfigOrBuilder { - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Slice_fieldAccessorTable; + private static final long serialVersionUID = 0L; - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceOwner_descriptor; + // Use OpticalConfig.newBuilder() to construct. + private OpticalConfig(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceOwner_fieldAccessorTable; + private OpticalConfig() { + config_ = ""; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceStatus_descriptor; + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new OpticalConfig(); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceStatus_fieldAccessorTable; + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalConfig_descriptor; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceConfig_descriptor; + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalConfig_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalConfig.class, context.ContextOuterClass.OpticalConfig.Builder.class); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceConfig_fieldAccessorTable; + public static final int OPTICALCONFIG_ID_FIELD_NUMBER = 1; - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceIdList_descriptor; + private context.ContextOuterClass.OpticalConfigId opticalconfigId_; - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceIdList_fieldAccessorTable; + /** + * .context.OpticalConfigId opticalconfig_id = 1; + * @return Whether the opticalconfigId field is set. + */ + @java.lang.Override + public boolean hasOpticalconfigId() { + return opticalconfigId_ != null; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceList_descriptor; + /** + * .context.OpticalConfigId opticalconfig_id = 1; + * @return The opticalconfigId. + */ + @java.lang.Override + public context.ContextOuterClass.OpticalConfigId getOpticalconfigId() { + return opticalconfigId_ == null ? context.ContextOuterClass.OpticalConfigId.getDefaultInstance() : opticalconfigId_; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceList_fieldAccessorTable; + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + @java.lang.Override + public context.ContextOuterClass.OpticalConfigIdOrBuilder getOpticalconfigIdOrBuilder() { + return opticalconfigId_ == null ? context.ContextOuterClass.OpticalConfigId.getDefaultInstance() : opticalconfigId_; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceFilter_descriptor; + public static final int CONFIG_FIELD_NUMBER = 2; - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceFilter_fieldAccessorTable; + @SuppressWarnings("serial") + private volatile java.lang.Object config_ = ""; - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceEvent_descriptor; + /** + * string config = 2; + * @return The config. + */ + @java.lang.Override + public java.lang.String getConfig() { + java.lang.Object ref = config_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + config_ = s; + return s; + } + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceEvent_fieldAccessorTable; + /** + * string config = 2; + * @return The bytes for config. + */ + @java.lang.Override + public com.google.protobuf.ByteString getConfigBytes() { + java.lang.Object ref = config_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + config_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ConnectionId_descriptor; + private byte memoizedIsInitialized = -1; - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ConnectionId_fieldAccessorTable; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + memoizedIsInitialized = 1; + return true; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ConnectionSettings_L0_descriptor; + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (opticalconfigId_ != null) { + output.writeMessage(1, getOpticalconfigId()); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(config_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, config_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + size = 0; + if (opticalconfigId_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getOpticalconfigId()); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(config_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, config_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.OpticalConfig)) { + return super.equals(obj); + } + context.ContextOuterClass.OpticalConfig other = (context.ContextOuterClass.OpticalConfig) obj; + if (hasOpticalconfigId() != other.hasOpticalconfigId()) + return false; + if (hasOpticalconfigId()) { + if (!getOpticalconfigId().equals(other.getOpticalconfigId())) + return false; + } + if (!getConfig().equals(other.getConfig())) + return false; + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasOpticalconfigId()) { + hash = (37 * hash) + OPTICALCONFIG_ID_FIELD_NUMBER; + hash = (53 * hash) + getOpticalconfigId().hashCode(); + } + hash = (37 * hash) + CONFIG_FIELD_NUMBER; + hash = (53 * hash) + getConfig().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfig parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalConfig parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(context.ContextOuterClass.OpticalConfig prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code context.OpticalConfig} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:context.OpticalConfig) + context.ContextOuterClass.OpticalConfigOrBuilder { + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalConfig_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalConfig.class, context.ContextOuterClass.OpticalConfig.Builder.class); + } + + // Construct using context.ContextOuterClass.OpticalConfig.newBuilder() + private Builder() { + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + opticalconfigId_ = null; + if (opticalconfigIdBuilder_ != null) { + opticalconfigIdBuilder_.dispose(); + opticalconfigIdBuilder_ = null; + } + config_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_OpticalConfig_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalConfig getDefaultInstanceForType() { + return context.ContextOuterClass.OpticalConfig.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.OpticalConfig build() { + context.ContextOuterClass.OpticalConfig result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalConfig buildPartial() { + context.ContextOuterClass.OpticalConfig result = new context.ContextOuterClass.OpticalConfig(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(context.ContextOuterClass.OpticalConfig result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.opticalconfigId_ = opticalconfigIdBuilder_ == null ? opticalconfigId_ : opticalconfigIdBuilder_.build(); + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.config_ = config_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.OpticalConfig) { + return mergeFrom((context.ContextOuterClass.OpticalConfig) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.OpticalConfig other) { + if (other == context.ContextOuterClass.OpticalConfig.getDefaultInstance()) + return this; + if (other.hasOpticalconfigId()) { + mergeOpticalconfigId(other.getOpticalconfigId()); + } + if (!other.getConfig().isEmpty()) { + config_ = other.config_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage(getOpticalconfigIdFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } + // case 10 + case 18: + { + config_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } + // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + // was an endgroup tag + done = true; + } + break; + } + } + // switch (tag) + } + // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } + // finally + return this; + } + + private int bitField0_; + + private context.ContextOuterClass.OpticalConfigId opticalconfigId_; + + private com.google.protobuf.SingleFieldBuilderV3 opticalconfigIdBuilder_; + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + * @return Whether the opticalconfigId field is set. + */ + public boolean hasOpticalconfigId() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + * @return The opticalconfigId. + */ + public context.ContextOuterClass.OpticalConfigId getOpticalconfigId() { + if (opticalconfigIdBuilder_ == null) { + return opticalconfigId_ == null ? context.ContextOuterClass.OpticalConfigId.getDefaultInstance() : opticalconfigId_; + } else { + return opticalconfigIdBuilder_.getMessage(); + } + } + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + public Builder setOpticalconfigId(context.ContextOuterClass.OpticalConfigId value) { + if (opticalconfigIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + opticalconfigId_ = value; + } else { + opticalconfigIdBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + public Builder setOpticalconfigId(context.ContextOuterClass.OpticalConfigId.Builder builderForValue) { + if (opticalconfigIdBuilder_ == null) { + opticalconfigId_ = builderForValue.build(); + } else { + opticalconfigIdBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + public Builder mergeOpticalconfigId(context.ContextOuterClass.OpticalConfigId value) { + if (opticalconfigIdBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) && opticalconfigId_ != null && opticalconfigId_ != context.ContextOuterClass.OpticalConfigId.getDefaultInstance()) { + getOpticalconfigIdBuilder().mergeFrom(value); + } else { + opticalconfigId_ = value; + } + } else { + opticalconfigIdBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + public Builder clearOpticalconfigId() { + bitField0_ = (bitField0_ & ~0x00000001); + opticalconfigId_ = null; + if (opticalconfigIdBuilder_ != null) { + opticalconfigIdBuilder_.dispose(); + opticalconfigIdBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + public context.ContextOuterClass.OpticalConfigId.Builder getOpticalconfigIdBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return getOpticalconfigIdFieldBuilder().getBuilder(); + } + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + public context.ContextOuterClass.OpticalConfigIdOrBuilder getOpticalconfigIdOrBuilder() { + if (opticalconfigIdBuilder_ != null) { + return opticalconfigIdBuilder_.getMessageOrBuilder(); + } else { + return opticalconfigId_ == null ? context.ContextOuterClass.OpticalConfigId.getDefaultInstance() : opticalconfigId_; + } + } + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3 getOpticalconfigIdFieldBuilder() { + if (opticalconfigIdBuilder_ == null) { + opticalconfigIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3(getOpticalconfigId(), getParentForChildren(), isClean()); + opticalconfigId_ = null; + } + return opticalconfigIdBuilder_; + } + + private java.lang.Object config_ = ""; + + /** + * string config = 2; + * @return The config. + */ + public java.lang.String getConfig() { + java.lang.Object ref = config_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + config_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string config = 2; + * @return The bytes for config. + */ + public com.google.protobuf.ByteString getConfigBytes() { + java.lang.Object ref = config_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + config_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string config = 2; + * @param value The config to set. + * @return This builder for chaining. + */ + public Builder setConfig(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + config_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * string config = 2; + * @return This builder for chaining. + */ + public Builder clearConfig() { + config_ = getDefaultInstance().getConfig(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * string config = 2; + * @param value The bytes for config to set. + * @return This builder for chaining. + */ + public Builder setConfigBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + config_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + // @@protoc_insertion_point(builder_scope:context.OpticalConfig) + } + + // @@protoc_insertion_point(class_scope:context.OpticalConfig) + private static final context.ContextOuterClass.OpticalConfig DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.OpticalConfig(); + } + + public static context.ContextOuterClass.OpticalConfig getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + + @java.lang.Override + public OpticalConfig parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalConfig getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface OpticalConfigListOrBuilder extends // @@protoc_insertion_point(interface_extends:context.OpticalConfigList) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + java.util.List getOpticalconfigsList(); + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + context.ContextOuterClass.OpticalConfig getOpticalconfigs(int index); + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + int getOpticalconfigsCount(); + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + java.util.List getOpticalconfigsOrBuilderList(); + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + context.ContextOuterClass.OpticalConfigOrBuilder getOpticalconfigsOrBuilder(int index); + } + + /** + * Protobuf type {@code context.OpticalConfigList} + */ + public static final class OpticalConfigList extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:context.OpticalConfigList) + OpticalConfigListOrBuilder { + + private static final long serialVersionUID = 0L; + + // Use OpticalConfigList.newBuilder() to construct. + private OpticalConfigList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private OpticalConfigList() { + opticalconfigs_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new OpticalConfigList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalConfigList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalConfigList_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalConfigList.class, context.ContextOuterClass.OpticalConfigList.Builder.class); + } + + public static final int OPTICALCONFIGS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List opticalconfigs_; + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + @java.lang.Override + public java.util.List getOpticalconfigsList() { + return opticalconfigs_; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + @java.lang.Override + public java.util.List getOpticalconfigsOrBuilderList() { + return opticalconfigs_; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + @java.lang.Override + public int getOpticalconfigsCount() { + return opticalconfigs_.size(); + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + @java.lang.Override + public context.ContextOuterClass.OpticalConfig getOpticalconfigs(int index) { + return opticalconfigs_.get(index); + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + @java.lang.Override + public context.ContextOuterClass.OpticalConfigOrBuilder getOpticalconfigsOrBuilder(int index) { + return opticalconfigs_.get(index); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + for (int i = 0; i < opticalconfigs_.size(); i++) { + output.writeMessage(1, opticalconfigs_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + size = 0; + for (int i = 0; i < opticalconfigs_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, opticalconfigs_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.OpticalConfigList)) { + return super.equals(obj); + } + context.ContextOuterClass.OpticalConfigList other = (context.ContextOuterClass.OpticalConfigList) obj; + if (!getOpticalconfigsList().equals(other.getOpticalconfigsList())) + return false; + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getOpticalconfigsCount() > 0) { + hash = (37 * hash) + OPTICALCONFIGS_FIELD_NUMBER; + hash = (53 * hash) + getOpticalconfigsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfigList parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalConfigList parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(context.ContextOuterClass.OpticalConfigList prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code context.OpticalConfigList} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:context.OpticalConfigList) + context.ContextOuterClass.OpticalConfigListOrBuilder { + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalConfigList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalConfigList_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalConfigList.class, context.ContextOuterClass.OpticalConfigList.Builder.class); + } + + // Construct using context.ContextOuterClass.OpticalConfigList.newBuilder() + private Builder() { + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (opticalconfigsBuilder_ == null) { + opticalconfigs_ = java.util.Collections.emptyList(); + } else { + opticalconfigs_ = null; + opticalconfigsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_OpticalConfigList_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalConfigList getDefaultInstanceForType() { + return context.ContextOuterClass.OpticalConfigList.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.OpticalConfigList build() { + context.ContextOuterClass.OpticalConfigList result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalConfigList buildPartial() { + context.ContextOuterClass.OpticalConfigList result = new context.ContextOuterClass.OpticalConfigList(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(context.ContextOuterClass.OpticalConfigList result) { + if (opticalconfigsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + opticalconfigs_ = java.util.Collections.unmodifiableList(opticalconfigs_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.opticalconfigs_ = opticalconfigs_; + } else { + result.opticalconfigs_ = opticalconfigsBuilder_.build(); + } + } + + private void buildPartial0(context.ContextOuterClass.OpticalConfigList result) { + int from_bitField0_ = bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.OpticalConfigList) { + return mergeFrom((context.ContextOuterClass.OpticalConfigList) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.OpticalConfigList other) { + if (other == context.ContextOuterClass.OpticalConfigList.getDefaultInstance()) + return this; + if (opticalconfigsBuilder_ == null) { + if (!other.opticalconfigs_.isEmpty()) { + if (opticalconfigs_.isEmpty()) { + opticalconfigs_ = other.opticalconfigs_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureOpticalconfigsIsMutable(); + opticalconfigs_.addAll(other.opticalconfigs_); + } + onChanged(); + } + } else { + if (!other.opticalconfigs_.isEmpty()) { + if (opticalconfigsBuilder_.isEmpty()) { + opticalconfigsBuilder_.dispose(); + opticalconfigsBuilder_ = null; + opticalconfigs_ = other.opticalconfigs_; + bitField0_ = (bitField0_ & ~0x00000001); + opticalconfigsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getOpticalconfigsFieldBuilder() : null; + } else { + opticalconfigsBuilder_.addAllMessages(other.opticalconfigs_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + context.ContextOuterClass.OpticalConfig m = input.readMessage(context.ContextOuterClass.OpticalConfig.parser(), extensionRegistry); + if (opticalconfigsBuilder_ == null) { + ensureOpticalconfigsIsMutable(); + opticalconfigs_.add(m); + } else { + opticalconfigsBuilder_.addMessage(m); + } + break; + } + // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + // was an endgroup tag + done = true; + } + break; + } + } + // switch (tag) + } + // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } + // finally + return this; + } + + private int bitField0_; + + private java.util.List opticalconfigs_ = java.util.Collections.emptyList(); + + private void ensureOpticalconfigsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + opticalconfigs_ = new java.util.ArrayList(opticalconfigs_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3 opticalconfigsBuilder_; + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public java.util.List getOpticalconfigsList() { + if (opticalconfigsBuilder_ == null) { + return java.util.Collections.unmodifiableList(opticalconfigs_); + } else { + return opticalconfigsBuilder_.getMessageList(); + } + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public int getOpticalconfigsCount() { + if (opticalconfigsBuilder_ == null) { + return opticalconfigs_.size(); + } else { + return opticalconfigsBuilder_.getCount(); + } + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public context.ContextOuterClass.OpticalConfig getOpticalconfigs(int index) { + if (opticalconfigsBuilder_ == null) { + return opticalconfigs_.get(index); + } else { + return opticalconfigsBuilder_.getMessage(index); + } + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder setOpticalconfigs(int index, context.ContextOuterClass.OpticalConfig value) { + if (opticalconfigsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOpticalconfigsIsMutable(); + opticalconfigs_.set(index, value); + onChanged(); + } else { + opticalconfigsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder setOpticalconfigs(int index, context.ContextOuterClass.OpticalConfig.Builder builderForValue) { + if (opticalconfigsBuilder_ == null) { + ensureOpticalconfigsIsMutable(); + opticalconfigs_.set(index, builderForValue.build()); + onChanged(); + } else { + opticalconfigsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder addOpticalconfigs(context.ContextOuterClass.OpticalConfig value) { + if (opticalconfigsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOpticalconfigsIsMutable(); + opticalconfigs_.add(value); + onChanged(); + } else { + opticalconfigsBuilder_.addMessage(value); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder addOpticalconfigs(int index, context.ContextOuterClass.OpticalConfig value) { + if (opticalconfigsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOpticalconfigsIsMutable(); + opticalconfigs_.add(index, value); + onChanged(); + } else { + opticalconfigsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder addOpticalconfigs(context.ContextOuterClass.OpticalConfig.Builder builderForValue) { + if (opticalconfigsBuilder_ == null) { + ensureOpticalconfigsIsMutable(); + opticalconfigs_.add(builderForValue.build()); + onChanged(); + } else { + opticalconfigsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder addOpticalconfigs(int index, context.ContextOuterClass.OpticalConfig.Builder builderForValue) { + if (opticalconfigsBuilder_ == null) { + ensureOpticalconfigsIsMutable(); + opticalconfigs_.add(index, builderForValue.build()); + onChanged(); + } else { + opticalconfigsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder addAllOpticalconfigs(java.lang.Iterable values) { + if (opticalconfigsBuilder_ == null) { + ensureOpticalconfigsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, opticalconfigs_); + onChanged(); + } else { + opticalconfigsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder clearOpticalconfigs() { + if (opticalconfigsBuilder_ == null) { + opticalconfigs_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + opticalconfigsBuilder_.clear(); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder removeOpticalconfigs(int index) { + if (opticalconfigsBuilder_ == null) { + ensureOpticalconfigsIsMutable(); + opticalconfigs_.remove(index); + onChanged(); + } else { + opticalconfigsBuilder_.remove(index); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public context.ContextOuterClass.OpticalConfig.Builder getOpticalconfigsBuilder(int index) { + return getOpticalconfigsFieldBuilder().getBuilder(index); + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public context.ContextOuterClass.OpticalConfigOrBuilder getOpticalconfigsOrBuilder(int index) { + if (opticalconfigsBuilder_ == null) { + return opticalconfigs_.get(index); + } else { + return opticalconfigsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public java.util.List getOpticalconfigsOrBuilderList() { + if (opticalconfigsBuilder_ != null) { + return opticalconfigsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(opticalconfigs_); + } + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public context.ContextOuterClass.OpticalConfig.Builder addOpticalconfigsBuilder() { + return getOpticalconfigsFieldBuilder().addBuilder(context.ContextOuterClass.OpticalConfig.getDefaultInstance()); + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public context.ContextOuterClass.OpticalConfig.Builder addOpticalconfigsBuilder(int index) { + return getOpticalconfigsFieldBuilder().addBuilder(index, context.ContextOuterClass.OpticalConfig.getDefaultInstance()); + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public java.util.List getOpticalconfigsBuilderList() { + return getOpticalconfigsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilderV3 getOpticalconfigsFieldBuilder() { + if (opticalconfigsBuilder_ == null) { + opticalconfigsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(opticalconfigs_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + opticalconfigs_ = null; + } + return opticalconfigsBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + // @@protoc_insertion_point(builder_scope:context.OpticalConfigList) + } + + // @@protoc_insertion_point(class_scope:context.OpticalConfigList) + private static final context.ContextOuterClass.OpticalConfigList DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.OpticalConfigList(); + } + + public static context.ContextOuterClass.OpticalConfigList getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + + @java.lang.Override + public OpticalConfigList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalConfigList getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface OpticalLinkIdOrBuilder extends // @@protoc_insertion_point(interface_extends:context.OpticalLinkId) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.Uuid optical_link_uuid = 1; + * @return Whether the opticalLinkUuid field is set. + */ + boolean hasOpticalLinkUuid(); + + /** + * .context.Uuid optical_link_uuid = 1; + * @return The opticalLinkUuid. + */ + context.ContextOuterClass.Uuid getOpticalLinkUuid(); + + /** + * .context.Uuid optical_link_uuid = 1; + */ + context.ContextOuterClass.UuidOrBuilder getOpticalLinkUuidOrBuilder(); + } + + /** + * Protobuf type {@code context.OpticalLinkId} + */ + public static final class OpticalLinkId extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:context.OpticalLinkId) + OpticalLinkIdOrBuilder { + + private static final long serialVersionUID = 0L; + + // Use OpticalLinkId.newBuilder() to construct. + private OpticalLinkId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private OpticalLinkId() { + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new OpticalLinkId(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalLinkId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalLinkId_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalLinkId.class, context.ContextOuterClass.OpticalLinkId.Builder.class); + } + + public static final int OPTICAL_LINK_UUID_FIELD_NUMBER = 1; + + private context.ContextOuterClass.Uuid opticalLinkUuid_; + + /** + * .context.Uuid optical_link_uuid = 1; + * @return Whether the opticalLinkUuid field is set. + */ + @java.lang.Override + public boolean hasOpticalLinkUuid() { + return opticalLinkUuid_ != null; + } + + /** + * .context.Uuid optical_link_uuid = 1; + * @return The opticalLinkUuid. + */ + @java.lang.Override + public context.ContextOuterClass.Uuid getOpticalLinkUuid() { + return opticalLinkUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : opticalLinkUuid_; + } + + /** + * .context.Uuid optical_link_uuid = 1; + */ + @java.lang.Override + public context.ContextOuterClass.UuidOrBuilder getOpticalLinkUuidOrBuilder() { + return opticalLinkUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : opticalLinkUuid_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (opticalLinkUuid_ != null) { + output.writeMessage(1, getOpticalLinkUuid()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + size = 0; + if (opticalLinkUuid_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getOpticalLinkUuid()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.OpticalLinkId)) { + return super.equals(obj); + } + context.ContextOuterClass.OpticalLinkId other = (context.ContextOuterClass.OpticalLinkId) obj; + if (hasOpticalLinkUuid() != other.hasOpticalLinkUuid()) + return false; + if (hasOpticalLinkUuid()) { + if (!getOpticalLinkUuid().equals(other.getOpticalLinkUuid())) + return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasOpticalLinkUuid()) { + hash = (37 * hash) + OPTICAL_LINK_UUID_FIELD_NUMBER; + hash = (53 * hash) + getOpticalLinkUuid().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkId parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLinkId parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(context.ContextOuterClass.OpticalLinkId prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code context.OpticalLinkId} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:context.OpticalLinkId) + context.ContextOuterClass.OpticalLinkIdOrBuilder { + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalLinkId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalLinkId_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalLinkId.class, context.ContextOuterClass.OpticalLinkId.Builder.class); + } + + // Construct using context.ContextOuterClass.OpticalLinkId.newBuilder() + private Builder() { + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + opticalLinkUuid_ = null; + if (opticalLinkUuidBuilder_ != null) { + opticalLinkUuidBuilder_.dispose(); + opticalLinkUuidBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_OpticalLinkId_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLinkId getDefaultInstanceForType() { + return context.ContextOuterClass.OpticalLinkId.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLinkId build() { + context.ContextOuterClass.OpticalLinkId result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLinkId buildPartial() { + context.ContextOuterClass.OpticalLinkId result = new context.ContextOuterClass.OpticalLinkId(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(context.ContextOuterClass.OpticalLinkId result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.opticalLinkUuid_ = opticalLinkUuidBuilder_ == null ? opticalLinkUuid_ : opticalLinkUuidBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.OpticalLinkId) { + return mergeFrom((context.ContextOuterClass.OpticalLinkId) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.OpticalLinkId other) { + if (other == context.ContextOuterClass.OpticalLinkId.getDefaultInstance()) + return this; + if (other.hasOpticalLinkUuid()) { + mergeOpticalLinkUuid(other.getOpticalLinkUuid()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage(getOpticalLinkUuidFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } + // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + // was an endgroup tag + done = true; + } + break; + } + } + // switch (tag) + } + // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } + // finally + return this; + } + + private int bitField0_; + + private context.ContextOuterClass.Uuid opticalLinkUuid_; + + private com.google.protobuf.SingleFieldBuilderV3 opticalLinkUuidBuilder_; + + /** + * .context.Uuid optical_link_uuid = 1; + * @return Whether the opticalLinkUuid field is set. + */ + public boolean hasOpticalLinkUuid() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * .context.Uuid optical_link_uuid = 1; + * @return The opticalLinkUuid. + */ + public context.ContextOuterClass.Uuid getOpticalLinkUuid() { + if (opticalLinkUuidBuilder_ == null) { + return opticalLinkUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : opticalLinkUuid_; + } else { + return opticalLinkUuidBuilder_.getMessage(); + } + } + + /** + * .context.Uuid optical_link_uuid = 1; + */ + public Builder setOpticalLinkUuid(context.ContextOuterClass.Uuid value) { + if (opticalLinkUuidBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + opticalLinkUuid_ = value; + } else { + opticalLinkUuidBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.Uuid optical_link_uuid = 1; + */ + public Builder setOpticalLinkUuid(context.ContextOuterClass.Uuid.Builder builderForValue) { + if (opticalLinkUuidBuilder_ == null) { + opticalLinkUuid_ = builderForValue.build(); + } else { + opticalLinkUuidBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.Uuid optical_link_uuid = 1; + */ + public Builder mergeOpticalLinkUuid(context.ContextOuterClass.Uuid value) { + if (opticalLinkUuidBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) && opticalLinkUuid_ != null && opticalLinkUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) { + getOpticalLinkUuidBuilder().mergeFrom(value); + } else { + opticalLinkUuid_ = value; + } + } else { + opticalLinkUuidBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.Uuid optical_link_uuid = 1; + */ + public Builder clearOpticalLinkUuid() { + bitField0_ = (bitField0_ & ~0x00000001); + opticalLinkUuid_ = null; + if (opticalLinkUuidBuilder_ != null) { + opticalLinkUuidBuilder_.dispose(); + opticalLinkUuidBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * .context.Uuid optical_link_uuid = 1; + */ + public context.ContextOuterClass.Uuid.Builder getOpticalLinkUuidBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return getOpticalLinkUuidFieldBuilder().getBuilder(); + } + + /** + * .context.Uuid optical_link_uuid = 1; + */ + public context.ContextOuterClass.UuidOrBuilder getOpticalLinkUuidOrBuilder() { + if (opticalLinkUuidBuilder_ != null) { + return opticalLinkUuidBuilder_.getMessageOrBuilder(); + } else { + return opticalLinkUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : opticalLinkUuid_; + } + } + + /** + * .context.Uuid optical_link_uuid = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3 getOpticalLinkUuidFieldBuilder() { + if (opticalLinkUuidBuilder_ == null) { + opticalLinkUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3(getOpticalLinkUuid(), getParentForChildren(), isClean()); + opticalLinkUuid_ = null; + } + return opticalLinkUuidBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + // @@protoc_insertion_point(builder_scope:context.OpticalLinkId) + } + + // @@protoc_insertion_point(class_scope:context.OpticalLinkId) + private static final context.ContextOuterClass.OpticalLinkId DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.OpticalLinkId(); + } + + public static context.ContextOuterClass.OpticalLinkId getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + + @java.lang.Override + public OpticalLinkId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLinkId getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface FiberIdOrBuilder extends // @@protoc_insertion_point(interface_extends:context.FiberId) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.Uuid fiber_uuid = 1; + * @return Whether the fiberUuid field is set. + */ + boolean hasFiberUuid(); + + /** + * .context.Uuid fiber_uuid = 1; + * @return The fiberUuid. + */ + context.ContextOuterClass.Uuid getFiberUuid(); + + /** + * .context.Uuid fiber_uuid = 1; + */ + context.ContextOuterClass.UuidOrBuilder getFiberUuidOrBuilder(); + } + + /** + * Protobuf type {@code context.FiberId} + */ + public static final class FiberId extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:context.FiberId) + FiberIdOrBuilder { + + private static final long serialVersionUID = 0L; + + // Use FiberId.newBuilder() to construct. + private FiberId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private FiberId() { + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new FiberId(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_FiberId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_FiberId_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.FiberId.class, context.ContextOuterClass.FiberId.Builder.class); + } + + public static final int FIBER_UUID_FIELD_NUMBER = 1; + + private context.ContextOuterClass.Uuid fiberUuid_; + + /** + * .context.Uuid fiber_uuid = 1; + * @return Whether the fiberUuid field is set. + */ + @java.lang.Override + public boolean hasFiberUuid() { + return fiberUuid_ != null; + } + + /** + * .context.Uuid fiber_uuid = 1; + * @return The fiberUuid. + */ + @java.lang.Override + public context.ContextOuterClass.Uuid getFiberUuid() { + return fiberUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : fiberUuid_; + } + + /** + * .context.Uuid fiber_uuid = 1; + */ + @java.lang.Override + public context.ContextOuterClass.UuidOrBuilder getFiberUuidOrBuilder() { + return fiberUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : fiberUuid_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (fiberUuid_ != null) { + output.writeMessage(1, getFiberUuid()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + size = 0; + if (fiberUuid_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getFiberUuid()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.FiberId)) { + return super.equals(obj); + } + context.ContextOuterClass.FiberId other = (context.ContextOuterClass.FiberId) obj; + if (hasFiberUuid() != other.hasFiberUuid()) + return false; + if (hasFiberUuid()) { + if (!getFiberUuid().equals(other.getFiberUuid())) + return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasFiberUuid()) { + hash = (37 * hash) + FIBER_UUID_FIELD_NUMBER; + hash = (53 * hash) + getFiberUuid().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.FiberId parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.FiberId parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.FiberId parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.FiberId parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.FiberId parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.FiberId parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.FiberId parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.FiberId parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.FiberId parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.FiberId parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.FiberId parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.FiberId parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(context.ContextOuterClass.FiberId prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code context.FiberId} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:context.FiberId) + context.ContextOuterClass.FiberIdOrBuilder { + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_FiberId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_FiberId_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.FiberId.class, context.ContextOuterClass.FiberId.Builder.class); + } + + // Construct using context.ContextOuterClass.FiberId.newBuilder() + private Builder() { + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + fiberUuid_ = null; + if (fiberUuidBuilder_ != null) { + fiberUuidBuilder_.dispose(); + fiberUuidBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_FiberId_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.FiberId getDefaultInstanceForType() { + return context.ContextOuterClass.FiberId.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.FiberId build() { + context.ContextOuterClass.FiberId result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.FiberId buildPartial() { + context.ContextOuterClass.FiberId result = new context.ContextOuterClass.FiberId(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(context.ContextOuterClass.FiberId result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.fiberUuid_ = fiberUuidBuilder_ == null ? fiberUuid_ : fiberUuidBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.FiberId) { + return mergeFrom((context.ContextOuterClass.FiberId) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.FiberId other) { + if (other == context.ContextOuterClass.FiberId.getDefaultInstance()) + return this; + if (other.hasFiberUuid()) { + mergeFiberUuid(other.getFiberUuid()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage(getFiberUuidFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } + // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + // was an endgroup tag + done = true; + } + break; + } + } + // switch (tag) + } + // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } + // finally + return this; + } + + private int bitField0_; + + private context.ContextOuterClass.Uuid fiberUuid_; + + private com.google.protobuf.SingleFieldBuilderV3 fiberUuidBuilder_; + + /** + * .context.Uuid fiber_uuid = 1; + * @return Whether the fiberUuid field is set. + */ + public boolean hasFiberUuid() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * .context.Uuid fiber_uuid = 1; + * @return The fiberUuid. + */ + public context.ContextOuterClass.Uuid getFiberUuid() { + if (fiberUuidBuilder_ == null) { + return fiberUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : fiberUuid_; + } else { + return fiberUuidBuilder_.getMessage(); + } + } + + /** + * .context.Uuid fiber_uuid = 1; + */ + public Builder setFiberUuid(context.ContextOuterClass.Uuid value) { + if (fiberUuidBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + fiberUuid_ = value; + } else { + fiberUuidBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.Uuid fiber_uuid = 1; + */ + public Builder setFiberUuid(context.ContextOuterClass.Uuid.Builder builderForValue) { + if (fiberUuidBuilder_ == null) { + fiberUuid_ = builderForValue.build(); + } else { + fiberUuidBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.Uuid fiber_uuid = 1; + */ + public Builder mergeFiberUuid(context.ContextOuterClass.Uuid value) { + if (fiberUuidBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) && fiberUuid_ != null && fiberUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) { + getFiberUuidBuilder().mergeFrom(value); + } else { + fiberUuid_ = value; + } + } else { + fiberUuidBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.Uuid fiber_uuid = 1; + */ + public Builder clearFiberUuid() { + bitField0_ = (bitField0_ & ~0x00000001); + fiberUuid_ = null; + if (fiberUuidBuilder_ != null) { + fiberUuidBuilder_.dispose(); + fiberUuidBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * .context.Uuid fiber_uuid = 1; + */ + public context.ContextOuterClass.Uuid.Builder getFiberUuidBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return getFiberUuidFieldBuilder().getBuilder(); + } + + /** + * .context.Uuid fiber_uuid = 1; + */ + public context.ContextOuterClass.UuidOrBuilder getFiberUuidOrBuilder() { + if (fiberUuidBuilder_ != null) { + return fiberUuidBuilder_.getMessageOrBuilder(); + } else { + return fiberUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : fiberUuid_; + } + } + + /** + * .context.Uuid fiber_uuid = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3 getFiberUuidFieldBuilder() { + if (fiberUuidBuilder_ == null) { + fiberUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3(getFiberUuid(), getParentForChildren(), isClean()); + fiberUuid_ = null; + } + return fiberUuidBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + // @@protoc_insertion_point(builder_scope:context.FiberId) + } + + // @@protoc_insertion_point(class_scope:context.FiberId) + private static final context.ContextOuterClass.FiberId DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.FiberId(); + } + + public static context.ContextOuterClass.FiberId getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + + @java.lang.Override + public FiberId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.FiberId getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface FiberOrBuilder extends // @@protoc_insertion_point(interface_extends:context.Fiber) + com.google.protobuf.MessageOrBuilder { + + /** + * string ID = 10; + * @return The iD. + */ + java.lang.String getID(); + + /** + * string ID = 10; + * @return The bytes for iD. + */ + com.google.protobuf.ByteString getIDBytes(); + + /** + * string src_port = 1; + * @return The srcPort. + */ + java.lang.String getSrcPort(); + + /** + * string src_port = 1; + * @return The bytes for srcPort. + */ + com.google.protobuf.ByteString getSrcPortBytes(); + + /** + * string dst_port = 2; + * @return The dstPort. + */ + java.lang.String getDstPort(); + + /** + * string dst_port = 2; + * @return The bytes for dstPort. + */ + com.google.protobuf.ByteString getDstPortBytes(); + + /** + * string local_peer_port = 3; + * @return The localPeerPort. + */ + java.lang.String getLocalPeerPort(); + + /** + * string local_peer_port = 3; + * @return The bytes for localPeerPort. + */ + com.google.protobuf.ByteString getLocalPeerPortBytes(); + + /** + * string remote_peer_port = 4; + * @return The remotePeerPort. + */ + java.lang.String getRemotePeerPort(); + + /** + * string remote_peer_port = 4; + * @return The bytes for remotePeerPort. + */ + com.google.protobuf.ByteString getRemotePeerPortBytes(); + + /** + * repeated int32 c_slots = 5; + * @return A list containing the cSlots. + */ + java.util.List getCSlotsList(); + + /** + * repeated int32 c_slots = 5; + * @return The count of cSlots. + */ + int getCSlotsCount(); + + /** + * repeated int32 c_slots = 5; + * @param index The index of the element to return. + * @return The cSlots at the given index. + */ + int getCSlots(int index); + + /** + * repeated int32 l_slots = 6; + * @return A list containing the lSlots. + */ + java.util.List getLSlotsList(); + + /** + * repeated int32 l_slots = 6; + * @return The count of lSlots. + */ + int getLSlotsCount(); + + /** + * repeated int32 l_slots = 6; + * @param index The index of the element to return. + * @return The lSlots at the given index. + */ + int getLSlots(int index); + + /** + * repeated int32 s_slots = 7; + * @return A list containing the sSlots. + */ + java.util.List getSSlotsList(); + + /** + * repeated int32 s_slots = 7; + * @return The count of sSlots. + */ + int getSSlotsCount(); + + /** + * repeated int32 s_slots = 7; + * @param index The index of the element to return. + * @return The sSlots at the given index. + */ + int getSSlots(int index); + + /** + * float length = 8; + * @return The length. + */ + float getLength(); + + /** + * bool used = 9; + * @return The used. + */ + boolean getUsed(); + + /** + * .context.FiberId fiber_uuid = 11; + * @return Whether the fiberUuid field is set. + */ + boolean hasFiberUuid(); + + /** + * .context.FiberId fiber_uuid = 11; + * @return The fiberUuid. + */ + context.ContextOuterClass.FiberId getFiberUuid(); + + /** + * .context.FiberId fiber_uuid = 11; + */ + context.ContextOuterClass.FiberIdOrBuilder getFiberUuidOrBuilder(); + } + + /** + * Protobuf type {@code context.Fiber} + */ + public static final class Fiber extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:context.Fiber) + FiberOrBuilder { + + private static final long serialVersionUID = 0L; + + // Use Fiber.newBuilder() to construct. + private Fiber(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private Fiber() { + iD_ = ""; + srcPort_ = ""; + dstPort_ = ""; + localPeerPort_ = ""; + remotePeerPort_ = ""; + cSlots_ = emptyIntList(); + lSlots_ = emptyIntList(); + sSlots_ = emptyIntList(); + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new Fiber(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_Fiber_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_Fiber_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.Fiber.class, context.ContextOuterClass.Fiber.Builder.class); + } + + public static final int ID_FIELD_NUMBER = 10; + + @SuppressWarnings("serial") + private volatile java.lang.Object iD_ = ""; + + /** + * string ID = 10; + * @return The iD. + */ + @java.lang.Override + public java.lang.String getID() { + java.lang.Object ref = iD_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + iD_ = s; + return s; + } + } + + /** + * string ID = 10; + * @return The bytes for iD. + */ + @java.lang.Override + public com.google.protobuf.ByteString getIDBytes() { + java.lang.Object ref = iD_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + iD_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SRC_PORT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object srcPort_ = ""; + + /** + * string src_port = 1; + * @return The srcPort. + */ + @java.lang.Override + public java.lang.String getSrcPort() { + java.lang.Object ref = srcPort_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + srcPort_ = s; + return s; + } + } + + /** + * string src_port = 1; + * @return The bytes for srcPort. + */ + @java.lang.Override + public com.google.protobuf.ByteString getSrcPortBytes() { + java.lang.Object ref = srcPort_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + srcPort_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DST_PORT_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object dstPort_ = ""; + + /** + * string dst_port = 2; + * @return The dstPort. + */ + @java.lang.Override + public java.lang.String getDstPort() { + java.lang.Object ref = dstPort_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + dstPort_ = s; + return s; + } + } + + /** + * string dst_port = 2; + * @return The bytes for dstPort. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDstPortBytes() { + java.lang.Object ref = dstPort_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + dstPort_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int LOCAL_PEER_PORT_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object localPeerPort_ = ""; + + /** + * string local_peer_port = 3; + * @return The localPeerPort. + */ + @java.lang.Override + public java.lang.String getLocalPeerPort() { + java.lang.Object ref = localPeerPort_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + localPeerPort_ = s; + return s; + } + } + + /** + * string local_peer_port = 3; + * @return The bytes for localPeerPort. + */ + @java.lang.Override + public com.google.protobuf.ByteString getLocalPeerPortBytes() { + java.lang.Object ref = localPeerPort_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + localPeerPort_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int REMOTE_PEER_PORT_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object remotePeerPort_ = ""; + + /** + * string remote_peer_port = 4; + * @return The remotePeerPort. + */ + @java.lang.Override + public java.lang.String getRemotePeerPort() { + java.lang.Object ref = remotePeerPort_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + remotePeerPort_ = s; + return s; + } + } + + /** + * string remote_peer_port = 4; + * @return The bytes for remotePeerPort. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRemotePeerPortBytes() { + java.lang.Object ref = remotePeerPort_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + remotePeerPort_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int C_SLOTS_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList cSlots_; + + /** + * repeated int32 c_slots = 5; + * @return A list containing the cSlots. + */ + @java.lang.Override + public java.util.List getCSlotsList() { + return cSlots_; + } + + /** + * repeated int32 c_slots = 5; + * @return The count of cSlots. + */ + public int getCSlotsCount() { + return cSlots_.size(); + } + + /** + * repeated int32 c_slots = 5; + * @param index The index of the element to return. + * @return The cSlots at the given index. + */ + public int getCSlots(int index) { + return cSlots_.getInt(index); + } + + private int cSlotsMemoizedSerializedSize = -1; + + public static final int L_SLOTS_FIELD_NUMBER = 6; + + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList lSlots_; + + /** + * repeated int32 l_slots = 6; + * @return A list containing the lSlots. + */ + @java.lang.Override + public java.util.List getLSlotsList() { + return lSlots_; + } + + /** + * repeated int32 l_slots = 6; + * @return The count of lSlots. + */ + public int getLSlotsCount() { + return lSlots_.size(); + } + + /** + * repeated int32 l_slots = 6; + * @param index The index of the element to return. + * @return The lSlots at the given index. + */ + public int getLSlots(int index) { + return lSlots_.getInt(index); + } + + private int lSlotsMemoizedSerializedSize = -1; + + public static final int S_SLOTS_FIELD_NUMBER = 7; + + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList sSlots_; + + /** + * repeated int32 s_slots = 7; + * @return A list containing the sSlots. + */ + @java.lang.Override + public java.util.List getSSlotsList() { + return sSlots_; + } + + /** + * repeated int32 s_slots = 7; + * @return The count of sSlots. + */ + public int getSSlotsCount() { + return sSlots_.size(); + } + + /** + * repeated int32 s_slots = 7; + * @param index The index of the element to return. + * @return The sSlots at the given index. + */ + public int getSSlots(int index) { + return sSlots_.getInt(index); + } + + private int sSlotsMemoizedSerializedSize = -1; + + public static final int LENGTH_FIELD_NUMBER = 8; + + private float length_ = 0F; + + /** + * float length = 8; + * @return The length. + */ + @java.lang.Override + public float getLength() { + return length_; + } + + public static final int USED_FIELD_NUMBER = 9; + + private boolean used_ = false; + + /** + * bool used = 9; + * @return The used. + */ + @java.lang.Override + public boolean getUsed() { + return used_; + } + + public static final int FIBER_UUID_FIELD_NUMBER = 11; + + private context.ContextOuterClass.FiberId fiberUuid_; + + /** + * .context.FiberId fiber_uuid = 11; + * @return Whether the fiberUuid field is set. + */ + @java.lang.Override + public boolean hasFiberUuid() { + return fiberUuid_ != null; + } + + /** + * .context.FiberId fiber_uuid = 11; + * @return The fiberUuid. + */ + @java.lang.Override + public context.ContextOuterClass.FiberId getFiberUuid() { + return fiberUuid_ == null ? context.ContextOuterClass.FiberId.getDefaultInstance() : fiberUuid_; + } + + /** + * .context.FiberId fiber_uuid = 11; + */ + @java.lang.Override + public context.ContextOuterClass.FiberIdOrBuilder getFiberUuidOrBuilder() { + return fiberUuid_ == null ? context.ContextOuterClass.FiberId.getDefaultInstance() : fiberUuid_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + getSerializedSize(); + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcPort_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, srcPort_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstPort_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, dstPort_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(localPeerPort_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, localPeerPort_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(remotePeerPort_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, remotePeerPort_); + } + if (getCSlotsList().size() > 0) { + output.writeUInt32NoTag(42); + output.writeUInt32NoTag(cSlotsMemoizedSerializedSize); + } + for (int i = 0; i < cSlots_.size(); i++) { + output.writeInt32NoTag(cSlots_.getInt(i)); + } + if (getLSlotsList().size() > 0) { + output.writeUInt32NoTag(50); + output.writeUInt32NoTag(lSlotsMemoizedSerializedSize); + } + for (int i = 0; i < lSlots_.size(); i++) { + output.writeInt32NoTag(lSlots_.getInt(i)); + } + if (getSSlotsList().size() > 0) { + output.writeUInt32NoTag(58); + output.writeUInt32NoTag(sSlotsMemoizedSerializedSize); + } + for (int i = 0; i < sSlots_.size(); i++) { + output.writeInt32NoTag(sSlots_.getInt(i)); + } + if (java.lang.Float.floatToRawIntBits(length_) != 0) { + output.writeFloat(8, length_); + } + if (used_ != false) { + output.writeBool(9, used_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(iD_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 10, iD_); + } + if (fiberUuid_ != null) { + output.writeMessage(11, getFiberUuid()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcPort_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, srcPort_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstPort_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, dstPort_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(localPeerPort_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, localPeerPort_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(remotePeerPort_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, remotePeerPort_); + } + { + int dataSize = 0; + for (int i = 0; i < cSlots_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream.computeInt32SizeNoTag(cSlots_.getInt(i)); + } + size += dataSize; + if (!getCSlotsList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream.computeInt32SizeNoTag(dataSize); + } + cSlotsMemoizedSerializedSize = dataSize; + } + { + int dataSize = 0; + for (int i = 0; i < lSlots_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream.computeInt32SizeNoTag(lSlots_.getInt(i)); + } + size += dataSize; + if (!getLSlotsList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream.computeInt32SizeNoTag(dataSize); + } + lSlotsMemoizedSerializedSize = dataSize; + } + { + int dataSize = 0; + for (int i = 0; i < sSlots_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream.computeInt32SizeNoTag(sSlots_.getInt(i)); + } + size += dataSize; + if (!getSSlotsList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream.computeInt32SizeNoTag(dataSize); + } + sSlotsMemoizedSerializedSize = dataSize; + } + if (java.lang.Float.floatToRawIntBits(length_) != 0) { + size += com.google.protobuf.CodedOutputStream.computeFloatSize(8, length_); + } + if (used_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(9, used_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(iD_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, iD_); + } + if (fiberUuid_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(11, getFiberUuid()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.Fiber)) { + return super.equals(obj); + } + context.ContextOuterClass.Fiber other = (context.ContextOuterClass.Fiber) obj; + if (!getID().equals(other.getID())) + return false; + if (!getSrcPort().equals(other.getSrcPort())) + return false; + if (!getDstPort().equals(other.getDstPort())) + return false; + if (!getLocalPeerPort().equals(other.getLocalPeerPort())) + return false; + if (!getRemotePeerPort().equals(other.getRemotePeerPort())) + return false; + if (!getCSlotsList().equals(other.getCSlotsList())) + return false; + if (!getLSlotsList().equals(other.getLSlotsList())) + return false; + if (!getSSlotsList().equals(other.getSSlotsList())) + return false; + if (java.lang.Float.floatToIntBits(getLength()) != java.lang.Float.floatToIntBits(other.getLength())) + return false; + if (getUsed() != other.getUsed()) + return false; + if (hasFiberUuid() != other.hasFiberUuid()) + return false; + if (hasFiberUuid()) { + if (!getFiberUuid().equals(other.getFiberUuid())) + return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + ID_FIELD_NUMBER; + hash = (53 * hash) + getID().hashCode(); + hash = (37 * hash) + SRC_PORT_FIELD_NUMBER; + hash = (53 * hash) + getSrcPort().hashCode(); + hash = (37 * hash) + DST_PORT_FIELD_NUMBER; + hash = (53 * hash) + getDstPort().hashCode(); + hash = (37 * hash) + LOCAL_PEER_PORT_FIELD_NUMBER; + hash = (53 * hash) + getLocalPeerPort().hashCode(); + hash = (37 * hash) + REMOTE_PEER_PORT_FIELD_NUMBER; + hash = (53 * hash) + getRemotePeerPort().hashCode(); + if (getCSlotsCount() > 0) { + hash = (37 * hash) + C_SLOTS_FIELD_NUMBER; + hash = (53 * hash) + getCSlotsList().hashCode(); + } + if (getLSlotsCount() > 0) { + hash = (37 * hash) + L_SLOTS_FIELD_NUMBER; + hash = (53 * hash) + getLSlotsList().hashCode(); + } + if (getSSlotsCount() > 0) { + hash = (37 * hash) + S_SLOTS_FIELD_NUMBER; + hash = (53 * hash) + getSSlotsList().hashCode(); + } + hash = (37 * hash) + LENGTH_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits(getLength()); + hash = (37 * hash) + USED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getUsed()); + if (hasFiberUuid()) { + hash = (37 * hash) + FIBER_UUID_FIELD_NUMBER; + hash = (53 * hash) + getFiberUuid().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.Fiber parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.Fiber parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.Fiber parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.Fiber parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.Fiber parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.Fiber parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.Fiber parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.Fiber parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.Fiber parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.Fiber parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.Fiber parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.Fiber parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(context.ContextOuterClass.Fiber prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code context.Fiber} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:context.Fiber) + context.ContextOuterClass.FiberOrBuilder { + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_Fiber_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_Fiber_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.Fiber.class, context.ContextOuterClass.Fiber.Builder.class); + } + + // Construct using context.ContextOuterClass.Fiber.newBuilder() + private Builder() { + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + iD_ = ""; + srcPort_ = ""; + dstPort_ = ""; + localPeerPort_ = ""; + remotePeerPort_ = ""; + cSlots_ = emptyIntList(); + lSlots_ = emptyIntList(); + sSlots_ = emptyIntList(); + length_ = 0F; + used_ = false; + fiberUuid_ = null; + if (fiberUuidBuilder_ != null) { + fiberUuidBuilder_.dispose(); + fiberUuidBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_Fiber_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.Fiber getDefaultInstanceForType() { + return context.ContextOuterClass.Fiber.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.Fiber build() { + context.ContextOuterClass.Fiber result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.Fiber buildPartial() { + context.ContextOuterClass.Fiber result = new context.ContextOuterClass.Fiber(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(context.ContextOuterClass.Fiber result) { + if (((bitField0_ & 0x00000020) != 0)) { + cSlots_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000020); + } + result.cSlots_ = cSlots_; + if (((bitField0_ & 0x00000040) != 0)) { + lSlots_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000040); + } + result.lSlots_ = lSlots_; + if (((bitField0_ & 0x00000080) != 0)) { + sSlots_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000080); + } + result.sSlots_ = sSlots_; + } + + private void buildPartial0(context.ContextOuterClass.Fiber result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.iD_ = iD_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.srcPort_ = srcPort_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.dstPort_ = dstPort_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.localPeerPort_ = localPeerPort_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.remotePeerPort_ = remotePeerPort_; + } + if (((from_bitField0_ & 0x00000100) != 0)) { + result.length_ = length_; + } + if (((from_bitField0_ & 0x00000200) != 0)) { + result.used_ = used_; + } + if (((from_bitField0_ & 0x00000400) != 0)) { + result.fiberUuid_ = fiberUuidBuilder_ == null ? fiberUuid_ : fiberUuidBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.Fiber) { + return mergeFrom((context.ContextOuterClass.Fiber) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.Fiber other) { + if (other == context.ContextOuterClass.Fiber.getDefaultInstance()) + return this; + if (!other.getID().isEmpty()) { + iD_ = other.iD_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getSrcPort().isEmpty()) { + srcPort_ = other.srcPort_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getDstPort().isEmpty()) { + dstPort_ = other.dstPort_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getLocalPeerPort().isEmpty()) { + localPeerPort_ = other.localPeerPort_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.getRemotePeerPort().isEmpty()) { + remotePeerPort_ = other.remotePeerPort_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (!other.cSlots_.isEmpty()) { + if (cSlots_.isEmpty()) { + cSlots_ = other.cSlots_; + bitField0_ = (bitField0_ & ~0x00000020); + } else { + ensureCSlotsIsMutable(); + cSlots_.addAll(other.cSlots_); + } + onChanged(); + } + if (!other.lSlots_.isEmpty()) { + if (lSlots_.isEmpty()) { + lSlots_ = other.lSlots_; + bitField0_ = (bitField0_ & ~0x00000040); + } else { + ensureLSlotsIsMutable(); + lSlots_.addAll(other.lSlots_); + } + onChanged(); + } + if (!other.sSlots_.isEmpty()) { + if (sSlots_.isEmpty()) { + sSlots_ = other.sSlots_; + bitField0_ = (bitField0_ & ~0x00000080); + } else { + ensureSSlotsIsMutable(); + sSlots_.addAll(other.sSlots_); + } + onChanged(); + } + if (other.getLength() != 0F) { + setLength(other.getLength()); + } + if (other.getUsed() != false) { + setUsed(other.getUsed()); + } + if (other.hasFiberUuid()) { + mergeFiberUuid(other.getFiberUuid()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + srcPort_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } + // case 10 + case 18: + { + dstPort_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } + // case 18 + case 26: + { + localPeerPort_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } + // case 26 + case 34: + { + remotePeerPort_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } + // case 34 + case 40: + { + int v = input.readInt32(); + ensureCSlotsIsMutable(); + cSlots_.addInt(v); + break; + } + // case 40 + case 42: + { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureCSlotsIsMutable(); + while (input.getBytesUntilLimit() > 0) { + cSlots_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + // case 42 + case 48: + { + int v = input.readInt32(); + ensureLSlotsIsMutable(); + lSlots_.addInt(v); + break; + } + // case 48 + case 50: + { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureLSlotsIsMutable(); + while (input.getBytesUntilLimit() > 0) { + lSlots_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + // case 50 + case 56: + { + int v = input.readInt32(); + ensureSSlotsIsMutable(); + sSlots_.addInt(v); + break; + } + // case 56 + case 58: + { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureSSlotsIsMutable(); + while (input.getBytesUntilLimit() > 0) { + sSlots_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + // case 58 + case 69: + { + length_ = input.readFloat(); + bitField0_ |= 0x00000100; + break; + } + // case 69 + case 72: + { + used_ = input.readBool(); + bitField0_ |= 0x00000200; + break; + } + // case 72 + case 82: + { + iD_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } + // case 82 + case 90: + { + input.readMessage(getFiberUuidFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000400; + break; + } + // case 90 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + // was an endgroup tag + done = true; + } + break; + } + } + // switch (tag) + } + // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } + // finally + return this; + } + + private int bitField0_; + + private java.lang.Object iD_ = ""; + + /** + * string ID = 10; + * @return The iD. + */ + public java.lang.String getID() { + java.lang.Object ref = iD_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + iD_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string ID = 10; + * @return The bytes for iD. + */ + public com.google.protobuf.ByteString getIDBytes() { + java.lang.Object ref = iD_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + iD_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string ID = 10; + * @param value The iD to set. + * @return This builder for chaining. + */ + public Builder setID(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + iD_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * string ID = 10; + * @return This builder for chaining. + */ + public Builder clearID() { + iD_ = getDefaultInstance().getID(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * string ID = 10; + * @param value The bytes for iD to set. + * @return This builder for chaining. + */ + public Builder setIDBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + iD_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object srcPort_ = ""; + + /** + * string src_port = 1; + * @return The srcPort. + */ + public java.lang.String getSrcPort() { + java.lang.Object ref = srcPort_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + srcPort_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string src_port = 1; + * @return The bytes for srcPort. + */ + public com.google.protobuf.ByteString getSrcPortBytes() { + java.lang.Object ref = srcPort_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + srcPort_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string src_port = 1; + * @param value The srcPort to set. + * @return This builder for chaining. + */ + public Builder setSrcPort(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + srcPort_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * string src_port = 1; + * @return This builder for chaining. + */ + public Builder clearSrcPort() { + srcPort_ = getDefaultInstance().getSrcPort(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * string src_port = 1; + * @param value The bytes for srcPort to set. + * @return This builder for chaining. + */ + public Builder setSrcPortBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + srcPort_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object dstPort_ = ""; + + /** + * string dst_port = 2; + * @return The dstPort. + */ + public java.lang.String getDstPort() { + java.lang.Object ref = dstPort_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + dstPort_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string dst_port = 2; + * @return The bytes for dstPort. + */ + public com.google.protobuf.ByteString getDstPortBytes() { + java.lang.Object ref = dstPort_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + dstPort_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string dst_port = 2; + * @param value The dstPort to set. + * @return This builder for chaining. + */ + public Builder setDstPort(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + dstPort_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * string dst_port = 2; + * @return This builder for chaining. + */ + public Builder clearDstPort() { + dstPort_ = getDefaultInstance().getDstPort(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * string dst_port = 2; + * @param value The bytes for dstPort to set. + * @return This builder for chaining. + */ + public Builder setDstPortBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + dstPort_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object localPeerPort_ = ""; + + /** + * string local_peer_port = 3; + * @return The localPeerPort. + */ + public java.lang.String getLocalPeerPort() { + java.lang.Object ref = localPeerPort_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + localPeerPort_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string local_peer_port = 3; + * @return The bytes for localPeerPort. + */ + public com.google.protobuf.ByteString getLocalPeerPortBytes() { + java.lang.Object ref = localPeerPort_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + localPeerPort_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string local_peer_port = 3; + * @param value The localPeerPort to set. + * @return This builder for chaining. + */ + public Builder setLocalPeerPort(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + localPeerPort_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * string local_peer_port = 3; + * @return This builder for chaining. + */ + public Builder clearLocalPeerPort() { + localPeerPort_ = getDefaultInstance().getLocalPeerPort(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * string local_peer_port = 3; + * @param value The bytes for localPeerPort to set. + * @return This builder for chaining. + */ + public Builder setLocalPeerPortBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + localPeerPort_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.lang.Object remotePeerPort_ = ""; + + /** + * string remote_peer_port = 4; + * @return The remotePeerPort. + */ + public java.lang.String getRemotePeerPort() { + java.lang.Object ref = remotePeerPort_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + remotePeerPort_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string remote_peer_port = 4; + * @return The bytes for remotePeerPort. + */ + public com.google.protobuf.ByteString getRemotePeerPortBytes() { + java.lang.Object ref = remotePeerPort_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + remotePeerPort_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string remote_peer_port = 4; + * @param value The remotePeerPort to set. + * @return This builder for chaining. + */ + public Builder setRemotePeerPort(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + remotePeerPort_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * string remote_peer_port = 4; + * @return This builder for chaining. + */ + public Builder clearRemotePeerPort() { + remotePeerPort_ = getDefaultInstance().getRemotePeerPort(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * string remote_peer_port = 4; + * @param value The bytes for remotePeerPort to set. + * @return This builder for chaining. + */ + public Builder setRemotePeerPortBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + remotePeerPort_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private com.google.protobuf.Internal.IntList cSlots_ = emptyIntList(); + + private void ensureCSlotsIsMutable() { + if (!((bitField0_ & 0x00000020) != 0)) { + cSlots_ = mutableCopy(cSlots_); + bitField0_ |= 0x00000020; + } + } + + /** + * repeated int32 c_slots = 5; + * @return A list containing the cSlots. + */ + public java.util.List getCSlotsList() { + return ((bitField0_ & 0x00000020) != 0) ? java.util.Collections.unmodifiableList(cSlots_) : cSlots_; + } + + /** + * repeated int32 c_slots = 5; + * @return The count of cSlots. + */ + public int getCSlotsCount() { + return cSlots_.size(); + } + + /** + * repeated int32 c_slots = 5; + * @param index The index of the element to return. + * @return The cSlots at the given index. + */ + public int getCSlots(int index) { + return cSlots_.getInt(index); + } + + /** + * repeated int32 c_slots = 5; + * @param index The index to set the value at. + * @param value The cSlots to set. + * @return This builder for chaining. + */ + public Builder setCSlots(int index, int value) { + ensureCSlotsIsMutable(); + cSlots_.setInt(index, value); + onChanged(); + return this; + } + + /** + * repeated int32 c_slots = 5; + * @param value The cSlots to add. + * @return This builder for chaining. + */ + public Builder addCSlots(int value) { + ensureCSlotsIsMutable(); + cSlots_.addInt(value); + onChanged(); + return this; + } + + /** + * repeated int32 c_slots = 5; + * @param values The cSlots to add. + * @return This builder for chaining. + */ + public Builder addAllCSlots(java.lang.Iterable values) { + ensureCSlotsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, cSlots_); + onChanged(); + return this; + } + + /** + * repeated int32 c_slots = 5; + * @return This builder for chaining. + */ + public Builder clearCSlots() { + cSlots_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + return this; + } + + private com.google.protobuf.Internal.IntList lSlots_ = emptyIntList(); + + private void ensureLSlotsIsMutable() { + if (!((bitField0_ & 0x00000040) != 0)) { + lSlots_ = mutableCopy(lSlots_); + bitField0_ |= 0x00000040; + } + } + + /** + * repeated int32 l_slots = 6; + * @return A list containing the lSlots. + */ + public java.util.List getLSlotsList() { + return ((bitField0_ & 0x00000040) != 0) ? java.util.Collections.unmodifiableList(lSlots_) : lSlots_; + } + + /** + * repeated int32 l_slots = 6; + * @return The count of lSlots. + */ + public int getLSlotsCount() { + return lSlots_.size(); + } + + /** + * repeated int32 l_slots = 6; + * @param index The index of the element to return. + * @return The lSlots at the given index. + */ + public int getLSlots(int index) { + return lSlots_.getInt(index); + } + + /** + * repeated int32 l_slots = 6; + * @param index The index to set the value at. + * @param value The lSlots to set. + * @return This builder for chaining. + */ + public Builder setLSlots(int index, int value) { + ensureLSlotsIsMutable(); + lSlots_.setInt(index, value); + onChanged(); + return this; + } + + /** + * repeated int32 l_slots = 6; + * @param value The lSlots to add. + * @return This builder for chaining. + */ + public Builder addLSlots(int value) { + ensureLSlotsIsMutable(); + lSlots_.addInt(value); + onChanged(); + return this; + } + + /** + * repeated int32 l_slots = 6; + * @param values The lSlots to add. + * @return This builder for chaining. + */ + public Builder addAllLSlots(java.lang.Iterable values) { + ensureLSlotsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, lSlots_); + onChanged(); + return this; + } + + /** + * repeated int32 l_slots = 6; + * @return This builder for chaining. + */ + public Builder clearLSlots() { + lSlots_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + + private com.google.protobuf.Internal.IntList sSlots_ = emptyIntList(); + + private void ensureSSlotsIsMutable() { + if (!((bitField0_ & 0x00000080) != 0)) { + sSlots_ = mutableCopy(sSlots_); + bitField0_ |= 0x00000080; + } + } + + /** + * repeated int32 s_slots = 7; + * @return A list containing the sSlots. + */ + public java.util.List getSSlotsList() { + return ((bitField0_ & 0x00000080) != 0) ? java.util.Collections.unmodifiableList(sSlots_) : sSlots_; + } + + /** + * repeated int32 s_slots = 7; + * @return The count of sSlots. + */ + public int getSSlotsCount() { + return sSlots_.size(); + } + + /** + * repeated int32 s_slots = 7; + * @param index The index of the element to return. + * @return The sSlots at the given index. + */ + public int getSSlots(int index) { + return sSlots_.getInt(index); + } + + /** + * repeated int32 s_slots = 7; + * @param index The index to set the value at. + * @param value The sSlots to set. + * @return This builder for chaining. + */ + public Builder setSSlots(int index, int value) { + ensureSSlotsIsMutable(); + sSlots_.setInt(index, value); + onChanged(); + return this; + } + + /** + * repeated int32 s_slots = 7; + * @param value The sSlots to add. + * @return This builder for chaining. + */ + public Builder addSSlots(int value) { + ensureSSlotsIsMutable(); + sSlots_.addInt(value); + onChanged(); + return this; + } + + /** + * repeated int32 s_slots = 7; + * @param values The sSlots to add. + * @return This builder for chaining. + */ + public Builder addAllSSlots(java.lang.Iterable values) { + ensureSSlotsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, sSlots_); + onChanged(); + return this; + } + + /** + * repeated int32 s_slots = 7; + * @return This builder for chaining. + */ + public Builder clearSSlots() { + sSlots_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000080); + onChanged(); + return this; + } + + private float length_; + + /** + * float length = 8; + * @return The length. + */ + @java.lang.Override + public float getLength() { + return length_; + } + + /** + * float length = 8; + * @param value The length to set. + * @return This builder for chaining. + */ + public Builder setLength(float value) { + length_ = value; + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + /** + * float length = 8; + * @return This builder for chaining. + */ + public Builder clearLength() { + bitField0_ = (bitField0_ & ~0x00000100); + length_ = 0F; + onChanged(); + return this; + } + + private boolean used_; + + /** + * bool used = 9; + * @return The used. + */ + @java.lang.Override + public boolean getUsed() { + return used_; + } + + /** + * bool used = 9; + * @param value The used to set. + * @return This builder for chaining. + */ + public Builder setUsed(boolean value) { + used_ = value; + bitField0_ |= 0x00000200; + onChanged(); + return this; + } + + /** + * bool used = 9; + * @return This builder for chaining. + */ + public Builder clearUsed() { + bitField0_ = (bitField0_ & ~0x00000200); + used_ = false; + onChanged(); + return this; + } + + private context.ContextOuterClass.FiberId fiberUuid_; + + private com.google.protobuf.SingleFieldBuilderV3 fiberUuidBuilder_; + + /** + * .context.FiberId fiber_uuid = 11; + * @return Whether the fiberUuid field is set. + */ + public boolean hasFiberUuid() { + return ((bitField0_ & 0x00000400) != 0); + } + + /** + * .context.FiberId fiber_uuid = 11; + * @return The fiberUuid. + */ + public context.ContextOuterClass.FiberId getFiberUuid() { + if (fiberUuidBuilder_ == null) { + return fiberUuid_ == null ? context.ContextOuterClass.FiberId.getDefaultInstance() : fiberUuid_; + } else { + return fiberUuidBuilder_.getMessage(); + } + } + + /** + * .context.FiberId fiber_uuid = 11; + */ + public Builder setFiberUuid(context.ContextOuterClass.FiberId value) { + if (fiberUuidBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + fiberUuid_ = value; + } else { + fiberUuidBuilder_.setMessage(value); + } + bitField0_ |= 0x00000400; + onChanged(); + return this; + } + + /** + * .context.FiberId fiber_uuid = 11; + */ + public Builder setFiberUuid(context.ContextOuterClass.FiberId.Builder builderForValue) { + if (fiberUuidBuilder_ == null) { + fiberUuid_ = builderForValue.build(); + } else { + fiberUuidBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000400; + onChanged(); + return this; + } + + /** + * .context.FiberId fiber_uuid = 11; + */ + public Builder mergeFiberUuid(context.ContextOuterClass.FiberId value) { + if (fiberUuidBuilder_ == null) { + if (((bitField0_ & 0x00000400) != 0) && fiberUuid_ != null && fiberUuid_ != context.ContextOuterClass.FiberId.getDefaultInstance()) { + getFiberUuidBuilder().mergeFrom(value); + } else { + fiberUuid_ = value; + } + } else { + fiberUuidBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000400; + onChanged(); + return this; + } + + /** + * .context.FiberId fiber_uuid = 11; + */ + public Builder clearFiberUuid() { + bitField0_ = (bitField0_ & ~0x00000400); + fiberUuid_ = null; + if (fiberUuidBuilder_ != null) { + fiberUuidBuilder_.dispose(); + fiberUuidBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * .context.FiberId fiber_uuid = 11; + */ + public context.ContextOuterClass.FiberId.Builder getFiberUuidBuilder() { + bitField0_ |= 0x00000400; + onChanged(); + return getFiberUuidFieldBuilder().getBuilder(); + } + + /** + * .context.FiberId fiber_uuid = 11; + */ + public context.ContextOuterClass.FiberIdOrBuilder getFiberUuidOrBuilder() { + if (fiberUuidBuilder_ != null) { + return fiberUuidBuilder_.getMessageOrBuilder(); + } else { + return fiberUuid_ == null ? context.ContextOuterClass.FiberId.getDefaultInstance() : fiberUuid_; + } + } + + /** + * .context.FiberId fiber_uuid = 11; + */ + private com.google.protobuf.SingleFieldBuilderV3 getFiberUuidFieldBuilder() { + if (fiberUuidBuilder_ == null) { + fiberUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3(getFiberUuid(), getParentForChildren(), isClean()); + fiberUuid_ = null; + } + return fiberUuidBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + // @@protoc_insertion_point(builder_scope:context.Fiber) + } + + // @@protoc_insertion_point(class_scope:context.Fiber) + private static final context.ContextOuterClass.Fiber DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.Fiber(); + } + + public static context.ContextOuterClass.Fiber getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + + @java.lang.Override + public Fiber parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.Fiber getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface OpticalLinkDetailsOrBuilder extends // @@protoc_insertion_point(interface_extends:context.OpticalLinkDetails) + com.google.protobuf.MessageOrBuilder { + + /** + * float length = 1; + * @return The length. + */ + float getLength(); + + /** + * string source = 2; + * @return The source. + */ + java.lang.String getSource(); + + /** + * string source = 2; + * @return The bytes for source. + */ + com.google.protobuf.ByteString getSourceBytes(); + + /** + * string target = 3; + * @return The target. + */ + java.lang.String getTarget(); + + /** + * string target = 3; + * @return The bytes for target. + */ + com.google.protobuf.ByteString getTargetBytes(); + + /** + * repeated .context.Fiber fibers = 4; + */ + java.util.List getFibersList(); + + /** + * repeated .context.Fiber fibers = 4; + */ + context.ContextOuterClass.Fiber getFibers(int index); + + /** + * repeated .context.Fiber fibers = 4; + */ + int getFibersCount(); + + /** + * repeated .context.Fiber fibers = 4; + */ + java.util.List getFibersOrBuilderList(); + + /** + * repeated .context.Fiber fibers = 4; + */ + context.ContextOuterClass.FiberOrBuilder getFibersOrBuilder(int index); + } + + /** + * Protobuf type {@code context.OpticalLinkDetails} + */ + public static final class OpticalLinkDetails extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:context.OpticalLinkDetails) + OpticalLinkDetailsOrBuilder { + + private static final long serialVersionUID = 0L; + + // Use OpticalLinkDetails.newBuilder() to construct. + private OpticalLinkDetails(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private OpticalLinkDetails() { + source_ = ""; + target_ = ""; + fibers_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new OpticalLinkDetails(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalLinkDetails_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalLinkDetails_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalLinkDetails.class, context.ContextOuterClass.OpticalLinkDetails.Builder.class); + } + + public static final int LENGTH_FIELD_NUMBER = 1; + + private float length_ = 0F; + + /** + * float length = 1; + * @return The length. + */ + @java.lang.Override + public float getLength() { + return length_; + } + + public static final int SOURCE_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object source_ = ""; + + /** + * string source = 2; + * @return The source. + */ + @java.lang.Override + public java.lang.String getSource() { + java.lang.Object ref = source_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + source_ = s; + return s; + } + } + + /** + * string source = 2; + * @return The bytes for source. + */ + @java.lang.Override + public com.google.protobuf.ByteString getSourceBytes() { + java.lang.Object ref = source_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + source_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TARGET_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object target_ = ""; + + /** + * string target = 3; + * @return The target. + */ + @java.lang.Override + public java.lang.String getTarget() { + java.lang.Object ref = target_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + target_ = s; + return s; + } + } + + /** + * string target = 3; + * @return The bytes for target. + */ + @java.lang.Override + public com.google.protobuf.ByteString getTargetBytes() { + java.lang.Object ref = target_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + target_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int FIBERS_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private java.util.List fibers_; + + /** + * repeated .context.Fiber fibers = 4; + */ + @java.lang.Override + public java.util.List getFibersList() { + return fibers_; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + @java.lang.Override + public java.util.List getFibersOrBuilderList() { + return fibers_; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + @java.lang.Override + public int getFibersCount() { + return fibers_.size(); + } + + /** + * repeated .context.Fiber fibers = 4; + */ + @java.lang.Override + public context.ContextOuterClass.Fiber getFibers(int index) { + return fibers_.get(index); + } + + /** + * repeated .context.Fiber fibers = 4; + */ + @java.lang.Override + public context.ContextOuterClass.FiberOrBuilder getFibersOrBuilder(int index) { + return fibers_.get(index); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (java.lang.Float.floatToRawIntBits(length_) != 0) { + output.writeFloat(1, length_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(source_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, source_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(target_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, target_); + } + for (int i = 0; i < fibers_.size(); i++) { + output.writeMessage(4, fibers_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + size = 0; + if (java.lang.Float.floatToRawIntBits(length_) != 0) { + size += com.google.protobuf.CodedOutputStream.computeFloatSize(1, length_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(source_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, source_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(target_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, target_); + } + for (int i = 0; i < fibers_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, fibers_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.OpticalLinkDetails)) { + return super.equals(obj); + } + context.ContextOuterClass.OpticalLinkDetails other = (context.ContextOuterClass.OpticalLinkDetails) obj; + if (java.lang.Float.floatToIntBits(getLength()) != java.lang.Float.floatToIntBits(other.getLength())) + return false; + if (!getSource().equals(other.getSource())) + return false; + if (!getTarget().equals(other.getTarget())) + return false; + if (!getFibersList().equals(other.getFibersList())) + return false; + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + LENGTH_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits(getLength()); + hash = (37 * hash) + SOURCE_FIELD_NUMBER; + hash = (53 * hash) + getSource().hashCode(); + hash = (37 * hash) + TARGET_FIELD_NUMBER; + hash = (53 * hash) + getTarget().hashCode(); + if (getFibersCount() > 0) { + hash = (37 * hash) + FIBERS_FIELD_NUMBER; + hash = (53 * hash) + getFibersList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(context.ContextOuterClass.OpticalLinkDetails prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code context.OpticalLinkDetails} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:context.OpticalLinkDetails) + context.ContextOuterClass.OpticalLinkDetailsOrBuilder { + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalLinkDetails_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalLinkDetails_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalLinkDetails.class, context.ContextOuterClass.OpticalLinkDetails.Builder.class); + } + + // Construct using context.ContextOuterClass.OpticalLinkDetails.newBuilder() + private Builder() { + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + length_ = 0F; + source_ = ""; + target_ = ""; + if (fibersBuilder_ == null) { + fibers_ = java.util.Collections.emptyList(); + } else { + fibers_ = null; + fibersBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_OpticalLinkDetails_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLinkDetails getDefaultInstanceForType() { + return context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLinkDetails build() { + context.ContextOuterClass.OpticalLinkDetails result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLinkDetails buildPartial() { + context.ContextOuterClass.OpticalLinkDetails result = new context.ContextOuterClass.OpticalLinkDetails(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(context.ContextOuterClass.OpticalLinkDetails result) { + if (fibersBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0)) { + fibers_ = java.util.Collections.unmodifiableList(fibers_); + bitField0_ = (bitField0_ & ~0x00000008); + } + result.fibers_ = fibers_; + } else { + result.fibers_ = fibersBuilder_.build(); + } + } + + private void buildPartial0(context.ContextOuterClass.OpticalLinkDetails result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.length_ = length_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.source_ = source_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.target_ = target_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.OpticalLinkDetails) { + return mergeFrom((context.ContextOuterClass.OpticalLinkDetails) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.OpticalLinkDetails other) { + if (other == context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance()) + return this; + if (other.getLength() != 0F) { + setLength(other.getLength()); + } + if (!other.getSource().isEmpty()) { + source_ = other.source_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getTarget().isEmpty()) { + target_ = other.target_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (fibersBuilder_ == null) { + if (!other.fibers_.isEmpty()) { + if (fibers_.isEmpty()) { + fibers_ = other.fibers_; + bitField0_ = (bitField0_ & ~0x00000008); + } else { + ensureFibersIsMutable(); + fibers_.addAll(other.fibers_); + } + onChanged(); + } + } else { + if (!other.fibers_.isEmpty()) { + if (fibersBuilder_.isEmpty()) { + fibersBuilder_.dispose(); + fibersBuilder_ = null; + fibers_ = other.fibers_; + bitField0_ = (bitField0_ & ~0x00000008); + fibersBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getFibersFieldBuilder() : null; + } else { + fibersBuilder_.addAllMessages(other.fibers_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 13: + { + length_ = input.readFloat(); + bitField0_ |= 0x00000001; + break; + } + // case 13 + case 18: + { + source_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } + // case 18 + case 26: + { + target_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } + // case 26 + case 34: + { + context.ContextOuterClass.Fiber m = input.readMessage(context.ContextOuterClass.Fiber.parser(), extensionRegistry); + if (fibersBuilder_ == null) { + ensureFibersIsMutable(); + fibers_.add(m); + } else { + fibersBuilder_.addMessage(m); + } + break; + } + // case 34 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + // was an endgroup tag + done = true; + } + break; + } + } + // switch (tag) + } + // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } + // finally + return this; + } + + private int bitField0_; + + private float length_; + + /** + * float length = 1; + * @return The length. + */ + @java.lang.Override + public float getLength() { + return length_; + } + + /** + * float length = 1; + * @param value The length to set. + * @return This builder for chaining. + */ + public Builder setLength(float value) { + length_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * float length = 1; + * @return This builder for chaining. + */ + public Builder clearLength() { + bitField0_ = (bitField0_ & ~0x00000001); + length_ = 0F; + onChanged(); + return this; + } + + private java.lang.Object source_ = ""; + + /** + * string source = 2; + * @return The source. + */ + public java.lang.String getSource() { + java.lang.Object ref = source_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + source_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string source = 2; + * @return The bytes for source. + */ + public com.google.protobuf.ByteString getSourceBytes() { + java.lang.Object ref = source_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + source_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string source = 2; + * @param value The source to set. + * @return This builder for chaining. + */ + public Builder setSource(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + source_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * string source = 2; + * @return This builder for chaining. + */ + public Builder clearSource() { + source_ = getDefaultInstance().getSource(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * string source = 2; + * @param value The bytes for source to set. + * @return This builder for chaining. + */ + public Builder setSourceBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + source_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object target_ = ""; + + /** + * string target = 3; + * @return The target. + */ + public java.lang.String getTarget() { + java.lang.Object ref = target_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + target_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string target = 3; + * @return The bytes for target. + */ + public com.google.protobuf.ByteString getTargetBytes() { + java.lang.Object ref = target_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + target_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string target = 3; + * @param value The target to set. + * @return This builder for chaining. + */ + public Builder setTarget(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + target_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * string target = 3; + * @return This builder for chaining. + */ + public Builder clearTarget() { + target_ = getDefaultInstance().getTarget(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * string target = 3; + * @param value The bytes for target to set. + * @return This builder for chaining. + */ + public Builder setTargetBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + target_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.util.List fibers_ = java.util.Collections.emptyList(); + + private void ensureFibersIsMutable() { + if (!((bitField0_ & 0x00000008) != 0)) { + fibers_ = new java.util.ArrayList(fibers_); + bitField0_ |= 0x00000008; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3 fibersBuilder_; + + /** + * repeated .context.Fiber fibers = 4; + */ + public java.util.List getFibersList() { + if (fibersBuilder_ == null) { + return java.util.Collections.unmodifiableList(fibers_); + } else { + return fibersBuilder_.getMessageList(); + } + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public int getFibersCount() { + if (fibersBuilder_ == null) { + return fibers_.size(); + } else { + return fibersBuilder_.getCount(); + } + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public context.ContextOuterClass.Fiber getFibers(int index) { + if (fibersBuilder_ == null) { + return fibers_.get(index); + } else { + return fibersBuilder_.getMessage(index); + } + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder setFibers(int index, context.ContextOuterClass.Fiber value) { + if (fibersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureFibersIsMutable(); + fibers_.set(index, value); + onChanged(); + } else { + fibersBuilder_.setMessage(index, value); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder setFibers(int index, context.ContextOuterClass.Fiber.Builder builderForValue) { + if (fibersBuilder_ == null) { + ensureFibersIsMutable(); + fibers_.set(index, builderForValue.build()); + onChanged(); + } else { + fibersBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder addFibers(context.ContextOuterClass.Fiber value) { + if (fibersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureFibersIsMutable(); + fibers_.add(value); + onChanged(); + } else { + fibersBuilder_.addMessage(value); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder addFibers(int index, context.ContextOuterClass.Fiber value) { + if (fibersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureFibersIsMutable(); + fibers_.add(index, value); + onChanged(); + } else { + fibersBuilder_.addMessage(index, value); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder addFibers(context.ContextOuterClass.Fiber.Builder builderForValue) { + if (fibersBuilder_ == null) { + ensureFibersIsMutable(); + fibers_.add(builderForValue.build()); + onChanged(); + } else { + fibersBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder addFibers(int index, context.ContextOuterClass.Fiber.Builder builderForValue) { + if (fibersBuilder_ == null) { + ensureFibersIsMutable(); + fibers_.add(index, builderForValue.build()); + onChanged(); + } else { + fibersBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder addAllFibers(java.lang.Iterable values) { + if (fibersBuilder_ == null) { + ensureFibersIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, fibers_); + onChanged(); + } else { + fibersBuilder_.addAllMessages(values); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder clearFibers() { + if (fibersBuilder_ == null) { + fibers_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + } else { + fibersBuilder_.clear(); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder removeFibers(int index) { + if (fibersBuilder_ == null) { + ensureFibersIsMutable(); + fibers_.remove(index); + onChanged(); + } else { + fibersBuilder_.remove(index); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public context.ContextOuterClass.Fiber.Builder getFibersBuilder(int index) { + return getFibersFieldBuilder().getBuilder(index); + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public context.ContextOuterClass.FiberOrBuilder getFibersOrBuilder(int index) { + if (fibersBuilder_ == null) { + return fibers_.get(index); + } else { + return fibersBuilder_.getMessageOrBuilder(index); + } + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public java.util.List getFibersOrBuilderList() { + if (fibersBuilder_ != null) { + return fibersBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(fibers_); + } + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public context.ContextOuterClass.Fiber.Builder addFibersBuilder() { + return getFibersFieldBuilder().addBuilder(context.ContextOuterClass.Fiber.getDefaultInstance()); + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public context.ContextOuterClass.Fiber.Builder addFibersBuilder(int index) { + return getFibersFieldBuilder().addBuilder(index, context.ContextOuterClass.Fiber.getDefaultInstance()); + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public java.util.List getFibersBuilderList() { + return getFibersFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilderV3 getFibersFieldBuilder() { + if (fibersBuilder_ == null) { + fibersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(fibers_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean()); + fibers_ = null; + } + return fibersBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + // @@protoc_insertion_point(builder_scope:context.OpticalLinkDetails) + } + + // @@protoc_insertion_point(class_scope:context.OpticalLinkDetails) + private static final context.ContextOuterClass.OpticalLinkDetails DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.OpticalLinkDetails(); + } + + public static context.ContextOuterClass.OpticalLinkDetails getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + + @java.lang.Override + public OpticalLinkDetails parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLinkDetails getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface OpticalLinkOrBuilder extends // @@protoc_insertion_point(interface_extends:context.OpticalLink) + com.google.protobuf.MessageOrBuilder { + + /** + * string name = 1; + * @return The name. + */ + java.lang.String getName(); + + /** + * string name = 1; + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * .context.OpticalLinkDetails details = 2; + * @return Whether the details field is set. + */ + boolean hasDetails(); + + /** + * .context.OpticalLinkDetails details = 2; + * @return The details. + */ + context.ContextOuterClass.OpticalLinkDetails getDetails(); + + /** + * .context.OpticalLinkDetails details = 2; + */ + context.ContextOuterClass.OpticalLinkDetailsOrBuilder getDetailsOrBuilder(); + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + * @return Whether the opticalLinkUuid field is set. + */ + boolean hasOpticalLinkUuid(); + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + * @return The opticalLinkUuid. + */ + context.ContextOuterClass.OpticalLinkId getOpticalLinkUuid(); + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + context.ContextOuterClass.OpticalLinkIdOrBuilder getOpticalLinkUuidOrBuilder(); + } + + /** + * Protobuf type {@code context.OpticalLink} + */ + public static final class OpticalLink extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:context.OpticalLink) + OpticalLinkOrBuilder { + + private static final long serialVersionUID = 0L; + + // Use OpticalLink.newBuilder() to construct. + private OpticalLink(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private OpticalLink() { + name_ = ""; + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new OpticalLink(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalLink_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalLink_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalLink.class, context.ContextOuterClass.OpticalLink.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * string name = 1; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * string name = 1; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DETAILS_FIELD_NUMBER = 2; + + private context.ContextOuterClass.OpticalLinkDetails details_; + + /** + * .context.OpticalLinkDetails details = 2; + * @return Whether the details field is set. + */ + @java.lang.Override + public boolean hasDetails() { + return details_ != null; + } + + /** + * .context.OpticalLinkDetails details = 2; + * @return The details. + */ + @java.lang.Override + public context.ContextOuterClass.OpticalLinkDetails getDetails() { + return details_ == null ? context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance() : details_; + } + + /** + * .context.OpticalLinkDetails details = 2; + */ + @java.lang.Override + public context.ContextOuterClass.OpticalLinkDetailsOrBuilder getDetailsOrBuilder() { + return details_ == null ? context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance() : details_; + } + + public static final int OPTICAL_LINK_UUID_FIELD_NUMBER = 3; + + private context.ContextOuterClass.OpticalLinkId opticalLinkUuid_; + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + * @return Whether the opticalLinkUuid field is set. + */ + @java.lang.Override + public boolean hasOpticalLinkUuid() { + return opticalLinkUuid_ != null; + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + * @return The opticalLinkUuid. + */ + @java.lang.Override + public context.ContextOuterClass.OpticalLinkId getOpticalLinkUuid() { + return opticalLinkUuid_ == null ? context.ContextOuterClass.OpticalLinkId.getDefaultInstance() : opticalLinkUuid_; + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + @java.lang.Override + public context.ContextOuterClass.OpticalLinkIdOrBuilder getOpticalLinkUuidOrBuilder() { + return opticalLinkUuid_ == null ? context.ContextOuterClass.OpticalLinkId.getDefaultInstance() : opticalLinkUuid_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); + } + if (details_ != null) { + output.writeMessage(2, getDetails()); + } + if (opticalLinkUuid_ != null) { + output.writeMessage(3, getOpticalLinkUuid()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); + } + if (details_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getDetails()); + } + if (opticalLinkUuid_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getOpticalLinkUuid()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.OpticalLink)) { + return super.equals(obj); + } + context.ContextOuterClass.OpticalLink other = (context.ContextOuterClass.OpticalLink) obj; + if (!getName().equals(other.getName())) + return false; + if (hasDetails() != other.hasDetails()) + return false; + if (hasDetails()) { + if (!getDetails().equals(other.getDetails())) + return false; + } + if (hasOpticalLinkUuid() != other.hasOpticalLinkUuid()) + return false; + if (hasOpticalLinkUuid()) { + if (!getOpticalLinkUuid().equals(other.getOpticalLinkUuid())) + return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + if (hasDetails()) { + hash = (37 * hash) + DETAILS_FIELD_NUMBER; + hash = (53 * hash) + getDetails().hashCode(); + } + if (hasOpticalLinkUuid()) { + hash = (37 * hash) + OPTICAL_LINK_UUID_FIELD_NUMBER; + hash = (53 * hash) + getOpticalLinkUuid().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.OpticalLink parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLink parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLink parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(context.ContextOuterClass.OpticalLink prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code context.OpticalLink} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:context.OpticalLink) + context.ContextOuterClass.OpticalLinkOrBuilder { + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalLink_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalLink_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalLink.class, context.ContextOuterClass.OpticalLink.Builder.class); + } + + // Construct using context.ContextOuterClass.OpticalLink.newBuilder() + private Builder() { + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + details_ = null; + if (detailsBuilder_ != null) { + detailsBuilder_.dispose(); + detailsBuilder_ = null; + } + opticalLinkUuid_ = null; + if (opticalLinkUuidBuilder_ != null) { + opticalLinkUuidBuilder_.dispose(); + opticalLinkUuidBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_OpticalLink_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLink getDefaultInstanceForType() { + return context.ContextOuterClass.OpticalLink.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLink build() { + context.ContextOuterClass.OpticalLink result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLink buildPartial() { + context.ContextOuterClass.OpticalLink result = new context.ContextOuterClass.OpticalLink(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(context.ContextOuterClass.OpticalLink result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.details_ = detailsBuilder_ == null ? details_ : detailsBuilder_.build(); + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.opticalLinkUuid_ = opticalLinkUuidBuilder_ == null ? opticalLinkUuid_ : opticalLinkUuidBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.OpticalLink) { + return mergeFrom((context.ContextOuterClass.OpticalLink) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.OpticalLink other) { + if (other == context.ContextOuterClass.OpticalLink.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.hasDetails()) { + mergeDetails(other.getDetails()); + } + if (other.hasOpticalLinkUuid()) { + mergeOpticalLinkUuid(other.getOpticalLinkUuid()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } + // case 10 + case 18: + { + input.readMessage(getDetailsFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } + // case 18 + case 26: + { + input.readMessage(getOpticalLinkUuidFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000004; + break; + } + // case 26 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + // was an endgroup tag + done = true; + } + break; + } + } + // switch (tag) + } + // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } + // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * string name = 1; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string name = 1; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string name = 1; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * string name = 1; + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * string name = 1; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private context.ContextOuterClass.OpticalLinkDetails details_; + + private com.google.protobuf.SingleFieldBuilderV3 detailsBuilder_; + + /** + * .context.OpticalLinkDetails details = 2; + * @return Whether the details field is set. + */ + public boolean hasDetails() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * .context.OpticalLinkDetails details = 2; + * @return The details. + */ + public context.ContextOuterClass.OpticalLinkDetails getDetails() { + if (detailsBuilder_ == null) { + return details_ == null ? context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance() : details_; + } else { + return detailsBuilder_.getMessage(); + } + } + + /** + * .context.OpticalLinkDetails details = 2; + */ + public Builder setDetails(context.ContextOuterClass.OpticalLinkDetails value) { + if (detailsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + details_ = value; + } else { + detailsBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * .context.OpticalLinkDetails details = 2; + */ + public Builder setDetails(context.ContextOuterClass.OpticalLinkDetails.Builder builderForValue) { + if (detailsBuilder_ == null) { + details_ = builderForValue.build(); + } else { + detailsBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * .context.OpticalLinkDetails details = 2; + */ + public Builder mergeDetails(context.ContextOuterClass.OpticalLinkDetails value) { + if (detailsBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && details_ != null && details_ != context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance()) { + getDetailsBuilder().mergeFrom(value); + } else { + details_ = value; + } + } else { + detailsBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * .context.OpticalLinkDetails details = 2; + */ + public Builder clearDetails() { + bitField0_ = (bitField0_ & ~0x00000002); + details_ = null; + if (detailsBuilder_ != null) { + detailsBuilder_.dispose(); + detailsBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * .context.OpticalLinkDetails details = 2; + */ + public context.ContextOuterClass.OpticalLinkDetails.Builder getDetailsBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return getDetailsFieldBuilder().getBuilder(); + } + + /** + * .context.OpticalLinkDetails details = 2; + */ + public context.ContextOuterClass.OpticalLinkDetailsOrBuilder getDetailsOrBuilder() { + if (detailsBuilder_ != null) { + return detailsBuilder_.getMessageOrBuilder(); + } else { + return details_ == null ? context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance() : details_; + } + } + + /** + * .context.OpticalLinkDetails details = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3 getDetailsFieldBuilder() { + if (detailsBuilder_ == null) { + detailsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3(getDetails(), getParentForChildren(), isClean()); + details_ = null; + } + return detailsBuilder_; + } + + private context.ContextOuterClass.OpticalLinkId opticalLinkUuid_; + + private com.google.protobuf.SingleFieldBuilderV3 opticalLinkUuidBuilder_; + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + * @return Whether the opticalLinkUuid field is set. + */ + public boolean hasOpticalLinkUuid() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + * @return The opticalLinkUuid. + */ + public context.ContextOuterClass.OpticalLinkId getOpticalLinkUuid() { + if (opticalLinkUuidBuilder_ == null) { + return opticalLinkUuid_ == null ? context.ContextOuterClass.OpticalLinkId.getDefaultInstance() : opticalLinkUuid_; + } else { + return opticalLinkUuidBuilder_.getMessage(); + } + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + public Builder setOpticalLinkUuid(context.ContextOuterClass.OpticalLinkId value) { + if (opticalLinkUuidBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + opticalLinkUuid_ = value; + } else { + opticalLinkUuidBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + public Builder setOpticalLinkUuid(context.ContextOuterClass.OpticalLinkId.Builder builderForValue) { + if (opticalLinkUuidBuilder_ == null) { + opticalLinkUuid_ = builderForValue.build(); + } else { + opticalLinkUuidBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + public Builder mergeOpticalLinkUuid(context.ContextOuterClass.OpticalLinkId value) { + if (opticalLinkUuidBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) && opticalLinkUuid_ != null && opticalLinkUuid_ != context.ContextOuterClass.OpticalLinkId.getDefaultInstance()) { + getOpticalLinkUuidBuilder().mergeFrom(value); + } else { + opticalLinkUuid_ = value; + } + } else { + opticalLinkUuidBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + public Builder clearOpticalLinkUuid() { + bitField0_ = (bitField0_ & ~0x00000004); + opticalLinkUuid_ = null; + if (opticalLinkUuidBuilder_ != null) { + opticalLinkUuidBuilder_.dispose(); + opticalLinkUuidBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + public context.ContextOuterClass.OpticalLinkId.Builder getOpticalLinkUuidBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return getOpticalLinkUuidFieldBuilder().getBuilder(); + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + public context.ContextOuterClass.OpticalLinkIdOrBuilder getOpticalLinkUuidOrBuilder() { + if (opticalLinkUuidBuilder_ != null) { + return opticalLinkUuidBuilder_.getMessageOrBuilder(); + } else { + return opticalLinkUuid_ == null ? context.ContextOuterClass.OpticalLinkId.getDefaultInstance() : opticalLinkUuid_; + } + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3 getOpticalLinkUuidFieldBuilder() { + if (opticalLinkUuidBuilder_ == null) { + opticalLinkUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3(getOpticalLinkUuid(), getParentForChildren(), isClean()); + opticalLinkUuid_ = null; + } + return opticalLinkUuidBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + // @@protoc_insertion_point(builder_scope:context.OpticalLink) + } + + // @@protoc_insertion_point(class_scope:context.OpticalLink) + private static final context.ContextOuterClass.OpticalLink DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.OpticalLink(); + } + + public static context.ContextOuterClass.OpticalLink getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + + @java.lang.Override + public OpticalLink parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLink getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Empty_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Empty_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Uuid_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Uuid_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Timestamp_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Timestamp_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Event_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Event_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ContextId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ContextId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Context_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Context_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ContextIdList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ContextIdList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ContextList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ContextList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ContextEvent_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ContextEvent_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Topology_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Topology_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyDetails_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyDetails_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyIdList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyIdList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyEvent_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyEvent_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Device_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Device_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Component_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Component_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Component_AttributesEntry_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Component_AttributesEntry_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceConfig_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceConfig_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceIdList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceIdList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceFilter_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceFilter_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceEvent_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceEvent_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkAttributes_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkAttributes_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Link_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Link_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkIdList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkIdList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkEvent_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkEvent_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Service_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Service_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceStatus_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceStatus_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceConfig_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceConfig_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceIdList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceIdList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceFilter_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceFilter_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceEvent_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceEvent_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Slice_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Slice_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceOwner_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceOwner_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceStatus_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceStatus_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceConfig_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceConfig_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceIdList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceIdList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceFilter_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceFilter_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceEvent_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceEvent_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ConnectionId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ConnectionId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ConnectionSettings_L0_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ConnectionSettings_L0_fieldAccessorTable; @@ -69611,6 +76651,38 @@ public final class ContextOuterClass { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_AuthenticationResult_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_OpticalConfigId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_OpticalConfigId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_OpticalConfig_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_OpticalConfig_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_OpticalConfigList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_OpticalConfigList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_OpticalLinkId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_OpticalLinkId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_FiberId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_FiberId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Fiber_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Fiber_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_OpticalLinkDetails_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_OpticalLinkDetails_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_OpticalLink_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_OpticalLink_fieldAccessorTable; + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { return descriptor; } @@ -69618,7 +76690,7 @@ public final class ContextOuterClass { private static com.google.protobuf.Descriptors.FileDescriptor descriptor; static { - java.lang.String[] descriptorData = { "\n\rcontext.proto\022\007context\032\tacl.proto\032\026kpi" + "_sample_types.proto\"\007\n\005Empty\"\024\n\004Uuid\022\014\n\004" + "uuid\030\001 \001(\t\"\036\n\tTimestamp\022\021\n\ttimestamp\030\001 \001" + "(\001\"Z\n\005Event\022%\n\ttimestamp\030\001 \001(\0132\022.context" + ".Timestamp\022*\n\nevent_type\030\002 \001(\0162\026.context" + ".EventTypeEnum\"0\n\tContextId\022#\n\014context_u" + "uid\030\001 \001(\0132\r.context.Uuid\"\351\001\n\007Context\022&\n\n" + "context_id\030\001 \001(\0132\022.context.ContextId\022\014\n\004" + "name\030\002 \001(\t\022)\n\014topology_ids\030\003 \003(\0132\023.conte" + "xt.TopologyId\022\'\n\013service_ids\030\004 \003(\0132\022.con" + "text.ServiceId\022#\n\tslice_ids\030\005 \003(\0132\020.cont" + "ext.SliceId\022/\n\ncontroller\030\006 \001(\0132\033.contex" + "t.TeraFlowController\"8\n\rContextIdList\022\'\n" + "\013context_ids\030\001 \003(\0132\022.context.ContextId\"1" + "\n\013ContextList\022\"\n\010contexts\030\001 \003(\0132\020.contex" + "t.Context\"U\n\014ContextEvent\022\035\n\005event\030\001 \001(\013" + "2\016.context.Event\022&\n\ncontext_id\030\002 \001(\0132\022.c" + "ontext.ContextId\"Z\n\nTopologyId\022&\n\ncontex" + "t_id\030\001 \001(\0132\022.context.ContextId\022$\n\rtopolo" + "gy_uuid\030\002 \001(\0132\r.context.Uuid\"\214\001\n\010Topolog" + "y\022(\n\013topology_id\030\001 \001(\0132\023.context.Topolog" + "yId\022\014\n\004name\030\002 \001(\t\022%\n\ndevice_ids\030\003 \003(\0132\021." + "context.DeviceId\022!\n\010link_ids\030\004 \003(\0132\017.con" + "text.LinkId\"\211\001\n\017TopologyDetails\022(\n\013topol" + "ogy_id\030\001 \001(\0132\023.context.TopologyId\022\014\n\004nam" + "e\030\002 \001(\t\022 \n\007devices\030\003 \003(\0132\017.context.Devic" + "e\022\034\n\005links\030\004 \003(\0132\r.context.Link\";\n\016Topol" + "ogyIdList\022)\n\014topology_ids\030\001 \003(\0132\023.contex" + "t.TopologyId\"5\n\014TopologyList\022%\n\ntopologi" + "es\030\001 \003(\0132\021.context.Topology\"X\n\rTopologyE" + "vent\022\035\n\005event\030\001 \001(\0132\016.context.Event\022(\n\013t" + "opology_id\030\002 \001(\0132\023.context.TopologyId\".\n" + "\010DeviceId\022\"\n\013device_uuid\030\001 \001(\0132\r.context" + ".Uuid\"\372\002\n\006Device\022$\n\tdevice_id\030\001 \001(\0132\021.co" + "ntext.DeviceId\022\014\n\004name\030\002 \001(\t\022\023\n\013device_t" + "ype\030\003 \001(\t\022,\n\rdevice_config\030\004 \001(\0132\025.conte" + "xt.DeviceConfig\022G\n\031device_operational_st" + "atus\030\005 \001(\0162$.context.DeviceOperationalSt" + "atusEnum\0221\n\016device_drivers\030\006 \003(\0162\031.conte" + "xt.DeviceDriverEnum\022+\n\020device_endpoints\030" + "\007 \003(\0132\021.context.EndPoint\022&\n\ncomponents\030\010" + " \003(\0132\022.context.Component\022(\n\rcontroller_i" + "d\030\t \001(\0132\021.context.DeviceId\"\311\001\n\tComponent" + "\022%\n\016component_uuid\030\001 \001(\0132\r.context.Uuid\022" + "\014\n\004name\030\002 \001(\t\022\014\n\004type\030\003 \001(\t\0226\n\nattribute" + "s\030\004 \003(\0132\".context.Component.AttributesEn" + "try\022\016\n\006parent\030\005 \001(\t\0321\n\017AttributesEntry\022\013" + "\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"9\n\014Device" + "Config\022)\n\014config_rules\030\001 \003(\0132\023.context.C" + "onfigRule\"5\n\014DeviceIdList\022%\n\ndevice_ids\030" + "\001 \003(\0132\021.context.DeviceId\".\n\nDeviceList\022 " + "\n\007devices\030\001 \003(\0132\017.context.Device\"\216\001\n\014Dev" + "iceFilter\022)\n\ndevice_ids\030\001 \001(\0132\025.context." + "DeviceIdList\022\031\n\021include_endpoints\030\002 \001(\010\022" + "\034\n\024include_config_rules\030\003 \001(\010\022\032\n\022include" + "_components\030\004 \001(\010\"\200\001\n\013DeviceEvent\022\035\n\005eve" + "nt\030\001 \001(\0132\016.context.Event\022$\n\tdevice_id\030\002 " + "\001(\0132\021.context.DeviceId\022,\n\rdevice_config\030" + "\003 \001(\0132\025.context.DeviceConfig\"*\n\006LinkId\022 " + "\n\tlink_uuid\030\001 \001(\0132\r.context.Uuid\"I\n\016Link" + "Attributes\022\033\n\023total_capacity_gbps\030\001 \001(\002\022" + "\032\n\022used_capacity_gbps\030\002 \001(\002\"\223\001\n\004Link\022 \n\007" + "link_id\030\001 \001(\0132\017.context.LinkId\022\014\n\004name\030\002" + " \001(\t\022.\n\021link_endpoint_ids\030\003 \003(\0132\023.contex" + "t.EndPointId\022+\n\nattributes\030\004 \001(\0132\027.conte" + "xt.LinkAttributes\"/\n\nLinkIdList\022!\n\010link_" + "ids\030\001 \003(\0132\017.context.LinkId\"(\n\010LinkList\022\034" + "\n\005links\030\001 \003(\0132\r.context.Link\"L\n\tLinkEven" + "t\022\035\n\005event\030\001 \001(\0132\016.context.Event\022 \n\007link" + "_id\030\002 \001(\0132\017.context.LinkId\"X\n\tServiceId\022" + "&\n\ncontext_id\030\001 \001(\0132\022.context.ContextId\022" + "#\n\014service_uuid\030\002 \001(\0132\r.context.Uuid\"\333\002\n" + "\007Service\022&\n\nservice_id\030\001 \001(\0132\022.context.S" + "erviceId\022\014\n\004name\030\002 \001(\t\022.\n\014service_type\030\003" + " \001(\0162\030.context.ServiceTypeEnum\0221\n\024servic" + "e_endpoint_ids\030\004 \003(\0132\023.context.EndPointI" + "d\0220\n\023service_constraints\030\005 \003(\0132\023.context" + ".Constraint\022.\n\016service_status\030\006 \001(\0132\026.co" + "ntext.ServiceStatus\022.\n\016service_config\030\007 " + "\001(\0132\026.context.ServiceConfig\022%\n\ttimestamp" + "\030\010 \001(\0132\022.context.Timestamp\"C\n\rServiceSta" + "tus\0222\n\016service_status\030\001 \001(\0162\032.context.Se" + "rviceStatusEnum\":\n\rServiceConfig\022)\n\014conf" + "ig_rules\030\001 \003(\0132\023.context.ConfigRule\"8\n\rS" + "erviceIdList\022\'\n\013service_ids\030\001 \003(\0132\022.cont" + "ext.ServiceId\"1\n\013ServiceList\022\"\n\010services" + "\030\001 \003(\0132\020.context.Service\"\225\001\n\rServiceFilt" + "er\022+\n\013service_ids\030\001 \001(\0132\026.context.Servic" + "eIdList\022\034\n\024include_endpoint_ids\030\002 \001(\010\022\033\n" + "\023include_constraints\030\003 \001(\010\022\034\n\024include_co" + "nfig_rules\030\004 \001(\010\"U\n\014ServiceEvent\022\035\n\005even" + "t\030\001 \001(\0132\016.context.Event\022&\n\nservice_id\030\002 " + "\001(\0132\022.context.ServiceId\"T\n\007SliceId\022&\n\nco" + "ntext_id\030\001 \001(\0132\022.context.ContextId\022!\n\nsl" + "ice_uuid\030\002 \001(\0132\r.context.Uuid\"\240\003\n\005Slice\022" + "\"\n\010slice_id\030\001 \001(\0132\020.context.SliceId\022\014\n\004n" + "ame\030\002 \001(\t\022/\n\022slice_endpoint_ids\030\003 \003(\0132\023." + "context.EndPointId\022.\n\021slice_constraints\030" + "\004 \003(\0132\023.context.Constraint\022-\n\021slice_serv" + "ice_ids\030\005 \003(\0132\022.context.ServiceId\022,\n\022sli" + "ce_subslice_ids\030\006 \003(\0132\020.context.SliceId\022" + "*\n\014slice_status\030\007 \001(\0132\024.context.SliceSta" + "tus\022*\n\014slice_config\030\010 \001(\0132\024.context.Slic" + "eConfig\022(\n\013slice_owner\030\t \001(\0132\023.context.S" + "liceOwner\022%\n\ttimestamp\030\n \001(\0132\022.context.T" + "imestamp\"E\n\nSliceOwner\022!\n\nowner_uuid\030\001 \001" + "(\0132\r.context.Uuid\022\024\n\014owner_string\030\002 \001(\t\"" + "=\n\013SliceStatus\022.\n\014slice_status\030\001 \001(\0162\030.c" + "ontext.SliceStatusEnum\"8\n\013SliceConfig\022)\n" + "\014config_rules\030\001 \003(\0132\023.context.ConfigRule" + "\"2\n\013SliceIdList\022#\n\tslice_ids\030\001 \003(\0132\020.con" + "text.SliceId\"+\n\tSliceList\022\036\n\006slices\030\001 \003(" + "\0132\016.context.Slice\"\312\001\n\013SliceFilter\022\'\n\tsli" + "ce_ids\030\001 \001(\0132\024.context.SliceIdList\022\034\n\024in" + "clude_endpoint_ids\030\002 \001(\010\022\033\n\023include_cons" + "traints\030\003 \001(\010\022\033\n\023include_service_ids\030\004 \001" + "(\010\022\034\n\024include_subslice_ids\030\005 \001(\010\022\034\n\024incl" + "ude_config_rules\030\006 \001(\010\"O\n\nSliceEvent\022\035\n\005" + "event\030\001 \001(\0132\016.context.Event\022\"\n\010slice_id\030" + "\002 \001(\0132\020.context.SliceId\"6\n\014ConnectionId\022" + "&\n\017connection_uuid\030\001 \001(\0132\r.context.Uuid\"" + "2\n\025ConnectionSettings_L0\022\031\n\021lsp_symbolic" + "_name\030\001 \001(\t\"\236\001\n\025ConnectionSettings_L2\022\027\n" + "\017src_mac_address\030\001 \001(\t\022\027\n\017dst_mac_addres" + "s\030\002 \001(\t\022\022\n\nether_type\030\003 \001(\r\022\017\n\007vlan_id\030\004" + " \001(\r\022\022\n\nmpls_label\030\005 \001(\r\022\032\n\022mpls_traffic" + "_class\030\006 \001(\r\"t\n\025ConnectionSettings_L3\022\026\n" + "\016src_ip_address\030\001 \001(\t\022\026\n\016dst_ip_address\030" + "\002 \001(\t\022\014\n\004dscp\030\003 \001(\r\022\020\n\010protocol\030\004 \001(\r\022\013\n" + "\003ttl\030\005 \001(\r\"[\n\025ConnectionSettings_L4\022\020\n\010s" + "rc_port\030\001 \001(\r\022\020\n\010dst_port\030\002 \001(\r\022\021\n\ttcp_f" + "lags\030\003 \001(\r\022\013\n\003ttl\030\004 \001(\r\"\304\001\n\022ConnectionSe" + "ttings\022*\n\002l0\030\001 \001(\0132\036.context.ConnectionS" + "ettings_L0\022*\n\002l2\030\002 \001(\0132\036.context.Connect" + "ionSettings_L2\022*\n\002l3\030\003 \001(\0132\036.context.Con" + "nectionSettings_L3\022*\n\002l4\030\004 \001(\0132\036.context" + ".ConnectionSettings_L4\"\363\001\n\nConnection\022,\n" + "\rconnection_id\030\001 \001(\0132\025.context.Connectio" + "nId\022&\n\nservice_id\030\002 \001(\0132\022.context.Servic" + "eId\0223\n\026path_hops_endpoint_ids\030\003 \003(\0132\023.co" + "ntext.EndPointId\022+\n\017sub_service_ids\030\004 \003(" + "\0132\022.context.ServiceId\022-\n\010settings\030\005 \001(\0132" + "\033.context.ConnectionSettings\"A\n\020Connecti" + "onIdList\022-\n\016connection_ids\030\001 \003(\0132\025.conte" + "xt.ConnectionId\":\n\016ConnectionList\022(\n\013con" + "nections\030\001 \003(\0132\023.context.Connection\"^\n\017C" + "onnectionEvent\022\035\n\005event\030\001 \001(\0132\016.context." + "Event\022,\n\rconnection_id\030\002 \001(\0132\025.context.C" + "onnectionId\"\202\001\n\nEndPointId\022(\n\013topology_i" + "d\030\001 \001(\0132\023.context.TopologyId\022$\n\tdevice_i" + "d\030\002 \001(\0132\021.context.DeviceId\022$\n\rendpoint_u" + "uid\030\003 \001(\0132\r.context.Uuid\"\302\001\n\010EndPoint\022(\n" + "\013endpoint_id\030\001 \001(\0132\023.context.EndPointId\022" + "\014\n\004name\030\002 \001(\t\022\025\n\rendpoint_type\030\003 \001(\t\0229\n\020" + "kpi_sample_types\030\004 \003(\0162\037.kpi_sample_type" + "s.KpiSampleType\022,\n\021endpoint_location\030\005 \001" + "(\0132\021.context.Location\"{\n\014EndPointName\022(\n" + "\013endpoint_id\030\001 \001(\0132\023.context.EndPointId\022" + "\023\n\013device_name\030\002 \001(\t\022\025\n\rendpoint_name\030\003 " + "\001(\t\022\025\n\rendpoint_type\030\004 \001(\t\";\n\016EndPointId" + "List\022)\n\014endpoint_ids\030\001 \003(\0132\023.context.End" + "PointId\"A\n\020EndPointNameList\022-\n\016endpoint_" + "names\030\001 \003(\0132\025.context.EndPointName\"A\n\021Co" + "nfigRule_Custom\022\024\n\014resource_key\030\001 \001(\t\022\026\n" + "\016resource_value\030\002 \001(\t\"]\n\016ConfigRule_ACL\022" + "(\n\013endpoint_id\030\001 \001(\0132\023.context.EndPointI" + "d\022!\n\010rule_set\030\002 \001(\0132\017.acl.AclRuleSet\"\234\001\n" + "\nConfigRule\022)\n\006action\030\001 \001(\0162\031.context.Co" + "nfigActionEnum\022,\n\006custom\030\002 \001(\0132\032.context" + ".ConfigRule_CustomH\000\022&\n\003acl\030\003 \001(\0132\027.cont" + "ext.ConfigRule_ACLH\000B\r\n\013config_rule\"F\n\021C" + "onstraint_Custom\022\027\n\017constraint_type\030\001 \001(" + "\t\022\030\n\020constraint_value\030\002 \001(\t\"E\n\023Constrain" + "t_Schedule\022\027\n\017start_timestamp\030\001 \001(\002\022\025\n\rd" + "uration_days\030\002 \001(\002\"3\n\014GPS_Position\022\020\n\010la" + "titude\030\001 \001(\002\022\021\n\tlongitude\030\002 \001(\002\"W\n\010Locat" + "ion\022\020\n\006region\030\001 \001(\tH\000\022-\n\014gps_position\030\002 " + "\001(\0132\025.context.GPS_PositionH\000B\n\n\010location" + "\"l\n\033Constraint_EndPointLocation\022(\n\013endpo" + "int_id\030\001 \001(\0132\023.context.EndPointId\022#\n\010loc" + "ation\030\002 \001(\0132\021.context.Location\"Y\n\033Constr" + "aint_EndPointPriority\022(\n\013endpoint_id\030\001 \001" + "(\0132\023.context.EndPointId\022\020\n\010priority\030\002 \001(" + "\r\"0\n\026Constraint_SLA_Latency\022\026\n\016e2e_laten" + "cy_ms\030\001 \001(\002\"0\n\027Constraint_SLA_Capacity\022\025" + "\n\rcapacity_gbps\030\001 \001(\002\"c\n\033Constraint_SLA_" + "Availability\022\032\n\022num_disjoint_paths\030\001 \001(\r" + "\022\022\n\nall_active\030\002 \001(\010\022\024\n\014availability\030\003 \001" + "(\002\"V\n\036Constraint_SLA_Isolation_level\0224\n\017" + "isolation_level\030\001 \003(\0162\033.context.Isolatio" + "nLevelEnum\"\242\001\n\025Constraint_Exclusions\022\024\n\014" + "is_permanent\030\001 \001(\010\022%\n\ndevice_ids\030\002 \003(\0132\021" + ".context.DeviceId\022)\n\014endpoint_ids\030\003 \003(\0132" + "\023.context.EndPointId\022!\n\010link_ids\030\004 \003(\0132\017" + ".context.LinkId\"\333\004\n\nConstraint\022-\n\006action" + "\030\001 \001(\0162\035.context.ConstraintActionEnum\022,\n" + "\006custom\030\002 \001(\0132\032.context.Constraint_Custo" + "mH\000\0220\n\010schedule\030\003 \001(\0132\034.context.Constrai" + "nt_ScheduleH\000\022A\n\021endpoint_location\030\004 \001(\013" + "2$.context.Constraint_EndPointLocationH\000" + "\022A\n\021endpoint_priority\030\005 \001(\0132$.context.Co" + "nstraint_EndPointPriorityH\000\0228\n\014sla_capac" + "ity\030\006 \001(\0132 .context.Constraint_SLA_Capac" + "ityH\000\0226\n\013sla_latency\030\007 \001(\0132\037.context.Con" + "straint_SLA_LatencyH\000\022@\n\020sla_availabilit" + "y\030\010 \001(\0132$.context.Constraint_SLA_Availab" + "ilityH\000\022@\n\rsla_isolation\030\t \001(\0132\'.context" + ".Constraint_SLA_Isolation_levelH\000\0224\n\nexc" + "lusions\030\n \001(\0132\036.context.Constraint_Exclu" + "sionsH\000B\014\n\nconstraint\"^\n\022TeraFlowControl" + "ler\022&\n\ncontext_id\030\001 \001(\0132\022.context.Contex" + "tId\022\022\n\nip_address\030\002 \001(\t\022\014\n\004port\030\003 \001(\r\"U\n" + "\024AuthenticationResult\022&\n\ncontext_id\030\001 \001(" + "\0132\022.context.ContextId\022\025\n\rauthenticated\030\002" + " \001(\010*j\n\rEventTypeEnum\022\027\n\023EVENTTYPE_UNDEF" + "INED\020\000\022\024\n\020EVENTTYPE_CREATE\020\001\022\024\n\020EVENTTYP" + "E_UPDATE\020\002\022\024\n\020EVENTTYPE_REMOVE\020\003*\321\002\n\020Dev" + "iceDriverEnum\022\032\n\026DEVICEDRIVER_UNDEFINED\020" + "\000\022\033\n\027DEVICEDRIVER_OPENCONFIG\020\001\022\036\n\032DEVICE" + "DRIVER_TRANSPORT_API\020\002\022\023\n\017DEVICEDRIVER_P" + "4\020\003\022&\n\"DEVICEDRIVER_IETF_NETWORK_TOPOLOG" + "Y\020\004\022\033\n\027DEVICEDRIVER_ONF_TR_532\020\005\022\023\n\017DEVI" + "CEDRIVER_XR\020\006\022\033\n\027DEVICEDRIVER_IETF_L2VPN" + "\020\007\022 \n\034DEVICEDRIVER_GNMI_OPENCONFIG\020\010\022\032\n\026" + "DEVICEDRIVER_FLEXSCALE\020\t\022\032\n\026DEVICEDRIVER" + "_IETF_ACTN\020\n*\217\001\n\033DeviceOperationalStatus" + "Enum\022%\n!DEVICEOPERATIONALSTATUS_UNDEFINE" + "D\020\000\022$\n DEVICEOPERATIONALSTATUS_DISABLED\020" + "\001\022#\n\037DEVICEOPERATIONALSTATUS_ENABLED\020\002*\252" + "\001\n\017ServiceTypeEnum\022\027\n\023SERVICETYPE_UNKNOW" + "N\020\000\022\024\n\020SERVICETYPE_L3NM\020\001\022\024\n\020SERVICETYPE" + "_L2NM\020\002\022)\n%SERVICETYPE_TAPI_CONNECTIVITY" + "_SERVICE\020\003\022\022\n\016SERVICETYPE_TE\020\004\022\023\n\017SERVIC" + "ETYPE_E2E\020\005*\304\001\n\021ServiceStatusEnum\022\033\n\027SER" + "VICESTATUS_UNDEFINED\020\000\022\031\n\025SERVICESTATUS_" + "PLANNED\020\001\022\030\n\024SERVICESTATUS_ACTIVE\020\002\022\032\n\026S" + "ERVICESTATUS_UPDATING\020\003\022!\n\035SERVICESTATUS" + "_PENDING_REMOVAL\020\004\022\036\n\032SERVICESTATUS_SLA_" + "VIOLATED\020\005*\251\001\n\017SliceStatusEnum\022\031\n\025SLICES" + "TATUS_UNDEFINED\020\000\022\027\n\023SLICESTATUS_PLANNED" + "\020\001\022\024\n\020SLICESTATUS_INIT\020\002\022\026\n\022SLICESTATUS_" + "ACTIVE\020\003\022\026\n\022SLICESTATUS_DEINIT\020\004\022\034\n\030SLIC" + "ESTATUS_SLA_VIOLATED\020\005*]\n\020ConfigActionEn" + "um\022\032\n\026CONFIGACTION_UNDEFINED\020\000\022\024\n\020CONFIG" + "ACTION_SET\020\001\022\027\n\023CONFIGACTION_DELETE\020\002*m\n" + "\024ConstraintActionEnum\022\036\n\032CONSTRAINTACTIO" + "N_UNDEFINED\020\000\022\030\n\024CONSTRAINTACTION_SET\020\001\022" + "\033\n\027CONSTRAINTACTION_DELETE\020\002*\203\002\n\022Isolati" + "onLevelEnum\022\020\n\014NO_ISOLATION\020\000\022\026\n\022PHYSICA" + "L_ISOLATION\020\001\022\025\n\021LOGICAL_ISOLATION\020\002\022\025\n\021" + "PROCESS_ISOLATION\020\003\022\035\n\031PHYSICAL_MEMORY_I" + "SOLATION\020\004\022\036\n\032PHYSICAL_NETWORK_ISOLATION" + "\020\005\022\036\n\032VIRTUAL_RESOURCE_ISOLATION\020\006\022\037\n\033NE" + "TWORK_FUNCTIONS_ISOLATION\020\007\022\025\n\021SERVICE_I" + "SOLATION\020\0102\245\026\n\016ContextService\022:\n\016ListCon" + "textIds\022\016.context.Empty\032\026.context.Contex" + "tIdList\"\000\0226\n\014ListContexts\022\016.context.Empt" + "y\032\024.context.ContextList\"\000\0224\n\nGetContext\022" + "\022.context.ContextId\032\020.context.Context\"\000\022" + "4\n\nSetContext\022\020.context.Context\032\022.contex" + "t.ContextId\"\000\0225\n\rRemoveContext\022\022.context" + ".ContextId\032\016.context.Empty\"\000\022=\n\020GetConte" + "xtEvents\022\016.context.Empty\032\025.context.Conte" + "xtEvent\"\0000\001\022@\n\017ListTopologyIds\022\022.context" + ".ContextId\032\027.context.TopologyIdList\"\000\022=\n" + "\016ListTopologies\022\022.context.ContextId\032\025.co" + "ntext.TopologyList\"\000\0227\n\013GetTopology\022\023.co" + "ntext.TopologyId\032\021.context.Topology\"\000\022E\n" + "\022GetTopologyDetails\022\023.context.TopologyId" + "\032\030.context.TopologyDetails\"\000\0227\n\013SetTopol" + "ogy\022\021.context.Topology\032\023.context.Topolog" + "yId\"\000\0227\n\016RemoveTopology\022\023.context.Topolo" + "gyId\032\016.context.Empty\"\000\022?\n\021GetTopologyEve" + "nts\022\016.context.Empty\032\026.context.TopologyEv" + "ent\"\0000\001\0228\n\rListDeviceIds\022\016.context.Empty" + "\032\025.context.DeviceIdList\"\000\0224\n\013ListDevices" + "\022\016.context.Empty\032\023.context.DeviceList\"\000\022" + "1\n\tGetDevice\022\021.context.DeviceId\032\017.contex" + "t.Device\"\000\0221\n\tSetDevice\022\017.context.Device" + "\032\021.context.DeviceId\"\000\0223\n\014RemoveDevice\022\021." + "context.DeviceId\032\016.context.Empty\"\000\022;\n\017Ge" + "tDeviceEvents\022\016.context.Empty\032\024.context." + "DeviceEvent\"\0000\001\022<\n\014SelectDevice\022\025.contex" + "t.DeviceFilter\032\023.context.DeviceList\"\000\022I\n" + "\021ListEndPointNames\022\027.context.EndPointIdL" + "ist\032\031.context.EndPointNameList\"\000\0224\n\013List" + "LinkIds\022\016.context.Empty\032\023.context.LinkId" + "List\"\000\0220\n\tListLinks\022\016.context.Empty\032\021.co" + "ntext.LinkList\"\000\022+\n\007GetLink\022\017.context.Li" + "nkId\032\r.context.Link\"\000\022+\n\007SetLink\022\r.conte" + "xt.Link\032\017.context.LinkId\"\000\022/\n\nRemoveLink" + "\022\017.context.LinkId\032\016.context.Empty\"\000\0227\n\rG" + "etLinkEvents\022\016.context.Empty\032\022.context.L" + "inkEvent\"\0000\001\022>\n\016ListServiceIds\022\022.context" + ".ContextId\032\026.context.ServiceIdList\"\000\022:\n\014" + "ListServices\022\022.context.ContextId\032\024.conte" + "xt.ServiceList\"\000\0224\n\nGetService\022\022.context" + ".ServiceId\032\020.context.Service\"\000\0224\n\nSetSer" + "vice\022\020.context.Service\032\022.context.Service" + "Id\"\000\0226\n\014UnsetService\022\020.context.Service\032\022" + ".context.ServiceId\"\000\0225\n\rRemoveService\022\022." + "context.ServiceId\032\016.context.Empty\"\000\022=\n\020G" + "etServiceEvents\022\016.context.Empty\032\025.contex" + "t.ServiceEvent\"\0000\001\022?\n\rSelectService\022\026.co" + "ntext.ServiceFilter\032\024.context.ServiceLis" + "t\"\000\022:\n\014ListSliceIds\022\022.context.ContextId\032" + "\024.context.SliceIdList\"\000\0226\n\nListSlices\022\022." + "context.ContextId\032\022.context.SliceList\"\000\022" + ".\n\010GetSlice\022\020.context.SliceId\032\016.context." + "Slice\"\000\022.\n\010SetSlice\022\016.context.Slice\032\020.co" + "ntext.SliceId\"\000\0220\n\nUnsetSlice\022\016.context." + "Slice\032\020.context.SliceId\"\000\0221\n\013RemoveSlice" + "\022\020.context.SliceId\032\016.context.Empty\"\000\0229\n\016" + "GetSliceEvents\022\016.context.Empty\032\023.context" + ".SliceEvent\"\0000\001\0229\n\013SelectSlice\022\024.context" + ".SliceFilter\032\022.context.SliceList\"\000\022D\n\021Li" + "stConnectionIds\022\022.context.ServiceId\032\031.co" + "ntext.ConnectionIdList\"\000\022@\n\017ListConnecti" + "ons\022\022.context.ServiceId\032\027.context.Connec" + "tionList\"\000\022=\n\rGetConnection\022\025.context.Co" + "nnectionId\032\023.context.Connection\"\000\022=\n\rSet" + "Connection\022\023.context.Connection\032\025.contex" + "t.ConnectionId\"\000\022;\n\020RemoveConnection\022\025.c" + "ontext.ConnectionId\032\016.context.Empty\"\000\022C\n" + "\023GetConnectionEvents\022\016.context.Empty\032\030.c" + "ontext.ConnectionEvent\"\0000\001b\006proto3" }; + java.lang.String[] descriptorData = { "\n\rcontext.proto\022\007context\032\tacl.proto\032\026kpi" + "_sample_types.proto\"\007\n\005Empty\"\024\n\004Uuid\022\014\n\004" + "uuid\030\001 \001(\t\"\036\n\tTimestamp\022\021\n\ttimestamp\030\001 \001" + "(\001\"Z\n\005Event\022%\n\ttimestamp\030\001 \001(\0132\022.context" + ".Timestamp\022*\n\nevent_type\030\002 \001(\0162\026.context" + ".EventTypeEnum\"0\n\tContextId\022#\n\014context_u" + "uid\030\001 \001(\0132\r.context.Uuid\"\351\001\n\007Context\022&\n\n" + "context_id\030\001 \001(\0132\022.context.ContextId\022\014\n\004" + "name\030\002 \001(\t\022)\n\014topology_ids\030\003 \003(\0132\023.conte" + "xt.TopologyId\022\'\n\013service_ids\030\004 \003(\0132\022.con" + "text.ServiceId\022#\n\tslice_ids\030\005 \003(\0132\020.cont" + "ext.SliceId\022/\n\ncontroller\030\006 \001(\0132\033.contex" + "t.TeraFlowController\"8\n\rContextIdList\022\'\n" + "\013context_ids\030\001 \003(\0132\022.context.ContextId\"1" + "\n\013ContextList\022\"\n\010contexts\030\001 \003(\0132\020.contex" + "t.Context\"U\n\014ContextEvent\022\035\n\005event\030\001 \001(\013" + "2\016.context.Event\022&\n\ncontext_id\030\002 \001(\0132\022.c" + "ontext.ContextId\"Z\n\nTopologyId\022&\n\ncontex" + "t_id\030\001 \001(\0132\022.context.ContextId\022$\n\rtopolo" + "gy_uuid\030\002 \001(\0132\r.context.Uuid\"\214\001\n\010Topolog" + "y\022(\n\013topology_id\030\001 \001(\0132\023.context.Topolog" + "yId\022\014\n\004name\030\002 \001(\t\022%\n\ndevice_ids\030\003 \003(\0132\021." + "context.DeviceId\022!\n\010link_ids\030\004 \003(\0132\017.con" + "text.LinkId\"\211\001\n\017TopologyDetails\022(\n\013topol" + "ogy_id\030\001 \001(\0132\023.context.TopologyId\022\014\n\004nam" + "e\030\002 \001(\t\022 \n\007devices\030\003 \003(\0132\017.context.Devic" + "e\022\034\n\005links\030\004 \003(\0132\r.context.Link\";\n\016Topol" + "ogyIdList\022)\n\014topology_ids\030\001 \003(\0132\023.contex" + "t.TopologyId\"5\n\014TopologyList\022%\n\ntopologi" + "es\030\001 \003(\0132\021.context.Topology\"X\n\rTopologyE" + "vent\022\035\n\005event\030\001 \001(\0132\016.context.Event\022(\n\013t" + "opology_id\030\002 \001(\0132\023.context.TopologyId\".\n" + "\010DeviceId\022\"\n\013device_uuid\030\001 \001(\0132\r.context" + ".Uuid\"\372\002\n\006Device\022$\n\tdevice_id\030\001 \001(\0132\021.co" + "ntext.DeviceId\022\014\n\004name\030\002 \001(\t\022\023\n\013device_t" + "ype\030\003 \001(\t\022,\n\rdevice_config\030\004 \001(\0132\025.conte" + "xt.DeviceConfig\022G\n\031device_operational_st" + "atus\030\005 \001(\0162$.context.DeviceOperationalSt" + "atusEnum\0221\n\016device_drivers\030\006 \003(\0162\031.conte" + "xt.DeviceDriverEnum\022+\n\020device_endpoints\030" + "\007 \003(\0132\021.context.EndPoint\022&\n\ncomponents\030\010" + " \003(\0132\022.context.Component\022(\n\rcontroller_i" + "d\030\t \001(\0132\021.context.DeviceId\"\311\001\n\tComponent" + "\022%\n\016component_uuid\030\001 \001(\0132\r.context.Uuid\022" + "\014\n\004name\030\002 \001(\t\022\014\n\004type\030\003 \001(\t\0226\n\nattribute" + "s\030\004 \003(\0132\".context.Component.AttributesEn" + "try\022\016\n\006parent\030\005 \001(\t\0321\n\017AttributesEntry\022\013" + "\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"9\n\014Device" + "Config\022)\n\014config_rules\030\001 \003(\0132\023.context.C" + "onfigRule\"5\n\014DeviceIdList\022%\n\ndevice_ids\030" + "\001 \003(\0132\021.context.DeviceId\".\n\nDeviceList\022 " + "\n\007devices\030\001 \003(\0132\017.context.Device\"\216\001\n\014Dev" + "iceFilter\022)\n\ndevice_ids\030\001 \001(\0132\025.context." + "DeviceIdList\022\031\n\021include_endpoints\030\002 \001(\010\022" + "\034\n\024include_config_rules\030\003 \001(\010\022\032\n\022include" + "_components\030\004 \001(\010\"\200\001\n\013DeviceEvent\022\035\n\005eve" + "nt\030\001 \001(\0132\016.context.Event\022$\n\tdevice_id\030\002 " + "\001(\0132\021.context.DeviceId\022,\n\rdevice_config\030" + "\003 \001(\0132\025.context.DeviceConfig\"*\n\006LinkId\022 " + "\n\tlink_uuid\030\001 \001(\0132\r.context.Uuid\"I\n\016Link" + "Attributes\022\033\n\023total_capacity_gbps\030\001 \001(\002\022" + "\032\n\022used_capacity_gbps\030\002 \001(\002\"\223\001\n\004Link\022 \n\007" + "link_id\030\001 \001(\0132\017.context.LinkId\022\014\n\004name\030\002" + " \001(\t\022.\n\021link_endpoint_ids\030\003 \003(\0132\023.contex" + "t.EndPointId\022+\n\nattributes\030\004 \001(\0132\027.conte" + "xt.LinkAttributes\"/\n\nLinkIdList\022!\n\010link_" + "ids\030\001 \003(\0132\017.context.LinkId\"(\n\010LinkList\022\034" + "\n\005links\030\001 \003(\0132\r.context.Link\"L\n\tLinkEven" + "t\022\035\n\005event\030\001 \001(\0132\016.context.Event\022 \n\007link" + "_id\030\002 \001(\0132\017.context.LinkId\"X\n\tServiceId\022" + "&\n\ncontext_id\030\001 \001(\0132\022.context.ContextId\022" + "#\n\014service_uuid\030\002 \001(\0132\r.context.Uuid\"\333\002\n" + "\007Service\022&\n\nservice_id\030\001 \001(\0132\022.context.S" + "erviceId\022\014\n\004name\030\002 \001(\t\022.\n\014service_type\030\003" + " \001(\0162\030.context.ServiceTypeEnum\0221\n\024servic" + "e_endpoint_ids\030\004 \003(\0132\023.context.EndPointI" + "d\0220\n\023service_constraints\030\005 \003(\0132\023.context" + ".Constraint\022.\n\016service_status\030\006 \001(\0132\026.co" + "ntext.ServiceStatus\022.\n\016service_config\030\007 " + "\001(\0132\026.context.ServiceConfig\022%\n\ttimestamp" + "\030\010 \001(\0132\022.context.Timestamp\"C\n\rServiceSta" + "tus\0222\n\016service_status\030\001 \001(\0162\032.context.Se" + "rviceStatusEnum\":\n\rServiceConfig\022)\n\014conf" + "ig_rules\030\001 \003(\0132\023.context.ConfigRule\"8\n\rS" + "erviceIdList\022\'\n\013service_ids\030\001 \003(\0132\022.cont" + "ext.ServiceId\"1\n\013ServiceList\022\"\n\010services" + "\030\001 \003(\0132\020.context.Service\"\225\001\n\rServiceFilt" + "er\022+\n\013service_ids\030\001 \001(\0132\026.context.Servic" + "eIdList\022\034\n\024include_endpoint_ids\030\002 \001(\010\022\033\n" + "\023include_constraints\030\003 \001(\010\022\034\n\024include_co" + "nfig_rules\030\004 \001(\010\"U\n\014ServiceEvent\022\035\n\005even" + "t\030\001 \001(\0132\016.context.Event\022&\n\nservice_id\030\002 " + "\001(\0132\022.context.ServiceId\"T\n\007SliceId\022&\n\nco" + "ntext_id\030\001 \001(\0132\022.context.ContextId\022!\n\nsl" + "ice_uuid\030\002 \001(\0132\r.context.Uuid\"\240\003\n\005Slice\022" + "\"\n\010slice_id\030\001 \001(\0132\020.context.SliceId\022\014\n\004n" + "ame\030\002 \001(\t\022/\n\022slice_endpoint_ids\030\003 \003(\0132\023." + "context.EndPointId\022.\n\021slice_constraints\030" + "\004 \003(\0132\023.context.Constraint\022-\n\021slice_serv" + "ice_ids\030\005 \003(\0132\022.context.ServiceId\022,\n\022sli" + "ce_subslice_ids\030\006 \003(\0132\020.context.SliceId\022" + "*\n\014slice_status\030\007 \001(\0132\024.context.SliceSta" + "tus\022*\n\014slice_config\030\010 \001(\0132\024.context.Slic" + "eConfig\022(\n\013slice_owner\030\t \001(\0132\023.context.S" + "liceOwner\022%\n\ttimestamp\030\n \001(\0132\022.context.T" + "imestamp\"E\n\nSliceOwner\022!\n\nowner_uuid\030\001 \001" + "(\0132\r.context.Uuid\022\024\n\014owner_string\030\002 \001(\t\"" + "=\n\013SliceStatus\022.\n\014slice_status\030\001 \001(\0162\030.c" + "ontext.SliceStatusEnum\"8\n\013SliceConfig\022)\n" + "\014config_rules\030\001 \003(\0132\023.context.ConfigRule" + "\"2\n\013SliceIdList\022#\n\tslice_ids\030\001 \003(\0132\020.con" + "text.SliceId\"+\n\tSliceList\022\036\n\006slices\030\001 \003(" + "\0132\016.context.Slice\"\312\001\n\013SliceFilter\022\'\n\tsli" + "ce_ids\030\001 \001(\0132\024.context.SliceIdList\022\034\n\024in" + "clude_endpoint_ids\030\002 \001(\010\022\033\n\023include_cons" + "traints\030\003 \001(\010\022\033\n\023include_service_ids\030\004 \001" + "(\010\022\034\n\024include_subslice_ids\030\005 \001(\010\022\034\n\024incl" + "ude_config_rules\030\006 \001(\010\"O\n\nSliceEvent\022\035\n\005" + "event\030\001 \001(\0132\016.context.Event\022\"\n\010slice_id\030" + "\002 \001(\0132\020.context.SliceId\"6\n\014ConnectionId\022" + "&\n\017connection_uuid\030\001 \001(\0132\r.context.Uuid\"" + "2\n\025ConnectionSettings_L0\022\031\n\021lsp_symbolic" + "_name\030\001 \001(\t\"\236\001\n\025ConnectionSettings_L2\022\027\n" + "\017src_mac_address\030\001 \001(\t\022\027\n\017dst_mac_addres" + "s\030\002 \001(\t\022\022\n\nether_type\030\003 \001(\r\022\017\n\007vlan_id\030\004" + " \001(\r\022\022\n\nmpls_label\030\005 \001(\r\022\032\n\022mpls_traffic" + "_class\030\006 \001(\r\"t\n\025ConnectionSettings_L3\022\026\n" + "\016src_ip_address\030\001 \001(\t\022\026\n\016dst_ip_address\030" + "\002 \001(\t\022\014\n\004dscp\030\003 \001(\r\022\020\n\010protocol\030\004 \001(\r\022\013\n" + "\003ttl\030\005 \001(\r\"[\n\025ConnectionSettings_L4\022\020\n\010s" + "rc_port\030\001 \001(\r\022\020\n\010dst_port\030\002 \001(\r\022\021\n\ttcp_f" + "lags\030\003 \001(\r\022\013\n\003ttl\030\004 \001(\r\"\304\001\n\022ConnectionSe" + "ttings\022*\n\002l0\030\001 \001(\0132\036.context.ConnectionS" + "ettings_L0\022*\n\002l2\030\002 \001(\0132\036.context.Connect" + "ionSettings_L2\022*\n\002l3\030\003 \001(\0132\036.context.Con" + "nectionSettings_L3\022*\n\002l4\030\004 \001(\0132\036.context" + ".ConnectionSettings_L4\"\363\001\n\nConnection\022,\n" + "\rconnection_id\030\001 \001(\0132\025.context.Connectio" + "nId\022&\n\nservice_id\030\002 \001(\0132\022.context.Servic" + "eId\0223\n\026path_hops_endpoint_ids\030\003 \003(\0132\023.co" + "ntext.EndPointId\022+\n\017sub_service_ids\030\004 \003(" + "\0132\022.context.ServiceId\022-\n\010settings\030\005 \001(\0132" + "\033.context.ConnectionSettings\"A\n\020Connecti" + "onIdList\022-\n\016connection_ids\030\001 \003(\0132\025.conte" + "xt.ConnectionId\":\n\016ConnectionList\022(\n\013con" + "nections\030\001 \003(\0132\023.context.Connection\"^\n\017C" + "onnectionEvent\022\035\n\005event\030\001 \001(\0132\016.context." + "Event\022,\n\rconnection_id\030\002 \001(\0132\025.context.C" + "onnectionId\"\202\001\n\nEndPointId\022(\n\013topology_i" + "d\030\001 \001(\0132\023.context.TopologyId\022$\n\tdevice_i" + "d\030\002 \001(\0132\021.context.DeviceId\022$\n\rendpoint_u" + "uid\030\003 \001(\0132\r.context.Uuid\"\302\001\n\010EndPoint\022(\n" + "\013endpoint_id\030\001 \001(\0132\023.context.EndPointId\022" + "\014\n\004name\030\002 \001(\t\022\025\n\rendpoint_type\030\003 \001(\t\0229\n\020" + "kpi_sample_types\030\004 \003(\0162\037.kpi_sample_type" + "s.KpiSampleType\022,\n\021endpoint_location\030\005 \001" + "(\0132\021.context.Location\"{\n\014EndPointName\022(\n" + "\013endpoint_id\030\001 \001(\0132\023.context.EndPointId\022" + "\023\n\013device_name\030\002 \001(\t\022\025\n\rendpoint_name\030\003 " + "\001(\t\022\025\n\rendpoint_type\030\004 \001(\t\";\n\016EndPointId" + "List\022)\n\014endpoint_ids\030\001 \003(\0132\023.context.End" + "PointId\"A\n\020EndPointNameList\022-\n\016endpoint_" + "names\030\001 \003(\0132\025.context.EndPointName\"A\n\021Co" + "nfigRule_Custom\022\024\n\014resource_key\030\001 \001(\t\022\026\n" + "\016resource_value\030\002 \001(\t\"]\n\016ConfigRule_ACL\022" + "(\n\013endpoint_id\030\001 \001(\0132\023.context.EndPointI" + "d\022!\n\010rule_set\030\002 \001(\0132\017.acl.AclRuleSet\"\234\001\n" + "\nConfigRule\022)\n\006action\030\001 \001(\0162\031.context.Co" + "nfigActionEnum\022,\n\006custom\030\002 \001(\0132\032.context" + ".ConfigRule_CustomH\000\022&\n\003acl\030\003 \001(\0132\027.cont" + "ext.ConfigRule_ACLH\000B\r\n\013config_rule\"F\n\021C" + "onstraint_Custom\022\027\n\017constraint_type\030\001 \001(" + "\t\022\030\n\020constraint_value\030\002 \001(\t\"E\n\023Constrain" + "t_Schedule\022\027\n\017start_timestamp\030\001 \001(\002\022\025\n\rd" + "uration_days\030\002 \001(\002\"3\n\014GPS_Position\022\020\n\010la" + "titude\030\001 \001(\002\022\021\n\tlongitude\030\002 \001(\002\"W\n\010Locat" + "ion\022\020\n\006region\030\001 \001(\tH\000\022-\n\014gps_position\030\002 " + "\001(\0132\025.context.GPS_PositionH\000B\n\n\010location" + "\"l\n\033Constraint_EndPointLocation\022(\n\013endpo" + "int_id\030\001 \001(\0132\023.context.EndPointId\022#\n\010loc" + "ation\030\002 \001(\0132\021.context.Location\"Y\n\033Constr" + "aint_EndPointPriority\022(\n\013endpoint_id\030\001 \001" + "(\0132\023.context.EndPointId\022\020\n\010priority\030\002 \001(" + "\r\"0\n\026Constraint_SLA_Latency\022\026\n\016e2e_laten" + "cy_ms\030\001 \001(\002\"0\n\027Constraint_SLA_Capacity\022\025" + "\n\rcapacity_gbps\030\001 \001(\002\"c\n\033Constraint_SLA_" + "Availability\022\032\n\022num_disjoint_paths\030\001 \001(\r" + "\022\022\n\nall_active\030\002 \001(\010\022\024\n\014availability\030\003 \001" + "(\002\"V\n\036Constraint_SLA_Isolation_level\0224\n\017" + "isolation_level\030\001 \003(\0162\033.context.Isolatio" + "nLevelEnum\"\242\001\n\025Constraint_Exclusions\022\024\n\014" + "is_permanent\030\001 \001(\010\022%\n\ndevice_ids\030\002 \003(\0132\021" + ".context.DeviceId\022)\n\014endpoint_ids\030\003 \003(\0132" + "\023.context.EndPointId\022!\n\010link_ids\030\004 \003(\0132\017" + ".context.LinkId\"\333\004\n\nConstraint\022-\n\006action" + "\030\001 \001(\0162\035.context.ConstraintActionEnum\022,\n" + "\006custom\030\002 \001(\0132\032.context.Constraint_Custo" + "mH\000\0220\n\010schedule\030\003 \001(\0132\034.context.Constrai" + "nt_ScheduleH\000\022A\n\021endpoint_location\030\004 \001(\013" + "2$.context.Constraint_EndPointLocationH\000" + "\022A\n\021endpoint_priority\030\005 \001(\0132$.context.Co" + "nstraint_EndPointPriorityH\000\0228\n\014sla_capac" + "ity\030\006 \001(\0132 .context.Constraint_SLA_Capac" + "ityH\000\0226\n\013sla_latency\030\007 \001(\0132\037.context.Con" + "straint_SLA_LatencyH\000\022@\n\020sla_availabilit" + "y\030\010 \001(\0132$.context.Constraint_SLA_Availab" + "ilityH\000\022@\n\rsla_isolation\030\t \001(\0132\'.context" + ".Constraint_SLA_Isolation_levelH\000\0224\n\nexc" + "lusions\030\n \001(\0132\036.context.Constraint_Exclu" + "sionsH\000B\014\n\nconstraint\"^\n\022TeraFlowControl" + "ler\022&\n\ncontext_id\030\001 \001(\0132\022.context.Contex" + "tId\022\022\n\nip_address\030\002 \001(\t\022\014\n\004port\030\003 \001(\r\"U\n" + "\024AuthenticationResult\022&\n\ncontext_id\030\001 \001(" + "\0132\022.context.ContextId\022\025\n\rauthenticated\030\002" + " \001(\010\"-\n\017OpticalConfigId\022\032\n\022opticalconfig" + "_uuid\030\001 \001(\t\"S\n\rOpticalConfig\0222\n\020opticalc" + "onfig_id\030\001 \001(\0132\030.context.OpticalConfigId" + "\022\016\n\006config\030\002 \001(\t\"C\n\021OpticalConfigList\022.\n" + "\016opticalconfigs\030\001 \003(\0132\026.context.OpticalC" + "onfig\"9\n\rOpticalLinkId\022(\n\021optical_link_u" + "uid\030\001 \001(\0132\r.context.Uuid\",\n\007FiberId\022!\n\nf" + "iber_uuid\030\001 \001(\0132\r.context.Uuid\"\341\001\n\005Fiber" + "\022\n\n\002ID\030\n \001(\t\022\020\n\010src_port\030\001 \001(\t\022\020\n\010dst_po" + "rt\030\002 \001(\t\022\027\n\017local_peer_port\030\003 \001(\t\022\030\n\020rem" + "ote_peer_port\030\004 \001(\t\022\017\n\007c_slots\030\005 \003(\005\022\017\n\007" + "l_slots\030\006 \003(\005\022\017\n\007s_slots\030\007 \003(\005\022\016\n\006length" + "\030\010 \001(\002\022\014\n\004used\030\t \001(\010\022$\n\nfiber_uuid\030\013 \001(\013" + "2\020.context.FiberId\"d\n\022OpticalLinkDetails" + "\022\016\n\006length\030\001 \001(\002\022\016\n\006source\030\002 \001(\t\022\016\n\006targ" + "et\030\003 \001(\t\022\036\n\006fibers\030\004 \003(\0132\016.context.Fiber" + "\"|\n\013OpticalLink\022\014\n\004name\030\001 \001(\t\022,\n\007details" + "\030\002 \001(\0132\033.context.OpticalLinkDetails\0221\n\021o" + "ptical_link_uuid\030\003 \001(\0132\026.context.Optical" + "LinkId*j\n\rEventTypeEnum\022\027\n\023EVENTTYPE_UND" + "EFINED\020\000\022\024\n\020EVENTTYPE_CREATE\020\001\022\024\n\020EVENTT" + "YPE_UPDATE\020\002\022\024\n\020EVENTTYPE_REMOVE\020\003*\346\002\n\020D" + "eviceDriverEnum\022\032\n\026DEVICEDRIVER_UNDEFINE" + "D\020\000\022\033\n\027DEVICEDRIVER_OPENCONFIG\020\001\022\036\n\032DEVI" + "CEDRIVER_TRANSPORT_API\020\002\022\023\n\017DEVICEDRIVER" + "_P4\020\003\022&\n\"DEVICEDRIVER_IETF_NETWORK_TOPOL" + "OGY\020\004\022\033\n\027DEVICEDRIVER_ONF_TR_532\020\005\022\023\n\017DE" + "VICEDRIVER_XR\020\006\022\033\n\027DEVICEDRIVER_IETF_L2V" + "PN\020\007\022 \n\034DEVICEDRIVER_GNMI_OPENCONFIG\020\010\022\032" + "\n\026DEVICEDRIVER_FLEXSCALE\020\t\022\032\n\026DEVICEDRIV" + "ER_IETF_ACTN\020\n\022\023\n\017DEVICEDRIVER_OC\020\013*\217\001\n\033" + "DeviceOperationalStatusEnum\022%\n!DEVICEOPE" + "RATIONALSTATUS_UNDEFINED\020\000\022$\n DEVICEOPER" + "ATIONALSTATUS_DISABLED\020\001\022#\n\037DEVICEOPERAT" + "IONALSTATUS_ENABLED\020\002*\320\001\n\017ServiceTypeEnu" + "m\022\027\n\023SERVICETYPE_UNKNOWN\020\000\022\024\n\020SERVICETYP" + "E_L3NM\020\001\022\024\n\020SERVICETYPE_L2NM\020\002\022)\n%SERVIC" + "ETYPE_TAPI_CONNECTIVITY_SERVICE\020\003\022\022\n\016SER" + "VICETYPE_TE\020\004\022\023\n\017SERVICETYPE_E2E\020\005\022$\n SE" + "RVICETYPE_OPTICAL_CONNECTIVITY\020\006*\304\001\n\021Ser" + "viceStatusEnum\022\033\n\027SERVICESTATUS_UNDEFINE" + "D\020\000\022\031\n\025SERVICESTATUS_PLANNED\020\001\022\030\n\024SERVIC" + "ESTATUS_ACTIVE\020\002\022\032\n\026SERVICESTATUS_UPDATI" + "NG\020\003\022!\n\035SERVICESTATUS_PENDING_REMOVAL\020\004\022" + "\036\n\032SERVICESTATUS_SLA_VIOLATED\020\005*\251\001\n\017Slic" + "eStatusEnum\022\031\n\025SLICESTATUS_UNDEFINED\020\000\022\027" + "\n\023SLICESTATUS_PLANNED\020\001\022\024\n\020SLICESTATUS_I" + "NIT\020\002\022\026\n\022SLICESTATUS_ACTIVE\020\003\022\026\n\022SLICEST" + "ATUS_DEINIT\020\004\022\034\n\030SLICESTATUS_SLA_VIOLATE" + "D\020\005*]\n\020ConfigActionEnum\022\032\n\026CONFIGACTION_" + "UNDEFINED\020\000\022\024\n\020CONFIGACTION_SET\020\001\022\027\n\023CON" + "FIGACTION_DELETE\020\002*m\n\024ConstraintActionEn" + "um\022\036\n\032CONSTRAINTACTION_UNDEFINED\020\000\022\030\n\024CO" + "NSTRAINTACTION_SET\020\001\022\033\n\027CONSTRAINTACTION" + "_DELETE\020\002*\203\002\n\022IsolationLevelEnum\022\020\n\014NO_I" + "SOLATION\020\000\022\026\n\022PHYSICAL_ISOLATION\020\001\022\025\n\021LO" + "GICAL_ISOLATION\020\002\022\025\n\021PROCESS_ISOLATION\020\003" + "\022\035\n\031PHYSICAL_MEMORY_ISOLATION\020\004\022\036\n\032PHYSI" + "CAL_NETWORK_ISOLATION\020\005\022\036\n\032VIRTUAL_RESOU" + "RCE_ISOLATION\020\006\022\037\n\033NETWORK_FUNCTIONS_ISO" + "LATION\020\007\022\025\n\021SERVICE_ISOLATION\020\0102\246\031\n\016Cont" + "extService\022:\n\016ListContextIds\022\016.context.E" + "mpty\032\026.context.ContextIdList\"\000\0226\n\014ListCo" + "ntexts\022\016.context.Empty\032\024.context.Context" + "List\"\000\0224\n\nGetContext\022\022.context.ContextId" + "\032\020.context.Context\"\000\0224\n\nSetContext\022\020.con" + "text.Context\032\022.context.ContextId\"\000\0225\n\rRe" + "moveContext\022\022.context.ContextId\032\016.contex" + "t.Empty\"\000\022=\n\020GetContextEvents\022\016.context." + "Empty\032\025.context.ContextEvent\"\0000\001\022@\n\017List" + "TopologyIds\022\022.context.ContextId\032\027.contex" + "t.TopologyIdList\"\000\022=\n\016ListTopologies\022\022.c" + "ontext.ContextId\032\025.context.TopologyList\"" + "\000\0227\n\013GetTopology\022\023.context.TopologyId\032\021." + "context.Topology\"\000\022E\n\022GetTopologyDetails" + "\022\023.context.TopologyId\032\030.context.Topology" + "Details\"\000\0227\n\013SetTopology\022\021.context.Topol" + "ogy\032\023.context.TopologyId\"\000\0227\n\016RemoveTopo" + "logy\022\023.context.TopologyId\032\016.context.Empt" + "y\"\000\022?\n\021GetTopologyEvents\022\016.context.Empty" + "\032\026.context.TopologyEvent\"\0000\001\0228\n\rListDevi" + "ceIds\022\016.context.Empty\032\025.context.DeviceId" + "List\"\000\0224\n\013ListDevices\022\016.context.Empty\032\023." + "context.DeviceList\"\000\0221\n\tGetDevice\022\021.cont" + "ext.DeviceId\032\017.context.Device\"\000\0221\n\tSetDe" + "vice\022\017.context.Device\032\021.context.DeviceId" + "\"\000\0223\n\014RemoveDevice\022\021.context.DeviceId\032\016." + "context.Empty\"\000\022;\n\017GetDeviceEvents\022\016.con" + "text.Empty\032\024.context.DeviceEvent\"\0000\001\022<\n\014" + "SelectDevice\022\025.context.DeviceFilter\032\023.co" + "ntext.DeviceList\"\000\022I\n\021ListEndPointNames\022" + "\027.context.EndPointIdList\032\031.context.EndPo" + "intNameList\"\000\0224\n\013ListLinkIds\022\016.context.E" + "mpty\032\023.context.LinkIdList\"\000\0220\n\tListLinks" + "\022\016.context.Empty\032\021.context.LinkList\"\000\022+\n" + "\007GetLink\022\017.context.LinkId\032\r.context.Link" + "\"\000\022+\n\007SetLink\022\r.context.Link\032\017.context.L" + "inkId\"\000\022/\n\nRemoveLink\022\017.context.LinkId\032\016" + ".context.Empty\"\000\0227\n\rGetLinkEvents\022\016.cont" + "ext.Empty\032\022.context.LinkEvent\"\0000\001\022>\n\016Lis" + "tServiceIds\022\022.context.ContextId\032\026.contex" + "t.ServiceIdList\"\000\022:\n\014ListServices\022\022.cont" + "ext.ContextId\032\024.context.ServiceList\"\000\0224\n" + "\nGetService\022\022.context.ServiceId\032\020.contex" + "t.Service\"\000\0224\n\nSetService\022\020.context.Serv" + "ice\032\022.context.ServiceId\"\000\0226\n\014UnsetServic" + "e\022\020.context.Service\032\022.context.ServiceId\"" + "\000\0225\n\rRemoveService\022\022.context.ServiceId\032\016" + ".context.Empty\"\000\022=\n\020GetServiceEvents\022\016.c" + "ontext.Empty\032\025.context.ServiceEvent\"\0000\001\022" + "?\n\rSelectService\022\026.context.ServiceFilter" + "\032\024.context.ServiceList\"\000\022:\n\014ListSliceIds" + "\022\022.context.ContextId\032\024.context.SliceIdLi" + "st\"\000\0226\n\nListSlices\022\022.context.ContextId\032\022" + ".context.SliceList\"\000\022.\n\010GetSlice\022\020.conte" + "xt.SliceId\032\016.context.Slice\"\000\022.\n\010SetSlice" + "\022\016.context.Slice\032\020.context.SliceId\"\000\0220\n\n" + "UnsetSlice\022\016.context.Slice\032\020.context.Sli" + "ceId\"\000\0221\n\013RemoveSlice\022\020.context.SliceId\032" + "\016.context.Empty\"\000\0229\n\016GetSliceEvents\022\016.co" + "ntext.Empty\032\023.context.SliceEvent\"\0000\001\0229\n\013" + "SelectSlice\022\024.context.SliceFilter\032\022.cont" + "ext.SliceList\"\000\022D\n\021ListConnectionIds\022\022.c" + "ontext.ServiceId\032\031.context.ConnectionIdL" + "ist\"\000\022@\n\017ListConnections\022\022.context.Servi" + "ceId\032\027.context.ConnectionList\"\000\022=\n\rGetCo" + "nnection\022\025.context.ConnectionId\032\023.contex" + "t.Connection\"\000\022=\n\rSetConnection\022\023.contex" + "t.Connection\032\025.context.ConnectionId\"\000\022;\n" + "\020RemoveConnection\022\025.context.ConnectionId" + "\032\016.context.Empty\"\000\022C\n\023GetConnectionEvent" + "s\022\016.context.Empty\032\030.context.ConnectionEv" + "ent\"\0000\001\022@\n\020GetOpticalConfig\022\016.context.Em" + "pty\032\032.context.OpticalConfigList\"\000\022F\n\020Set" + "OpticalConfig\022\026.context.OpticalConfig\032\030." + "context.OpticalConfigId\"\000\022I\n\023SelectOptic" + "alConfig\022\030.context.OpticalConfigId\032\026.con" + "text.OpticalConfig\"\000\0228\n\016SetOpticalLink\022\024" + ".context.OpticalLink\032\016.context.Empty\"\000\022@" + "\n\016GetOpticalLink\022\026.context.OpticalLinkId" + "\032\024.context.OpticalLink\"\000\022.\n\010GetFiber\022\020.c" + "ontext.FiberId\032\016.context.Fiber\"\000b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] { acl.Acl.getDescriptor(), kpi_sample_types.KpiSampleTypes.getDescriptor() }); internal_static_context_Empty_descriptor = getDescriptor().getMessageTypes().get(0); internal_static_context_Empty_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_Empty_descriptor, new java.lang.String[] {}); @@ -69778,6 +76850,22 @@ public final class ContextOuterClass { internal_static_context_TeraFlowController_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_TeraFlowController_descriptor, new java.lang.String[] { "ContextId", "IpAddress", "Port" }); internal_static_context_AuthenticationResult_descriptor = getDescriptor().getMessageTypes().get(77); internal_static_context_AuthenticationResult_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_AuthenticationResult_descriptor, new java.lang.String[] { "ContextId", "Authenticated" }); + internal_static_context_OpticalConfigId_descriptor = getDescriptor().getMessageTypes().get(78); + internal_static_context_OpticalConfigId_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_OpticalConfigId_descriptor, new java.lang.String[] { "OpticalconfigUuid" }); + internal_static_context_OpticalConfig_descriptor = getDescriptor().getMessageTypes().get(79); + internal_static_context_OpticalConfig_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_OpticalConfig_descriptor, new java.lang.String[] { "OpticalconfigId", "Config" }); + internal_static_context_OpticalConfigList_descriptor = getDescriptor().getMessageTypes().get(80); + internal_static_context_OpticalConfigList_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_OpticalConfigList_descriptor, new java.lang.String[] { "Opticalconfigs" }); + internal_static_context_OpticalLinkId_descriptor = getDescriptor().getMessageTypes().get(81); + internal_static_context_OpticalLinkId_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_OpticalLinkId_descriptor, new java.lang.String[] { "OpticalLinkUuid" }); + internal_static_context_FiberId_descriptor = getDescriptor().getMessageTypes().get(82); + internal_static_context_FiberId_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_FiberId_descriptor, new java.lang.String[] { "FiberUuid" }); + internal_static_context_Fiber_descriptor = getDescriptor().getMessageTypes().get(83); + internal_static_context_Fiber_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_Fiber_descriptor, new java.lang.String[] { "ID", "SrcPort", "DstPort", "LocalPeerPort", "RemotePeerPort", "CSlots", "LSlots", "SSlots", "Length", "Used", "FiberUuid" }); + internal_static_context_OpticalLinkDetails_descriptor = getDescriptor().getMessageTypes().get(84); + internal_static_context_OpticalLinkDetails_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_OpticalLinkDetails_descriptor, new java.lang.String[] { "Length", "Source", "Target", "Fibers" }); + internal_static_context_OpticalLink_descriptor = getDescriptor().getMessageTypes().get(85); + internal_static_context_OpticalLink_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_OpticalLink_descriptor, new java.lang.String[] { "Name", "Details", "OpticalLinkUuid" }); acl.Acl.getDescriptor(); kpi_sample_types.KpiSampleTypes.getDescriptor(); } diff --git a/src/ztp/target/generated-sources/grpc/context/ContextService.java b/src/ztp/target/generated-sources/grpc/context/ContextService.java index f1c089fb5..32544e6be 100644 --- a/src/ztp/target/generated-sources/grpc/context/ContextService.java +++ b/src/ztp/target/generated-sources/grpc/context/ContextService.java @@ -89,6 +89,23 @@ public interface ContextService extends MutinyService { io.smallrye.mutiny.Uni removeConnection(context.ContextOuterClass.ConnectionId request); + /** + *
+     *  ------------------------------ Experimental -----------------------------
+     * 
+ */ + io.smallrye.mutiny.Uni getOpticalConfig(context.ContextOuterClass.Empty request); + + io.smallrye.mutiny.Uni setOpticalConfig(context.ContextOuterClass.OpticalConfig request); + + io.smallrye.mutiny.Uni selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request); + + io.smallrye.mutiny.Uni setOpticalLink(context.ContextOuterClass.OpticalLink request); + + io.smallrye.mutiny.Uni getOpticalLink(context.ContextOuterClass.OpticalLinkId request); + + io.smallrye.mutiny.Uni getFiber(context.ContextOuterClass.FiberId request); + io.smallrye.mutiny.Multi getContextEvents(context.ContextOuterClass.Empty request); io.smallrye.mutiny.Multi getTopologyEvents(context.ContextOuterClass.Empty request); diff --git a/src/ztp/target/generated-sources/grpc/context/ContextServiceBean.java b/src/ztp/target/generated-sources/grpc/context/ContextServiceBean.java index db1b9c170..d3c1b6285 100644 --- a/src/ztp/target/generated-sources/grpc/context/ContextServiceBean.java +++ b/src/ztp/target/generated-sources/grpc/context/ContextServiceBean.java @@ -391,6 +391,60 @@ public class ContextServiceBean extends MutinyContextServiceGrpc.ContextServiceI } } + @Override + public io.smallrye.mutiny.Uni getOpticalConfig(context.ContextOuterClass.Empty request) { + try { + return delegate.getOpticalConfig(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + + @Override + public io.smallrye.mutiny.Uni setOpticalConfig(context.ContextOuterClass.OpticalConfig request) { + try { + return delegate.setOpticalConfig(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + + @Override + public io.smallrye.mutiny.Uni selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request) { + try { + return delegate.selectOpticalConfig(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + + @Override + public io.smallrye.mutiny.Uni setOpticalLink(context.ContextOuterClass.OpticalLink request) { + try { + return delegate.setOpticalLink(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + + @Override + public io.smallrye.mutiny.Uni getOpticalLink(context.ContextOuterClass.OpticalLinkId request) { + try { + return delegate.getOpticalLink(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + + @Override + public io.smallrye.mutiny.Uni getFiber(context.ContextOuterClass.FiberId request) { + try { + return delegate.getFiber(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override public io.smallrye.mutiny.Multi getContextEvents(context.ContextOuterClass.Empty request) { try { diff --git a/src/ztp/target/generated-sources/grpc/context/ContextServiceClient.java b/src/ztp/target/generated-sources/grpc/context/ContextServiceClient.java index 88ab831f5..b1773578d 100644 --- a/src/ztp/target/generated-sources/grpc/context/ContextServiceClient.java +++ b/src/ztp/target/generated-sources/grpc/context/ContextServiceClient.java @@ -235,6 +235,36 @@ public class ContextServiceClient implements ContextService, MutinyClient getOpticalConfig(context.ContextOuterClass.Empty request) { + return stub.getOpticalConfig(request); + } + + @Override + public io.smallrye.mutiny.Uni setOpticalConfig(context.ContextOuterClass.OpticalConfig request) { + return stub.setOpticalConfig(request); + } + + @Override + public io.smallrye.mutiny.Uni selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request) { + return stub.selectOpticalConfig(request); + } + + @Override + public io.smallrye.mutiny.Uni setOpticalLink(context.ContextOuterClass.OpticalLink request) { + return stub.setOpticalLink(request); + } + + @Override + public io.smallrye.mutiny.Uni getOpticalLink(context.ContextOuterClass.OpticalLinkId request) { + return stub.getOpticalLink(request); + } + + @Override + public io.smallrye.mutiny.Uni getFiber(context.ContextOuterClass.FiberId request) { + return stub.getFiber(request); + } + @Override public io.smallrye.mutiny.Multi getContextEvents(context.ContextOuterClass.Empty request) { return stub.getContextEvents(request); diff --git a/src/ztp/target/generated-sources/grpc/context/ContextServiceGrpc.java b/src/ztp/target/generated-sources/grpc/context/ContextServiceGrpc.java index defb37810..233312dd7 100644 --- a/src/ztp/target/generated-sources/grpc/context/ContextServiceGrpc.java +++ b/src/ztp/target/generated-sources/grpc/context/ContextServiceGrpc.java @@ -749,6 +749,96 @@ public final class ContextServiceGrpc { return getGetConnectionEventsMethod; } + private static volatile io.grpc.MethodDescriptor getGetOpticalConfigMethod; + + @io.grpc.stub.annotations.RpcMethod(fullMethodName = SERVICE_NAME + '/' + "GetOpticalConfig", requestType = context.ContextOuterClass.Empty.class, responseType = context.ContextOuterClass.OpticalConfigList.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetOpticalConfigMethod() { + io.grpc.MethodDescriptor getGetOpticalConfigMethod; + if ((getGetOpticalConfigMethod = ContextServiceGrpc.getGetOpticalConfigMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getGetOpticalConfigMethod = ContextServiceGrpc.getGetOpticalConfigMethod) == null) { + ContextServiceGrpc.getGetOpticalConfigMethod = getGetOpticalConfigMethod = io.grpc.MethodDescriptor.newBuilder().setType(io.grpc.MethodDescriptor.MethodType.UNARY).setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetOpticalConfig")).setSampledToLocalTracing(true).setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.Empty.getDefaultInstance())).setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.OpticalConfigList.getDefaultInstance())).setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("GetOpticalConfig")).build(); + } + } + } + return getGetOpticalConfigMethod; + } + + private static volatile io.grpc.MethodDescriptor getSetOpticalConfigMethod; + + @io.grpc.stub.annotations.RpcMethod(fullMethodName = SERVICE_NAME + '/' + "SetOpticalConfig", requestType = context.ContextOuterClass.OpticalConfig.class, responseType = context.ContextOuterClass.OpticalConfigId.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getSetOpticalConfigMethod() { + io.grpc.MethodDescriptor getSetOpticalConfigMethod; + if ((getSetOpticalConfigMethod = ContextServiceGrpc.getSetOpticalConfigMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getSetOpticalConfigMethod = ContextServiceGrpc.getSetOpticalConfigMethod) == null) { + ContextServiceGrpc.getSetOpticalConfigMethod = getSetOpticalConfigMethod = io.grpc.MethodDescriptor.newBuilder().setType(io.grpc.MethodDescriptor.MethodType.UNARY).setFullMethodName(generateFullMethodName(SERVICE_NAME, "SetOpticalConfig")).setSampledToLocalTracing(true).setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.OpticalConfig.getDefaultInstance())).setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.OpticalConfigId.getDefaultInstance())).setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("SetOpticalConfig")).build(); + } + } + } + return getSetOpticalConfigMethod; + } + + private static volatile io.grpc.MethodDescriptor getSelectOpticalConfigMethod; + + @io.grpc.stub.annotations.RpcMethod(fullMethodName = SERVICE_NAME + '/' + "SelectOpticalConfig", requestType = context.ContextOuterClass.OpticalConfigId.class, responseType = context.ContextOuterClass.OpticalConfig.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getSelectOpticalConfigMethod() { + io.grpc.MethodDescriptor getSelectOpticalConfigMethod; + if ((getSelectOpticalConfigMethod = ContextServiceGrpc.getSelectOpticalConfigMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getSelectOpticalConfigMethod = ContextServiceGrpc.getSelectOpticalConfigMethod) == null) { + ContextServiceGrpc.getSelectOpticalConfigMethod = getSelectOpticalConfigMethod = io.grpc.MethodDescriptor.newBuilder().setType(io.grpc.MethodDescriptor.MethodType.UNARY).setFullMethodName(generateFullMethodName(SERVICE_NAME, "SelectOpticalConfig")).setSampledToLocalTracing(true).setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.OpticalConfigId.getDefaultInstance())).setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.OpticalConfig.getDefaultInstance())).setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("SelectOpticalConfig")).build(); + } + } + } + return getSelectOpticalConfigMethod; + } + + private static volatile io.grpc.MethodDescriptor getSetOpticalLinkMethod; + + @io.grpc.stub.annotations.RpcMethod(fullMethodName = SERVICE_NAME + '/' + "SetOpticalLink", requestType = context.ContextOuterClass.OpticalLink.class, responseType = context.ContextOuterClass.Empty.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getSetOpticalLinkMethod() { + io.grpc.MethodDescriptor getSetOpticalLinkMethod; + if ((getSetOpticalLinkMethod = ContextServiceGrpc.getSetOpticalLinkMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getSetOpticalLinkMethod = ContextServiceGrpc.getSetOpticalLinkMethod) == null) { + ContextServiceGrpc.getSetOpticalLinkMethod = getSetOpticalLinkMethod = io.grpc.MethodDescriptor.newBuilder().setType(io.grpc.MethodDescriptor.MethodType.UNARY).setFullMethodName(generateFullMethodName(SERVICE_NAME, "SetOpticalLink")).setSampledToLocalTracing(true).setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.OpticalLink.getDefaultInstance())).setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.Empty.getDefaultInstance())).setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("SetOpticalLink")).build(); + } + } + } + return getSetOpticalLinkMethod; + } + + private static volatile io.grpc.MethodDescriptor getGetOpticalLinkMethod; + + @io.grpc.stub.annotations.RpcMethod(fullMethodName = SERVICE_NAME + '/' + "GetOpticalLink", requestType = context.ContextOuterClass.OpticalLinkId.class, responseType = context.ContextOuterClass.OpticalLink.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetOpticalLinkMethod() { + io.grpc.MethodDescriptor getGetOpticalLinkMethod; + if ((getGetOpticalLinkMethod = ContextServiceGrpc.getGetOpticalLinkMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getGetOpticalLinkMethod = ContextServiceGrpc.getGetOpticalLinkMethod) == null) { + ContextServiceGrpc.getGetOpticalLinkMethod = getGetOpticalLinkMethod = io.grpc.MethodDescriptor.newBuilder().setType(io.grpc.MethodDescriptor.MethodType.UNARY).setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetOpticalLink")).setSampledToLocalTracing(true).setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.OpticalLinkId.getDefaultInstance())).setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.OpticalLink.getDefaultInstance())).setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("GetOpticalLink")).build(); + } + } + } + return getGetOpticalLinkMethod; + } + + private static volatile io.grpc.MethodDescriptor getGetFiberMethod; + + @io.grpc.stub.annotations.RpcMethod(fullMethodName = SERVICE_NAME + '/' + "GetFiber", requestType = context.ContextOuterClass.FiberId.class, responseType = context.ContextOuterClass.Fiber.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetFiberMethod() { + io.grpc.MethodDescriptor getGetFiberMethod; + if ((getGetFiberMethod = ContextServiceGrpc.getGetFiberMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getGetFiberMethod = ContextServiceGrpc.getGetFiberMethod) == null) { + ContextServiceGrpc.getGetFiberMethod = getGetFiberMethod = io.grpc.MethodDescriptor.newBuilder().setType(io.grpc.MethodDescriptor.MethodType.UNARY).setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetFiber")).setSampledToLocalTracing(true).setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.FiberId.getDefaultInstance())).setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.Fiber.getDefaultInstance())).setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("GetFiber")).build(); + } + } + } + return getGetFiberMethod; + } + /** * Creates a new async stub that supports all call types for the service */ @@ -1088,6 +1178,45 @@ public final class ContextServiceGrpc { default void getConnectionEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetConnectionEventsMethod(), responseObserver); } + + /** + *
+         * ------------------------------ Experimental -----------------------------
+         * 
+ */ + default void getOpticalConfig(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetOpticalConfigMethod(), responseObserver); + } + + /** + */ + default void setOpticalConfig(context.ContextOuterClass.OpticalConfig request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetOpticalConfigMethod(), responseObserver); + } + + /** + */ + default void selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSelectOpticalConfigMethod(), responseObserver); + } + + /** + */ + default void setOpticalLink(context.ContextOuterClass.OpticalLink request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetOpticalLinkMethod(), responseObserver); + } + + /** + */ + default void getOpticalLink(context.ContextOuterClass.OpticalLinkId request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetOpticalLinkMethod(), responseObserver); + } + + /** + */ + default void getFiber(context.ContextOuterClass.FiberId request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetFiberMethod(), responseObserver); + } } /** @@ -1408,6 +1537,45 @@ public final class ContextServiceGrpc { public void getConnectionEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ClientCalls.asyncServerStreamingCall(getChannel().newCall(getGetConnectionEventsMethod(), getCallOptions()), request, responseObserver); } + + /** + *
+         * ------------------------------ Experimental -----------------------------
+         * 
+ */ + public void getOpticalConfig(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall(getChannel().newCall(getGetOpticalConfigMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void setOpticalConfig(context.ContextOuterClass.OpticalConfig request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall(getChannel().newCall(getSetOpticalConfigMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall(getChannel().newCall(getSelectOpticalConfigMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void setOpticalLink(context.ContextOuterClass.OpticalLink request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall(getChannel().newCall(getSetOpticalLinkMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void getOpticalLink(context.ContextOuterClass.OpticalLinkId request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall(getChannel().newCall(getGetOpticalLinkMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void getFiber(context.ContextOuterClass.FiberId request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall(getChannel().newCall(getGetFiberMethod(), getCallOptions()), request, responseObserver); + } } /** @@ -1717,6 +1885,45 @@ public final class ContextServiceGrpc { public java.util.Iterator getConnectionEvents(context.ContextOuterClass.Empty request) { return io.grpc.stub.ClientCalls.blockingServerStreamingCall(getChannel(), getGetConnectionEventsMethod(), getCallOptions(), request); } + + /** + *
+         * ------------------------------ Experimental -----------------------------
+         * 
+ */ + public context.ContextOuterClass.OpticalConfigList getOpticalConfig(context.ContextOuterClass.Empty request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall(getChannel(), getGetOpticalConfigMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.OpticalConfigId setOpticalConfig(context.ContextOuterClass.OpticalConfig request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall(getChannel(), getSetOpticalConfigMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.OpticalConfig selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall(getChannel(), getSelectOpticalConfigMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.Empty setOpticalLink(context.ContextOuterClass.OpticalLink request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall(getChannel(), getSetOpticalLinkMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.OpticalLink getOpticalLink(context.ContextOuterClass.OpticalLinkId request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall(getChannel(), getGetOpticalLinkMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.Fiber getFiber(context.ContextOuterClass.FiberId request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall(getChannel(), getGetFiberMethod(), getCallOptions(), request); + } } /** @@ -1984,6 +2191,45 @@ public final class ContextServiceGrpc { public com.google.common.util.concurrent.ListenableFuture removeConnection(context.ContextOuterClass.ConnectionId request) { return io.grpc.stub.ClientCalls.futureUnaryCall(getChannel().newCall(getRemoveConnectionMethod(), getCallOptions()), request); } + + /** + *
+         * ------------------------------ Experimental -----------------------------
+         * 
+ */ + public com.google.common.util.concurrent.ListenableFuture getOpticalConfig(context.ContextOuterClass.Empty request) { + return io.grpc.stub.ClientCalls.futureUnaryCall(getChannel().newCall(getGetOpticalConfigMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture setOpticalConfig(context.ContextOuterClass.OpticalConfig request) { + return io.grpc.stub.ClientCalls.futureUnaryCall(getChannel().newCall(getSetOpticalConfigMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request) { + return io.grpc.stub.ClientCalls.futureUnaryCall(getChannel().newCall(getSelectOpticalConfigMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture setOpticalLink(context.ContextOuterClass.OpticalLink request) { + return io.grpc.stub.ClientCalls.futureUnaryCall(getChannel().newCall(getSetOpticalLinkMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture getOpticalLink(context.ContextOuterClass.OpticalLinkId request) { + return io.grpc.stub.ClientCalls.futureUnaryCall(getChannel().newCall(getGetOpticalLinkMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture getFiber(context.ContextOuterClass.FiberId request) { + return io.grpc.stub.ClientCalls.futureUnaryCall(getChannel().newCall(getGetFiberMethod(), getCallOptions()), request); + } } private static final int METHODID_LIST_CONTEXT_IDS = 0; @@ -2084,6 +2330,18 @@ public final class ContextServiceGrpc { private static final int METHODID_GET_CONNECTION_EVENTS = 48; + private static final int METHODID_GET_OPTICAL_CONFIG = 49; + + private static final int METHODID_SET_OPTICAL_CONFIG = 50; + + private static final int METHODID_SELECT_OPTICAL_CONFIG = 51; + + private static final int METHODID_SET_OPTICAL_LINK = 52; + + private static final int METHODID_GET_OPTICAL_LINK = 53; + + private static final int METHODID_GET_FIBER = 54; + private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, io.grpc.stub.ServerCalls.ServerStreamingMethod, io.grpc.stub.ServerCalls.ClientStreamingMethod, io.grpc.stub.ServerCalls.BidiStreamingMethod { private final AsyncService serviceImpl; @@ -2246,6 +2504,24 @@ public final class ContextServiceGrpc { case METHODID_GET_CONNECTION_EVENTS: serviceImpl.getConnectionEvents((context.ContextOuterClass.Empty) request, (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_GET_OPTICAL_CONFIG: + serviceImpl.getOpticalConfig((context.ContextOuterClass.Empty) request, (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_SET_OPTICAL_CONFIG: + serviceImpl.setOpticalConfig((context.ContextOuterClass.OpticalConfig) request, (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_SELECT_OPTICAL_CONFIG: + serviceImpl.selectOpticalConfig((context.ContextOuterClass.OpticalConfigId) request, (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_SET_OPTICAL_LINK: + serviceImpl.setOpticalLink((context.ContextOuterClass.OpticalLink) request, (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_GET_OPTICAL_LINK: + serviceImpl.getOpticalLink((context.ContextOuterClass.OpticalLinkId) request, (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_GET_FIBER: + serviceImpl.getFiber((context.ContextOuterClass.FiberId) request, (io.grpc.stub.StreamObserver) responseObserver); + break; default: throw new AssertionError(); } @@ -2262,7 +2538,7 @@ public final class ContextServiceGrpc { } public static io.grpc.ServerServiceDefinition bindService(AsyncService service) { - return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getListContextIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONTEXT_IDS))).addMethod(getListContextsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONTEXTS))).addMethod(getGetContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_CONTEXT))).addMethod(getSetContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_CONTEXT))).addMethod(getRemoveContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_CONTEXT))).addMethod(getGetContextEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_CONTEXT_EVENTS))).addMethod(getListTopologyIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_TOPOLOGY_IDS))).addMethod(getListTopologiesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_TOPOLOGIES))).addMethod(getGetTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY))).addMethod(getGetTopologyDetailsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY_DETAILS))).addMethod(getSetTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_TOPOLOGY))).addMethod(getRemoveTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_TOPOLOGY))).addMethod(getGetTopologyEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY_EVENTS))).addMethod(getListDeviceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_DEVICE_IDS))).addMethod(getListDevicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_DEVICES))).addMethod(getGetDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_DEVICE))).addMethod(getSetDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_DEVICE))).addMethod(getRemoveDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_DEVICE))).addMethod(getGetDeviceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_DEVICE_EVENTS))).addMethod(getSelectDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_DEVICE))).addMethod(getListEndPointNamesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_END_POINT_NAMES))).addMethod(getListLinkIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_LINK_IDS))).addMethod(getListLinksMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_LINKS))).addMethod(getGetLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_LINK))).addMethod(getSetLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_LINK))).addMethod(getRemoveLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_LINK))).addMethod(getGetLinkEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_LINK_EVENTS))).addMethod(getListServiceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SERVICE_IDS))).addMethod(getListServicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SERVICES))).addMethod(getGetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_SERVICE))).addMethod(getSetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_SERVICE))).addMethod(getUnsetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_UNSET_SERVICE))).addMethod(getRemoveServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_SERVICE))).addMethod(getGetServiceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_SERVICE_EVENTS))).addMethod(getSelectServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_SERVICE))).addMethod(getListSliceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SLICE_IDS))).addMethod(getListSlicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SLICES))).addMethod(getGetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_SLICE))).addMethod(getSetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_SLICE))).addMethod(getUnsetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_UNSET_SLICE))).addMethod(getRemoveSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_SLICE))).addMethod(getGetSliceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_SLICE_EVENTS))).addMethod(getSelectSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_SLICE))).addMethod(getListConnectionIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONNECTION_IDS))).addMethod(getListConnectionsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONNECTIONS))).addMethod(getGetConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_CONNECTION))).addMethod(getSetConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_CONNECTION))).addMethod(getRemoveConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_CONNECTION))).addMethod(getGetConnectionEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_CONNECTION_EVENTS))).build(); + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getListContextIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONTEXT_IDS))).addMethod(getListContextsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONTEXTS))).addMethod(getGetContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_CONTEXT))).addMethod(getSetContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_CONTEXT))).addMethod(getRemoveContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_CONTEXT))).addMethod(getGetContextEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_CONTEXT_EVENTS))).addMethod(getListTopologyIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_TOPOLOGY_IDS))).addMethod(getListTopologiesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_TOPOLOGIES))).addMethod(getGetTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY))).addMethod(getGetTopologyDetailsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY_DETAILS))).addMethod(getSetTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_TOPOLOGY))).addMethod(getRemoveTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_TOPOLOGY))).addMethod(getGetTopologyEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY_EVENTS))).addMethod(getListDeviceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_DEVICE_IDS))).addMethod(getListDevicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_DEVICES))).addMethod(getGetDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_DEVICE))).addMethod(getSetDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_DEVICE))).addMethod(getRemoveDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_DEVICE))).addMethod(getGetDeviceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_DEVICE_EVENTS))).addMethod(getSelectDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_DEVICE))).addMethod(getListEndPointNamesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_END_POINT_NAMES))).addMethod(getListLinkIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_LINK_IDS))).addMethod(getListLinksMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_LINKS))).addMethod(getGetLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_LINK))).addMethod(getSetLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_LINK))).addMethod(getRemoveLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_LINK))).addMethod(getGetLinkEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_LINK_EVENTS))).addMethod(getListServiceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SERVICE_IDS))).addMethod(getListServicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SERVICES))).addMethod(getGetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_SERVICE))).addMethod(getSetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_SERVICE))).addMethod(getUnsetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_UNSET_SERVICE))).addMethod(getRemoveServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_SERVICE))).addMethod(getGetServiceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_SERVICE_EVENTS))).addMethod(getSelectServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_SERVICE))).addMethod(getListSliceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SLICE_IDS))).addMethod(getListSlicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SLICES))).addMethod(getGetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_SLICE))).addMethod(getSetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_SLICE))).addMethod(getUnsetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_UNSET_SLICE))).addMethod(getRemoveSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_SLICE))).addMethod(getGetSliceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_SLICE_EVENTS))).addMethod(getSelectSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_SLICE))).addMethod(getListConnectionIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONNECTION_IDS))).addMethod(getListConnectionsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONNECTIONS))).addMethod(getGetConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_CONNECTION))).addMethod(getSetConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_CONNECTION))).addMethod(getRemoveConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_CONNECTION))).addMethod(getGetConnectionEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_CONNECTION_EVENTS))).addMethod(getGetOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_OPTICAL_CONFIG))).addMethod(getSetOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_OPTICAL_CONFIG))).addMethod(getSelectOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_OPTICAL_CONFIG))).addMethod(getSetOpticalLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_OPTICAL_LINK))).addMethod(getGetOpticalLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_OPTICAL_LINK))).addMethod(getGetFiberMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_FIBER))).build(); } private static abstract class ContextServiceBaseDescriptorSupplier implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier { @@ -2309,7 +2585,7 @@ public final class ContextServiceGrpc { synchronized (ContextServiceGrpc.class) { result = serviceDescriptor; if (result == null) { - serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME).setSchemaDescriptor(new ContextServiceFileDescriptorSupplier()).addMethod(getListContextIdsMethod()).addMethod(getListContextsMethod()).addMethod(getGetContextMethod()).addMethod(getSetContextMethod()).addMethod(getRemoveContextMethod()).addMethod(getGetContextEventsMethod()).addMethod(getListTopologyIdsMethod()).addMethod(getListTopologiesMethod()).addMethod(getGetTopologyMethod()).addMethod(getGetTopologyDetailsMethod()).addMethod(getSetTopologyMethod()).addMethod(getRemoveTopologyMethod()).addMethod(getGetTopologyEventsMethod()).addMethod(getListDeviceIdsMethod()).addMethod(getListDevicesMethod()).addMethod(getGetDeviceMethod()).addMethod(getSetDeviceMethod()).addMethod(getRemoveDeviceMethod()).addMethod(getGetDeviceEventsMethod()).addMethod(getSelectDeviceMethod()).addMethod(getListEndPointNamesMethod()).addMethod(getListLinkIdsMethod()).addMethod(getListLinksMethod()).addMethod(getGetLinkMethod()).addMethod(getSetLinkMethod()).addMethod(getRemoveLinkMethod()).addMethod(getGetLinkEventsMethod()).addMethod(getListServiceIdsMethod()).addMethod(getListServicesMethod()).addMethod(getGetServiceMethod()).addMethod(getSetServiceMethod()).addMethod(getUnsetServiceMethod()).addMethod(getRemoveServiceMethod()).addMethod(getGetServiceEventsMethod()).addMethod(getSelectServiceMethod()).addMethod(getListSliceIdsMethod()).addMethod(getListSlicesMethod()).addMethod(getGetSliceMethod()).addMethod(getSetSliceMethod()).addMethod(getUnsetSliceMethod()).addMethod(getRemoveSliceMethod()).addMethod(getGetSliceEventsMethod()).addMethod(getSelectSliceMethod()).addMethod(getListConnectionIdsMethod()).addMethod(getListConnectionsMethod()).addMethod(getGetConnectionMethod()).addMethod(getSetConnectionMethod()).addMethod(getRemoveConnectionMethod()).addMethod(getGetConnectionEventsMethod()).build(); + serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME).setSchemaDescriptor(new ContextServiceFileDescriptorSupplier()).addMethod(getListContextIdsMethod()).addMethod(getListContextsMethod()).addMethod(getGetContextMethod()).addMethod(getSetContextMethod()).addMethod(getRemoveContextMethod()).addMethod(getGetContextEventsMethod()).addMethod(getListTopologyIdsMethod()).addMethod(getListTopologiesMethod()).addMethod(getGetTopologyMethod()).addMethod(getGetTopologyDetailsMethod()).addMethod(getSetTopologyMethod()).addMethod(getRemoveTopologyMethod()).addMethod(getGetTopologyEventsMethod()).addMethod(getListDeviceIdsMethod()).addMethod(getListDevicesMethod()).addMethod(getGetDeviceMethod()).addMethod(getSetDeviceMethod()).addMethod(getRemoveDeviceMethod()).addMethod(getGetDeviceEventsMethod()).addMethod(getSelectDeviceMethod()).addMethod(getListEndPointNamesMethod()).addMethod(getListLinkIdsMethod()).addMethod(getListLinksMethod()).addMethod(getGetLinkMethod()).addMethod(getSetLinkMethod()).addMethod(getRemoveLinkMethod()).addMethod(getGetLinkEventsMethod()).addMethod(getListServiceIdsMethod()).addMethod(getListServicesMethod()).addMethod(getGetServiceMethod()).addMethod(getSetServiceMethod()).addMethod(getUnsetServiceMethod()).addMethod(getRemoveServiceMethod()).addMethod(getGetServiceEventsMethod()).addMethod(getSelectServiceMethod()).addMethod(getListSliceIdsMethod()).addMethod(getListSlicesMethod()).addMethod(getGetSliceMethod()).addMethod(getSetSliceMethod()).addMethod(getUnsetSliceMethod()).addMethod(getRemoveSliceMethod()).addMethod(getGetSliceEventsMethod()).addMethod(getSelectSliceMethod()).addMethod(getListConnectionIdsMethod()).addMethod(getListConnectionsMethod()).addMethod(getGetConnectionMethod()).addMethod(getSetConnectionMethod()).addMethod(getRemoveConnectionMethod()).addMethod(getGetConnectionEventsMethod()).addMethod(getGetOpticalConfigMethod()).addMethod(getSetOpticalConfigMethod()).addMethod(getSelectOpticalConfigMethod()).addMethod(getSetOpticalLinkMethod()).addMethod(getGetOpticalLinkMethod()).addMethod(getGetFiberMethod()).build(); } } } diff --git a/src/ztp/target/generated-sources/grpc/context/MutinyContextServiceGrpc.java b/src/ztp/target/generated-sources/grpc/context/MutinyContextServiceGrpc.java index 247bf18ae..c6dbb1e92 100644 --- a/src/ztp/target/generated-sources/grpc/context/MutinyContextServiceGrpc.java +++ b/src/ztp/target/generated-sources/grpc/context/MutinyContextServiceGrpc.java @@ -203,6 +203,35 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.MutinyGrp return io.quarkus.grpc.stubs.ClientCalls.oneToOne(request, delegateStub::removeConnection); } + /** + *
+         *  ------------------------------ Experimental -----------------------------
+         * 
+ */ + public io.smallrye.mutiny.Uni getOpticalConfig(context.ContextOuterClass.Empty request) { + return io.quarkus.grpc.stubs.ClientCalls.oneToOne(request, delegateStub::getOpticalConfig); + } + + public io.smallrye.mutiny.Uni setOpticalConfig(context.ContextOuterClass.OpticalConfig request) { + return io.quarkus.grpc.stubs.ClientCalls.oneToOne(request, delegateStub::setOpticalConfig); + } + + public io.smallrye.mutiny.Uni selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request) { + return io.quarkus.grpc.stubs.ClientCalls.oneToOne(request, delegateStub::selectOpticalConfig); + } + + public io.smallrye.mutiny.Uni setOpticalLink(context.ContextOuterClass.OpticalLink request) { + return io.quarkus.grpc.stubs.ClientCalls.oneToOne(request, delegateStub::setOpticalLink); + } + + public io.smallrye.mutiny.Uni getOpticalLink(context.ContextOuterClass.OpticalLinkId request) { + return io.quarkus.grpc.stubs.ClientCalls.oneToOne(request, delegateStub::getOpticalLink); + } + + public io.smallrye.mutiny.Uni getFiber(context.ContextOuterClass.FiberId request) { + return io.quarkus.grpc.stubs.ClientCalls.oneToOne(request, delegateStub::getFiber); + } + public io.smallrye.mutiny.Multi getContextEvents(context.ContextOuterClass.Empty request) { return io.quarkus.grpc.stubs.ClientCalls.oneToMany(request, delegateStub::getContextEvents); } @@ -414,6 +443,35 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.MutinyGrp throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); } + /** + *
+         *  ------------------------------ Experimental -----------------------------
+         * 
+ */ + public io.smallrye.mutiny.Uni getOpticalConfig(context.ContextOuterClass.Empty request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + public io.smallrye.mutiny.Uni setOpticalConfig(context.ContextOuterClass.OpticalConfig request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + public io.smallrye.mutiny.Uni selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + public io.smallrye.mutiny.Uni setOpticalLink(context.ContextOuterClass.OpticalLink request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + public io.smallrye.mutiny.Uni getOpticalLink(context.ContextOuterClass.OpticalLinkId request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + public io.smallrye.mutiny.Uni getFiber(context.ContextOuterClass.FiberId request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + public io.smallrye.mutiny.Multi getContextEvents(context.ContextOuterClass.Empty request) { throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); } @@ -444,7 +502,7 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.MutinyGrp @java.lang.Override public io.grpc.ServerServiceDefinition bindService() { - return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(context.ContextServiceGrpc.getListContextIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONTEXT_IDS, compression))).addMethod(context.ContextServiceGrpc.getListContextsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONTEXTS, compression))).addMethod(context.ContextServiceGrpc.getGetContextMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_CONTEXT, compression))).addMethod(context.ContextServiceGrpc.getSetContextMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_CONTEXT, compression))).addMethod(context.ContextServiceGrpc.getRemoveContextMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_CONTEXT, compression))).addMethod(context.ContextServiceGrpc.getGetContextEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_CONTEXT_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getListTopologyIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_TOPOLOGY_IDS, compression))).addMethod(context.ContextServiceGrpc.getListTopologiesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_TOPOLOGIES, compression))).addMethod(context.ContextServiceGrpc.getGetTopologyMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY, compression))).addMethod(context.ContextServiceGrpc.getGetTopologyDetailsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY_DETAILS, compression))).addMethod(context.ContextServiceGrpc.getSetTopologyMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_TOPOLOGY, compression))).addMethod(context.ContextServiceGrpc.getRemoveTopologyMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_TOPOLOGY, compression))).addMethod(context.ContextServiceGrpc.getGetTopologyEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getListDeviceIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_DEVICE_IDS, compression))).addMethod(context.ContextServiceGrpc.getListDevicesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_DEVICES, compression))).addMethod(context.ContextServiceGrpc.getGetDeviceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_DEVICE, compression))).addMethod(context.ContextServiceGrpc.getSetDeviceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_DEVICE, compression))).addMethod(context.ContextServiceGrpc.getRemoveDeviceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_DEVICE, compression))).addMethod(context.ContextServiceGrpc.getGetDeviceEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_DEVICE_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getSelectDeviceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_DEVICE, compression))).addMethod(context.ContextServiceGrpc.getListEndPointNamesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_END_POINT_NAMES, compression))).addMethod(context.ContextServiceGrpc.getListLinkIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_LINK_IDS, compression))).addMethod(context.ContextServiceGrpc.getListLinksMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_LINKS, compression))).addMethod(context.ContextServiceGrpc.getGetLinkMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_LINK, compression))).addMethod(context.ContextServiceGrpc.getSetLinkMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_LINK, compression))).addMethod(context.ContextServiceGrpc.getRemoveLinkMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_LINK, compression))).addMethod(context.ContextServiceGrpc.getGetLinkEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_LINK_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getListServiceIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SERVICE_IDS, compression))).addMethod(context.ContextServiceGrpc.getListServicesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SERVICES, compression))).addMethod(context.ContextServiceGrpc.getGetServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getSetServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getUnsetServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_UNSET_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getRemoveServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getGetServiceEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_SERVICE_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getSelectServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getListSliceIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SLICE_IDS, compression))).addMethod(context.ContextServiceGrpc.getListSlicesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SLICES, compression))).addMethod(context.ContextServiceGrpc.getGetSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_SLICE, compression))).addMethod(context.ContextServiceGrpc.getSetSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_SLICE, compression))).addMethod(context.ContextServiceGrpc.getUnsetSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_UNSET_SLICE, compression))).addMethod(context.ContextServiceGrpc.getRemoveSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_SLICE, compression))).addMethod(context.ContextServiceGrpc.getGetSliceEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_SLICE_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getSelectSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_SLICE, compression))).addMethod(context.ContextServiceGrpc.getListConnectionIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONNECTION_IDS, compression))).addMethod(context.ContextServiceGrpc.getListConnectionsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONNECTIONS, compression))).addMethod(context.ContextServiceGrpc.getGetConnectionMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_CONNECTION, compression))).addMethod(context.ContextServiceGrpc.getSetConnectionMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_CONNECTION, compression))).addMethod(context.ContextServiceGrpc.getRemoveConnectionMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_CONNECTION, compression))).addMethod(context.ContextServiceGrpc.getGetConnectionEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_CONNECTION_EVENTS, compression))).build(); + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(context.ContextServiceGrpc.getListContextIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONTEXT_IDS, compression))).addMethod(context.ContextServiceGrpc.getListContextsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONTEXTS, compression))).addMethod(context.ContextServiceGrpc.getGetContextMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_CONTEXT, compression))).addMethod(context.ContextServiceGrpc.getSetContextMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_CONTEXT, compression))).addMethod(context.ContextServiceGrpc.getRemoveContextMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_CONTEXT, compression))).addMethod(context.ContextServiceGrpc.getGetContextEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_CONTEXT_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getListTopologyIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_TOPOLOGY_IDS, compression))).addMethod(context.ContextServiceGrpc.getListTopologiesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_TOPOLOGIES, compression))).addMethod(context.ContextServiceGrpc.getGetTopologyMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY, compression))).addMethod(context.ContextServiceGrpc.getGetTopologyDetailsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY_DETAILS, compression))).addMethod(context.ContextServiceGrpc.getSetTopologyMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_TOPOLOGY, compression))).addMethod(context.ContextServiceGrpc.getRemoveTopologyMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_TOPOLOGY, compression))).addMethod(context.ContextServiceGrpc.getGetTopologyEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getListDeviceIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_DEVICE_IDS, compression))).addMethod(context.ContextServiceGrpc.getListDevicesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_DEVICES, compression))).addMethod(context.ContextServiceGrpc.getGetDeviceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_DEVICE, compression))).addMethod(context.ContextServiceGrpc.getSetDeviceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_DEVICE, compression))).addMethod(context.ContextServiceGrpc.getRemoveDeviceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_DEVICE, compression))).addMethod(context.ContextServiceGrpc.getGetDeviceEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_DEVICE_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getSelectDeviceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_DEVICE, compression))).addMethod(context.ContextServiceGrpc.getListEndPointNamesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_END_POINT_NAMES, compression))).addMethod(context.ContextServiceGrpc.getListLinkIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_LINK_IDS, compression))).addMethod(context.ContextServiceGrpc.getListLinksMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_LINKS, compression))).addMethod(context.ContextServiceGrpc.getGetLinkMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_LINK, compression))).addMethod(context.ContextServiceGrpc.getSetLinkMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_LINK, compression))).addMethod(context.ContextServiceGrpc.getRemoveLinkMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_LINK, compression))).addMethod(context.ContextServiceGrpc.getGetLinkEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_LINK_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getListServiceIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SERVICE_IDS, compression))).addMethod(context.ContextServiceGrpc.getListServicesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SERVICES, compression))).addMethod(context.ContextServiceGrpc.getGetServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getSetServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getUnsetServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_UNSET_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getRemoveServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getGetServiceEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_SERVICE_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getSelectServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getListSliceIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SLICE_IDS, compression))).addMethod(context.ContextServiceGrpc.getListSlicesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SLICES, compression))).addMethod(context.ContextServiceGrpc.getGetSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_SLICE, compression))).addMethod(context.ContextServiceGrpc.getSetSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_SLICE, compression))).addMethod(context.ContextServiceGrpc.getUnsetSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_UNSET_SLICE, compression))).addMethod(context.ContextServiceGrpc.getRemoveSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_SLICE, compression))).addMethod(context.ContextServiceGrpc.getGetSliceEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_SLICE_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getSelectSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_SLICE, compression))).addMethod(context.ContextServiceGrpc.getListConnectionIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONNECTION_IDS, compression))).addMethod(context.ContextServiceGrpc.getListConnectionsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONNECTIONS, compression))).addMethod(context.ContextServiceGrpc.getGetConnectionMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_CONNECTION, compression))).addMethod(context.ContextServiceGrpc.getSetConnectionMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_CONNECTION, compression))).addMethod(context.ContextServiceGrpc.getRemoveConnectionMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_CONNECTION, compression))).addMethod(context.ContextServiceGrpc.getGetConnectionEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_CONNECTION_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getGetOpticalConfigMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_OPTICAL_CONFIG, compression))).addMethod(context.ContextServiceGrpc.getSetOpticalConfigMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_OPTICAL_CONFIG, compression))).addMethod(context.ContextServiceGrpc.getSelectOpticalConfigMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_OPTICAL_CONFIG, compression))).addMethod(context.ContextServiceGrpc.getSetOpticalLinkMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_OPTICAL_LINK, compression))).addMethod(context.ContextServiceGrpc.getGetOpticalLinkMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_OPTICAL_LINK, compression))).addMethod(context.ContextServiceGrpc.getGetFiberMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_FIBER, compression))).build(); } } @@ -546,6 +604,18 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.MutinyGrp private static final int METHODID_GET_CONNECTION_EVENTS = 48; + private static final int METHODID_GET_OPTICAL_CONFIG = 49; + + private static final int METHODID_SET_OPTICAL_CONFIG = 50; + + private static final int METHODID_SELECT_OPTICAL_CONFIG = 51; + + private static final int METHODID_SET_OPTICAL_LINK = 52; + + private static final int METHODID_GET_OPTICAL_LINK = 53; + + private static final int METHODID_GET_FIBER = 54; + private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, io.grpc.stub.ServerCalls.ServerStreamingMethod, io.grpc.stub.ServerCalls.ClientStreamingMethod, io.grpc.stub.ServerCalls.BidiStreamingMethod { private final ContextServiceImplBase serviceImpl; @@ -711,6 +781,24 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.MutinyGrp case METHODID_GET_CONNECTION_EVENTS: io.quarkus.grpc.stubs.ServerCalls.oneToMany((context.ContextOuterClass.Empty) request, (io.grpc.stub.StreamObserver) responseObserver, compression, serviceImpl::getConnectionEvents); break; + case METHODID_GET_OPTICAL_CONFIG: + io.quarkus.grpc.stubs.ServerCalls.oneToOne((context.ContextOuterClass.Empty) request, (io.grpc.stub.StreamObserver) responseObserver, compression, serviceImpl::getOpticalConfig); + break; + case METHODID_SET_OPTICAL_CONFIG: + io.quarkus.grpc.stubs.ServerCalls.oneToOne((context.ContextOuterClass.OpticalConfig) request, (io.grpc.stub.StreamObserver) responseObserver, compression, serviceImpl::setOpticalConfig); + break; + case METHODID_SELECT_OPTICAL_CONFIG: + io.quarkus.grpc.stubs.ServerCalls.oneToOne((context.ContextOuterClass.OpticalConfigId) request, (io.grpc.stub.StreamObserver) responseObserver, compression, serviceImpl::selectOpticalConfig); + break; + case METHODID_SET_OPTICAL_LINK: + io.quarkus.grpc.stubs.ServerCalls.oneToOne((context.ContextOuterClass.OpticalLink) request, (io.grpc.stub.StreamObserver) responseObserver, compression, serviceImpl::setOpticalLink); + break; + case METHODID_GET_OPTICAL_LINK: + io.quarkus.grpc.stubs.ServerCalls.oneToOne((context.ContextOuterClass.OpticalLinkId) request, (io.grpc.stub.StreamObserver) responseObserver, compression, serviceImpl::getOpticalLink); + break; + case METHODID_GET_FIBER: + io.quarkus.grpc.stubs.ServerCalls.oneToOne((context.ContextOuterClass.FiberId) request, (io.grpc.stub.StreamObserver) responseObserver, compression, serviceImpl::getFiber); + break; default: throw new java.lang.AssertionError(); } diff --git a/src/ztp/target/kubernetes/kubernetes.yml b/src/ztp/target/kubernetes/kubernetes.yml index 9f78cd52f..3e619f614 100644 --- a/src/ztp/target/kubernetes/kubernetes.yml +++ b/src/ztp/target/kubernetes/kubernetes.yml @@ -3,8 +3,8 @@ apiVersion: v1 kind: Service metadata: annotations: - app.quarkus.io/commit-id: 9fcc34bb0e7806d8a5ca5f75cbf3cb9e3358d756 - app.quarkus.io/build-timestamp: 2024-02-15 - 11:02:55 +0000 + app.quarkus.io/commit-id: 872beaea149552efa0ee9a8a38c5a2cc2d8e586f + app.quarkus.io/build-timestamp: 2024-04-04 - 09:34:08 +0000 prometheus.io/scrape: "true" prometheus.io/path: /q/metrics prometheus.io/port: "8080" @@ -17,18 +17,18 @@ metadata: name: ztpservice spec: ports: - - name: https - port: 443 + - name: http + port: 9192 protocol: TCP - targetPort: 8443 + targetPort: 8080 - name: grpc port: 5050 protocol: TCP targetPort: 5050 - - name: http - port: 9192 + - name: https + port: 443 protocol: TCP - targetPort: 8080 + targetPort: 8443 selector: app.kubernetes.io/name: ztpservice type: ClusterIP @@ -37,8 +37,8 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - app.quarkus.io/commit-id: 9fcc34bb0e7806d8a5ca5f75cbf3cb9e3358d756 - app.quarkus.io/build-timestamp: 2024-02-15 - 11:02:55 +0000 + app.quarkus.io/commit-id: 872beaea149552efa0ee9a8a38c5a2cc2d8e586f + app.quarkus.io/build-timestamp: 2024-04-04 - 09:34:08 +0000 prometheus.io/scrape: "true" prometheus.io/path: /q/metrics prometheus.io/port: "8080" @@ -46,8 +46,8 @@ metadata: labels: app: ztpservice app.kubernetes.io/managed-by: quarkus - app.kubernetes.io/version: 0.2.0 app.kubernetes.io/name: ztpservice + app.kubernetes.io/version: 0.2.0 name: ztpservice spec: replicas: 1 @@ -57,8 +57,8 @@ spec: template: metadata: annotations: - app.quarkus.io/commit-id: 9fcc34bb0e7806d8a5ca5f75cbf3cb9e3358d756 - app.quarkus.io/build-timestamp: 2024-02-15 - 11:02:55 +0000 + app.quarkus.io/commit-id: 872beaea149552efa0ee9a8a38c5a2cc2d8e586f + app.quarkus.io/build-timestamp: 2024-04-04 - 09:34:08 +0000 prometheus.io/scrape: "true" prometheus.io/path: /q/metrics prometheus.io/port: "8080" @@ -66,8 +66,8 @@ spec: labels: app: ztpservice app.kubernetes.io/managed-by: quarkus - app.kubernetes.io/version: 0.2.0 app.kubernetes.io/name: ztpservice + app.kubernetes.io/version: 0.2.0 spec: containers: - env: @@ -75,10 +75,10 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - - name: CONTEXT_SERVICE_HOST - value: contextservice - name: DEVICE_SERVICE_HOST value: deviceservice + - name: CONTEXT_SERVICE_HOST + value: contextservice image: labs.etsi.org:5050/tfs/controller/ztp:0.2.0 imagePullPolicy: Always livenessProbe: @@ -93,14 +93,14 @@ spec: timeoutSeconds: 10 name: ztpservice ports: - - containerPort: 8443 - name: https + - containerPort: 8080 + name: http protocol: TCP - containerPort: 5050 name: grpc protocol: TCP - - containerPort: 8080 - name: http + - containerPort: 8443 + name: https protocol: TCP readinessProbe: failureThreshold: 3 -- GitLab From 8613c5a503c65f450985a587a0889f2acac007a9 Mon Sep 17 00:00:00 2001 From: kpoulakakis Date: Thu, 4 Apr 2024 12:35:44 +0300 Subject: [PATCH 091/156] refactor: update kubernetes.yml --- src/ztp/target/kubernetes/kubernetes.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ztp/target/kubernetes/kubernetes.yml b/src/ztp/target/kubernetes/kubernetes.yml index 3e619f614..442ff876a 100644 --- a/src/ztp/target/kubernetes/kubernetes.yml +++ b/src/ztp/target/kubernetes/kubernetes.yml @@ -3,8 +3,8 @@ apiVersion: v1 kind: Service metadata: annotations: - app.quarkus.io/commit-id: 872beaea149552efa0ee9a8a38c5a2cc2d8e586f - app.quarkus.io/build-timestamp: 2024-04-04 - 09:34:08 +0000 + app.quarkus.io/commit-id: 7fce72764fa6bb9b37b407bbcba502cc0a23735f + app.quarkus.io/build-timestamp: 2024-04-04 - 09:35:22 +0000 prometheus.io/scrape: "true" prometheus.io/path: /q/metrics prometheus.io/port: "8080" @@ -37,8 +37,8 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - app.quarkus.io/commit-id: 872beaea149552efa0ee9a8a38c5a2cc2d8e586f - app.quarkus.io/build-timestamp: 2024-04-04 - 09:34:08 +0000 + app.quarkus.io/commit-id: 7fce72764fa6bb9b37b407bbcba502cc0a23735f + app.quarkus.io/build-timestamp: 2024-04-04 - 09:35:22 +0000 prometheus.io/scrape: "true" prometheus.io/path: /q/metrics prometheus.io/port: "8080" @@ -57,8 +57,8 @@ spec: template: metadata: annotations: - app.quarkus.io/commit-id: 872beaea149552efa0ee9a8a38c5a2cc2d8e586f - app.quarkus.io/build-timestamp: 2024-04-04 - 09:34:08 +0000 + app.quarkus.io/commit-id: 7fce72764fa6bb9b37b407bbcba502cc0a23735f + app.quarkus.io/build-timestamp: 2024-04-04 - 09:35:22 +0000 prometheus.io/scrape: "true" prometheus.io/path: /q/metrics prometheus.io/port: "8080" -- GitLab From 182b55a46135040b71a5980de9f72d94a85db2e8 Mon Sep 17 00:00:00 2001 From: kpoulakakis Date: Thu, 4 Apr 2024 17:48:18 +0300 Subject: [PATCH 092/156] refactor: some changes from proto files. --- .../grpc/context/ContextOuterClass.java | 7290 ++++++++++++++++- .../grpc/context/ContextService.java | 17 + .../grpc/context/ContextServiceBean.java | 54 + .../grpc/context/ContextServiceClient.java | 30 + .../grpc/context/ContextServiceGrpc.java | 280 +- .../context/MutinyContextServiceGrpc.java | 90 +- src/policy/target/kubernetes/kubernetes.yml | 24 +- 7 files changed, 7669 insertions(+), 116 deletions(-) diff --git a/src/policy/target/generated-sources/grpc/context/ContextOuterClass.java b/src/policy/target/generated-sources/grpc/context/ContextOuterClass.java index 22679d792..9bcff8a50 100644 --- a/src/policy/target/generated-sources/grpc/context/ContextOuterClass.java +++ b/src/policy/target/generated-sources/grpc/context/ContextOuterClass.java @@ -191,6 +191,10 @@ public final class ContextOuterClass { * DEVICEDRIVER_IETF_ACTN = 10; */ DEVICEDRIVER_IETF_ACTN(10), + /** + * DEVICEDRIVER_OC = 11; + */ + DEVICEDRIVER_OC(11), UNRECOGNIZED(-1); /** @@ -252,6 +256,11 @@ public final class ContextOuterClass { */ public static final int DEVICEDRIVER_IETF_ACTN_VALUE = 10; + /** + * DEVICEDRIVER_OC = 11; + */ + public static final int DEVICEDRIVER_OC_VALUE = 11; + public final int getNumber() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalArgumentException("Can't get the number of an unknown enum value."); @@ -297,6 +306,8 @@ public final class ContextOuterClass { return DEVICEDRIVER_FLEXSCALE; case 10: return DEVICEDRIVER_IETF_ACTN; + case 11: + return DEVICEDRIVER_OC; default: return null; } @@ -489,6 +500,10 @@ public final class ContextOuterClass { * SERVICETYPE_E2E = 5; */ SERVICETYPE_E2E(5), + /** + * SERVICETYPE_OPTICAL_CONNECTIVITY = 6; + */ + SERVICETYPE_OPTICAL_CONNECTIVITY(6), UNRECOGNIZED(-1); /** @@ -521,6 +536,11 @@ public final class ContextOuterClass { */ public static final int SERVICETYPE_E2E_VALUE = 5; + /** + * SERVICETYPE_OPTICAL_CONNECTIVITY = 6; + */ + public static final int SERVICETYPE_OPTICAL_CONNECTIVITY_VALUE = 6; + public final int getNumber() { if (this == UNRECOGNIZED) { throw new java.lang.IllegalArgumentException("Can't get the number of an unknown enum value."); @@ -556,6 +576,8 @@ public final class ContextOuterClass { return SERVICETYPE_TE; case 5: return SERVICETYPE_E2E; + case 6: + return SERVICETYPE_OPTICAL_CONNECTIVITY; default: return null; } @@ -69295,199 +69317,7217 @@ public final class ContextOuterClass { } } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Empty_descriptor; - - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Empty_fieldAccessorTable; - - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Uuid_descriptor; - - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Uuid_fieldAccessorTable; + public interface OpticalConfigIdOrBuilder extends // @@protoc_insertion_point(interface_extends:context.OpticalConfigId) + com.google.protobuf.MessageOrBuilder { - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Timestamp_descriptor; + /** + * string opticalconfig_uuid = 1; + * @return The opticalconfigUuid. + */ + java.lang.String getOpticalconfigUuid(); - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Timestamp_fieldAccessorTable; + /** + * string opticalconfig_uuid = 1; + * @return The bytes for opticalconfigUuid. + */ + com.google.protobuf.ByteString getOpticalconfigUuidBytes(); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Event_descriptor; + /** + *
+     * ---------------- Experimental ------------------------
+     * 
+ * + * Protobuf type {@code context.OpticalConfigId} + */ + public static final class OpticalConfigId extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:context.OpticalConfigId) + OpticalConfigIdOrBuilder { - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Event_fieldAccessorTable; + private static final long serialVersionUID = 0L; - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ContextId_descriptor; + // Use OpticalConfigId.newBuilder() to construct. + private OpticalConfigId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ContextId_fieldAccessorTable; + private OpticalConfigId() { + opticalconfigUuid_ = ""; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Context_descriptor; + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new OpticalConfigId(); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Context_fieldAccessorTable; + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalConfigId_descriptor; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ContextIdList_descriptor; + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalConfigId_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalConfigId.class, context.ContextOuterClass.OpticalConfigId.Builder.class); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ContextIdList_fieldAccessorTable; + public static final int OPTICALCONFIG_UUID_FIELD_NUMBER = 1; - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ContextList_descriptor; + @SuppressWarnings("serial") + private volatile java.lang.Object opticalconfigUuid_ = ""; - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ContextList_fieldAccessorTable; + /** + * string opticalconfig_uuid = 1; + * @return The opticalconfigUuid. + */ + @java.lang.Override + public java.lang.String getOpticalconfigUuid() { + java.lang.Object ref = opticalconfigUuid_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + opticalconfigUuid_ = s; + return s; + } + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ContextEvent_descriptor; + /** + * string opticalconfig_uuid = 1; + * @return The bytes for opticalconfigUuid. + */ + @java.lang.Override + public com.google.protobuf.ByteString getOpticalconfigUuidBytes() { + java.lang.Object ref = opticalconfigUuid_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + opticalconfigUuid_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ContextEvent_fieldAccessorTable; + private byte memoizedIsInitialized = -1; - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyId_descriptor; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + memoizedIsInitialized = 1; + return true; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyId_fieldAccessorTable; + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(opticalconfigUuid_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, opticalconfigUuid_); + } + getUnknownFields().writeTo(output); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Topology_descriptor; + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(opticalconfigUuid_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, opticalconfigUuid_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Topology_fieldAccessorTable; + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.OpticalConfigId)) { + return super.equals(obj); + } + context.ContextOuterClass.OpticalConfigId other = (context.ContextOuterClass.OpticalConfigId) obj; + if (!getOpticalconfigUuid().equals(other.getOpticalconfigUuid())) + return false; + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyDetails_descriptor; + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + OPTICALCONFIG_UUID_FIELD_NUMBER; + hash = (53 * hash) + getOpticalconfigUuid().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyDetails_fieldAccessorTable; + public static context.ContextOuterClass.OpticalConfigId parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyIdList_descriptor; + public static context.ContextOuterClass.OpticalConfigId parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyIdList_fieldAccessorTable; + public static context.ContextOuterClass.OpticalConfigId parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyList_descriptor; + public static context.ContextOuterClass.OpticalConfigId parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyList_fieldAccessorTable; + public static context.ContextOuterClass.OpticalConfigId parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyEvent_descriptor; + public static context.ContextOuterClass.OpticalConfigId parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyEvent_fieldAccessorTable; + public static context.ContextOuterClass.OpticalConfigId parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceId_descriptor; + public static context.ContextOuterClass.OpticalConfigId parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceId_fieldAccessorTable; + public static context.ContextOuterClass.OpticalConfigId parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Device_descriptor; + public static context.ContextOuterClass.OpticalConfigId parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Device_fieldAccessorTable; + public static context.ContextOuterClass.OpticalConfigId parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Component_descriptor; + public static context.ContextOuterClass.OpticalConfigId parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Component_fieldAccessorTable; + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Component_AttributesEntry_descriptor; + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Component_AttributesEntry_fieldAccessorTable; + public static Builder newBuilder(context.ContextOuterClass.OpticalConfigId prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceConfig_descriptor; + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceConfig_fieldAccessorTable; + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceIdList_descriptor; + /** + *
+         * ---------------- Experimental ------------------------
+         * 
+ * + * Protobuf type {@code context.OpticalConfigId} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:context.OpticalConfigId) + context.ContextOuterClass.OpticalConfigIdOrBuilder { - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceIdList_fieldAccessorTable; + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalConfigId_descriptor; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceList_descriptor; + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalConfigId_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalConfigId.class, context.ContextOuterClass.OpticalConfigId.Builder.class); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceList_fieldAccessorTable; + // Construct using context.ContextOuterClass.OpticalConfigId.newBuilder() + private Builder() { + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceFilter_descriptor; + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceFilter_fieldAccessorTable; + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + opticalconfigUuid_ = ""; + return this; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceEvent_descriptor; + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_OpticalConfigId_descriptor; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceEvent_fieldAccessorTable; + @java.lang.Override + public context.ContextOuterClass.OpticalConfigId getDefaultInstanceForType() { + return context.ContextOuterClass.OpticalConfigId.getDefaultInstance(); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkId_descriptor; + @java.lang.Override + public context.ContextOuterClass.OpticalConfigId build() { + context.ContextOuterClass.OpticalConfigId result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkId_fieldAccessorTable; + @java.lang.Override + public context.ContextOuterClass.OpticalConfigId buildPartial() { + context.ContextOuterClass.OpticalConfigId result = new context.ContextOuterClass.OpticalConfigId(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkAttributes_descriptor; + private void buildPartial0(context.ContextOuterClass.OpticalConfigId result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.opticalconfigUuid_ = opticalconfigUuid_; + } + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkAttributes_fieldAccessorTable; + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.OpticalConfigId) { + return mergeFrom((context.ContextOuterClass.OpticalConfigId) other); + } else { + super.mergeFrom(other); + return this; + } + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Link_descriptor; + public Builder mergeFrom(context.ContextOuterClass.OpticalConfigId other) { + if (other == context.ContextOuterClass.OpticalConfigId.getDefaultInstance()) + return this; + if (!other.getOpticalconfigUuid().isEmpty()) { + opticalconfigUuid_ = other.opticalconfigUuid_; + bitField0_ |= 0x00000001; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Link_fieldAccessorTable; + @java.lang.Override + public final boolean isInitialized() { + return true; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkIdList_descriptor; + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + opticalconfigUuid_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } + // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + // was an endgroup tag + done = true; + } + break; + } + } + // switch (tag) + } + // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } + // finally + return this; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkIdList_fieldAccessorTable; + private int bitField0_; - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkList_descriptor; + private java.lang.Object opticalconfigUuid_ = ""; - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkList_fieldAccessorTable; + /** + * string opticalconfig_uuid = 1; + * @return The opticalconfigUuid. + */ + public java.lang.String getOpticalconfigUuid() { + java.lang.Object ref = opticalconfigUuid_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + opticalconfigUuid_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkEvent_descriptor; + /** + * string opticalconfig_uuid = 1; + * @return The bytes for opticalconfigUuid. + */ + public com.google.protobuf.ByteString getOpticalconfigUuidBytes() { + java.lang.Object ref = opticalconfigUuid_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + opticalconfigUuid_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkEvent_fieldAccessorTable; + /** + * string opticalconfig_uuid = 1; + * @param value The opticalconfigUuid to set. + * @return This builder for chaining. + */ + public Builder setOpticalconfigUuid(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + opticalconfigUuid_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceId_descriptor; + /** + * string opticalconfig_uuid = 1; + * @return This builder for chaining. + */ + public Builder clearOpticalconfigUuid() { + opticalconfigUuid_ = getDefaultInstance().getOpticalconfigUuid(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceId_fieldAccessorTable; + /** + * string opticalconfig_uuid = 1; + * @param value The bytes for opticalconfigUuid to set. + * @return This builder for chaining. + */ + public Builder setOpticalconfigUuidBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + opticalconfigUuid_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Service_descriptor; + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Service_fieldAccessorTable; + @java.lang.Override + public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + // @@protoc_insertion_point(builder_scope:context.OpticalConfigId) + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceStatus_descriptor; + // @@protoc_insertion_point(class_scope:context.OpticalConfigId) + private static final context.ContextOuterClass.OpticalConfigId DEFAULT_INSTANCE; - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceStatus_fieldAccessorTable; + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.OpticalConfigId(); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceConfig_descriptor; + public static context.ContextOuterClass.OpticalConfigId getDefaultInstance() { + return DEFAULT_INSTANCE; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceConfig_fieldAccessorTable; + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceIdList_descriptor; + @java.lang.Override + public OpticalConfigId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceIdList_fieldAccessorTable; + public static com.google.protobuf.Parser parser() { + return PARSER; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceList_descriptor; + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceList_fieldAccessorTable; + @java.lang.Override + public context.ContextOuterClass.OpticalConfigId getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceFilter_descriptor; + public interface OpticalConfigOrBuilder extends // @@protoc_insertion_point(interface_extends:context.OpticalConfig) + com.google.protobuf.MessageOrBuilder { - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceFilter_fieldAccessorTable; + /** + * .context.OpticalConfigId opticalconfig_id = 1; + * @return Whether the opticalconfigId field is set. + */ + boolean hasOpticalconfigId(); - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceEvent_descriptor; + /** + * .context.OpticalConfigId opticalconfig_id = 1; + * @return The opticalconfigId. + */ + context.ContextOuterClass.OpticalConfigId getOpticalconfigId(); - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceEvent_fieldAccessorTable; + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + context.ContextOuterClass.OpticalConfigIdOrBuilder getOpticalconfigIdOrBuilder(); - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceId_descriptor; + /** + * string config = 2; + * @return The config. + */ + java.lang.String getConfig(); - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceId_fieldAccessorTable; + /** + * string config = 2; + * @return The bytes for config. + */ + com.google.protobuf.ByteString getConfigBytes(); + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Slice_descriptor; + /** + * Protobuf type {@code context.OpticalConfig} + */ + public static final class OpticalConfig extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:context.OpticalConfig) + OpticalConfigOrBuilder { - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Slice_fieldAccessorTable; + private static final long serialVersionUID = 0L; - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceOwner_descriptor; + // Use OpticalConfig.newBuilder() to construct. + private OpticalConfig(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceOwner_fieldAccessorTable; + private OpticalConfig() { + config_ = ""; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceStatus_descriptor; + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new OpticalConfig(); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceStatus_fieldAccessorTable; + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalConfig_descriptor; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceConfig_descriptor; + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalConfig_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalConfig.class, context.ContextOuterClass.OpticalConfig.Builder.class); + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceConfig_fieldAccessorTable; + public static final int OPTICALCONFIG_ID_FIELD_NUMBER = 1; - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceIdList_descriptor; + private context.ContextOuterClass.OpticalConfigId opticalconfigId_; - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceIdList_fieldAccessorTable; + /** + * .context.OpticalConfigId opticalconfig_id = 1; + * @return Whether the opticalconfigId field is set. + */ + @java.lang.Override + public boolean hasOpticalconfigId() { + return opticalconfigId_ != null; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceList_descriptor; + /** + * .context.OpticalConfigId opticalconfig_id = 1; + * @return The opticalconfigId. + */ + @java.lang.Override + public context.ContextOuterClass.OpticalConfigId getOpticalconfigId() { + return opticalconfigId_ == null ? context.ContextOuterClass.OpticalConfigId.getDefaultInstance() : opticalconfigId_; + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceList_fieldAccessorTable; + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + @java.lang.Override + public context.ContextOuterClass.OpticalConfigIdOrBuilder getOpticalconfigIdOrBuilder() { + return opticalconfigId_ == null ? context.ContextOuterClass.OpticalConfigId.getDefaultInstance() : opticalconfigId_; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceFilter_descriptor; + public static final int CONFIG_FIELD_NUMBER = 2; - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceFilter_fieldAccessorTable; + @SuppressWarnings("serial") + private volatile java.lang.Object config_ = ""; - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceEvent_descriptor; + /** + * string config = 2; + * @return The config. + */ + @java.lang.Override + public java.lang.String getConfig() { + java.lang.Object ref = config_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + config_ = s; + return s; + } + } - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceEvent_fieldAccessorTable; + /** + * string config = 2; + * @return The bytes for config. + */ + @java.lang.Override + public com.google.protobuf.ByteString getConfigBytes() { + java.lang.Object ref = config_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + config_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ConnectionId_descriptor; + private byte memoizedIsInitialized = -1; - private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ConnectionId_fieldAccessorTable; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + memoizedIsInitialized = 1; + return true; + } - private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ConnectionSettings_L0_descriptor; + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (opticalconfigId_ != null) { + output.writeMessage(1, getOpticalconfigId()); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(config_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, config_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + size = 0; + if (opticalconfigId_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getOpticalconfigId()); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(config_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, config_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.OpticalConfig)) { + return super.equals(obj); + } + context.ContextOuterClass.OpticalConfig other = (context.ContextOuterClass.OpticalConfig) obj; + if (hasOpticalconfigId() != other.hasOpticalconfigId()) + return false; + if (hasOpticalconfigId()) { + if (!getOpticalconfigId().equals(other.getOpticalconfigId())) + return false; + } + if (!getConfig().equals(other.getConfig())) + return false; + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasOpticalconfigId()) { + hash = (37 * hash) + OPTICALCONFIG_ID_FIELD_NUMBER; + hash = (53 * hash) + getOpticalconfigId().hashCode(); + } + hash = (37 * hash) + CONFIG_FIELD_NUMBER; + hash = (53 * hash) + getConfig().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfig parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalConfig parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalConfig parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(context.ContextOuterClass.OpticalConfig prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code context.OpticalConfig} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:context.OpticalConfig) + context.ContextOuterClass.OpticalConfigOrBuilder { + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalConfig_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalConfig_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalConfig.class, context.ContextOuterClass.OpticalConfig.Builder.class); + } + + // Construct using context.ContextOuterClass.OpticalConfig.newBuilder() + private Builder() { + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + opticalconfigId_ = null; + if (opticalconfigIdBuilder_ != null) { + opticalconfigIdBuilder_.dispose(); + opticalconfigIdBuilder_ = null; + } + config_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_OpticalConfig_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalConfig getDefaultInstanceForType() { + return context.ContextOuterClass.OpticalConfig.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.OpticalConfig build() { + context.ContextOuterClass.OpticalConfig result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalConfig buildPartial() { + context.ContextOuterClass.OpticalConfig result = new context.ContextOuterClass.OpticalConfig(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(context.ContextOuterClass.OpticalConfig result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.opticalconfigId_ = opticalconfigIdBuilder_ == null ? opticalconfigId_ : opticalconfigIdBuilder_.build(); + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.config_ = config_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.OpticalConfig) { + return mergeFrom((context.ContextOuterClass.OpticalConfig) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.OpticalConfig other) { + if (other == context.ContextOuterClass.OpticalConfig.getDefaultInstance()) + return this; + if (other.hasOpticalconfigId()) { + mergeOpticalconfigId(other.getOpticalconfigId()); + } + if (!other.getConfig().isEmpty()) { + config_ = other.config_; + bitField0_ |= 0x00000002; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage(getOpticalconfigIdFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } + // case 10 + case 18: + { + config_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } + // case 18 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + // was an endgroup tag + done = true; + } + break; + } + } + // switch (tag) + } + // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } + // finally + return this; + } + + private int bitField0_; + + private context.ContextOuterClass.OpticalConfigId opticalconfigId_; + + private com.google.protobuf.SingleFieldBuilderV3 opticalconfigIdBuilder_; + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + * @return Whether the opticalconfigId field is set. + */ + public boolean hasOpticalconfigId() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + * @return The opticalconfigId. + */ + public context.ContextOuterClass.OpticalConfigId getOpticalconfigId() { + if (opticalconfigIdBuilder_ == null) { + return opticalconfigId_ == null ? context.ContextOuterClass.OpticalConfigId.getDefaultInstance() : opticalconfigId_; + } else { + return opticalconfigIdBuilder_.getMessage(); + } + } + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + public Builder setOpticalconfigId(context.ContextOuterClass.OpticalConfigId value) { + if (opticalconfigIdBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + opticalconfigId_ = value; + } else { + opticalconfigIdBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + public Builder setOpticalconfigId(context.ContextOuterClass.OpticalConfigId.Builder builderForValue) { + if (opticalconfigIdBuilder_ == null) { + opticalconfigId_ = builderForValue.build(); + } else { + opticalconfigIdBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + public Builder mergeOpticalconfigId(context.ContextOuterClass.OpticalConfigId value) { + if (opticalconfigIdBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) && opticalconfigId_ != null && opticalconfigId_ != context.ContextOuterClass.OpticalConfigId.getDefaultInstance()) { + getOpticalconfigIdBuilder().mergeFrom(value); + } else { + opticalconfigId_ = value; + } + } else { + opticalconfigIdBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + public Builder clearOpticalconfigId() { + bitField0_ = (bitField0_ & ~0x00000001); + opticalconfigId_ = null; + if (opticalconfigIdBuilder_ != null) { + opticalconfigIdBuilder_.dispose(); + opticalconfigIdBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + public context.ContextOuterClass.OpticalConfigId.Builder getOpticalconfigIdBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return getOpticalconfigIdFieldBuilder().getBuilder(); + } + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + public context.ContextOuterClass.OpticalConfigIdOrBuilder getOpticalconfigIdOrBuilder() { + if (opticalconfigIdBuilder_ != null) { + return opticalconfigIdBuilder_.getMessageOrBuilder(); + } else { + return opticalconfigId_ == null ? context.ContextOuterClass.OpticalConfigId.getDefaultInstance() : opticalconfigId_; + } + } + + /** + * .context.OpticalConfigId opticalconfig_id = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3 getOpticalconfigIdFieldBuilder() { + if (opticalconfigIdBuilder_ == null) { + opticalconfigIdBuilder_ = new com.google.protobuf.SingleFieldBuilderV3(getOpticalconfigId(), getParentForChildren(), isClean()); + opticalconfigId_ = null; + } + return opticalconfigIdBuilder_; + } + + private java.lang.Object config_ = ""; + + /** + * string config = 2; + * @return The config. + */ + public java.lang.String getConfig() { + java.lang.Object ref = config_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + config_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string config = 2; + * @return The bytes for config. + */ + public com.google.protobuf.ByteString getConfigBytes() { + java.lang.Object ref = config_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + config_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string config = 2; + * @param value The config to set. + * @return This builder for chaining. + */ + public Builder setConfig(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + config_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * string config = 2; + * @return This builder for chaining. + */ + public Builder clearConfig() { + config_ = getDefaultInstance().getConfig(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * string config = 2; + * @param value The bytes for config to set. + * @return This builder for chaining. + */ + public Builder setConfigBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + config_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + // @@protoc_insertion_point(builder_scope:context.OpticalConfig) + } + + // @@protoc_insertion_point(class_scope:context.OpticalConfig) + private static final context.ContextOuterClass.OpticalConfig DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.OpticalConfig(); + } + + public static context.ContextOuterClass.OpticalConfig getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + + @java.lang.Override + public OpticalConfig parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalConfig getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface OpticalConfigListOrBuilder extends // @@protoc_insertion_point(interface_extends:context.OpticalConfigList) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + java.util.List getOpticalconfigsList(); + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + context.ContextOuterClass.OpticalConfig getOpticalconfigs(int index); + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + int getOpticalconfigsCount(); + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + java.util.List getOpticalconfigsOrBuilderList(); + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + context.ContextOuterClass.OpticalConfigOrBuilder getOpticalconfigsOrBuilder(int index); + } + + /** + * Protobuf type {@code context.OpticalConfigList} + */ + public static final class OpticalConfigList extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:context.OpticalConfigList) + OpticalConfigListOrBuilder { + + private static final long serialVersionUID = 0L; + + // Use OpticalConfigList.newBuilder() to construct. + private OpticalConfigList(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private OpticalConfigList() { + opticalconfigs_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new OpticalConfigList(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalConfigList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalConfigList_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalConfigList.class, context.ContextOuterClass.OpticalConfigList.Builder.class); + } + + public static final int OPTICALCONFIGS_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private java.util.List opticalconfigs_; + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + @java.lang.Override + public java.util.List getOpticalconfigsList() { + return opticalconfigs_; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + @java.lang.Override + public java.util.List getOpticalconfigsOrBuilderList() { + return opticalconfigs_; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + @java.lang.Override + public int getOpticalconfigsCount() { + return opticalconfigs_.size(); + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + @java.lang.Override + public context.ContextOuterClass.OpticalConfig getOpticalconfigs(int index) { + return opticalconfigs_.get(index); + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + @java.lang.Override + public context.ContextOuterClass.OpticalConfigOrBuilder getOpticalconfigsOrBuilder(int index) { + return opticalconfigs_.get(index); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + for (int i = 0; i < opticalconfigs_.size(); i++) { + output.writeMessage(1, opticalconfigs_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + size = 0; + for (int i = 0; i < opticalconfigs_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, opticalconfigs_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.OpticalConfigList)) { + return super.equals(obj); + } + context.ContextOuterClass.OpticalConfigList other = (context.ContextOuterClass.OpticalConfigList) obj; + if (!getOpticalconfigsList().equals(other.getOpticalconfigsList())) + return false; + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getOpticalconfigsCount() > 0) { + hash = (37 * hash) + OPTICALCONFIGS_FIELD_NUMBER; + hash = (53 * hash) + getOpticalconfigsList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfigList parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalConfigList parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalConfigList parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(context.ContextOuterClass.OpticalConfigList prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code context.OpticalConfigList} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:context.OpticalConfigList) + context.ContextOuterClass.OpticalConfigListOrBuilder { + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalConfigList_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalConfigList_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalConfigList.class, context.ContextOuterClass.OpticalConfigList.Builder.class); + } + + // Construct using context.ContextOuterClass.OpticalConfigList.newBuilder() + private Builder() { + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + if (opticalconfigsBuilder_ == null) { + opticalconfigs_ = java.util.Collections.emptyList(); + } else { + opticalconfigs_ = null; + opticalconfigsBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_OpticalConfigList_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalConfigList getDefaultInstanceForType() { + return context.ContextOuterClass.OpticalConfigList.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.OpticalConfigList build() { + context.ContextOuterClass.OpticalConfigList result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalConfigList buildPartial() { + context.ContextOuterClass.OpticalConfigList result = new context.ContextOuterClass.OpticalConfigList(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(context.ContextOuterClass.OpticalConfigList result) { + if (opticalconfigsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + opticalconfigs_ = java.util.Collections.unmodifiableList(opticalconfigs_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.opticalconfigs_ = opticalconfigs_; + } else { + result.opticalconfigs_ = opticalconfigsBuilder_.build(); + } + } + + private void buildPartial0(context.ContextOuterClass.OpticalConfigList result) { + int from_bitField0_ = bitField0_; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.OpticalConfigList) { + return mergeFrom((context.ContextOuterClass.OpticalConfigList) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.OpticalConfigList other) { + if (other == context.ContextOuterClass.OpticalConfigList.getDefaultInstance()) + return this; + if (opticalconfigsBuilder_ == null) { + if (!other.opticalconfigs_.isEmpty()) { + if (opticalconfigs_.isEmpty()) { + opticalconfigs_ = other.opticalconfigs_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureOpticalconfigsIsMutable(); + opticalconfigs_.addAll(other.opticalconfigs_); + } + onChanged(); + } + } else { + if (!other.opticalconfigs_.isEmpty()) { + if (opticalconfigsBuilder_.isEmpty()) { + opticalconfigsBuilder_.dispose(); + opticalconfigsBuilder_ = null; + opticalconfigs_ = other.opticalconfigs_; + bitField0_ = (bitField0_ & ~0x00000001); + opticalconfigsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getOpticalconfigsFieldBuilder() : null; + } else { + opticalconfigsBuilder_.addAllMessages(other.opticalconfigs_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + context.ContextOuterClass.OpticalConfig m = input.readMessage(context.ContextOuterClass.OpticalConfig.parser(), extensionRegistry); + if (opticalconfigsBuilder_ == null) { + ensureOpticalconfigsIsMutable(); + opticalconfigs_.add(m); + } else { + opticalconfigsBuilder_.addMessage(m); + } + break; + } + // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + // was an endgroup tag + done = true; + } + break; + } + } + // switch (tag) + } + // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } + // finally + return this; + } + + private int bitField0_; + + private java.util.List opticalconfigs_ = java.util.Collections.emptyList(); + + private void ensureOpticalconfigsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + opticalconfigs_ = new java.util.ArrayList(opticalconfigs_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3 opticalconfigsBuilder_; + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public java.util.List getOpticalconfigsList() { + if (opticalconfigsBuilder_ == null) { + return java.util.Collections.unmodifiableList(opticalconfigs_); + } else { + return opticalconfigsBuilder_.getMessageList(); + } + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public int getOpticalconfigsCount() { + if (opticalconfigsBuilder_ == null) { + return opticalconfigs_.size(); + } else { + return opticalconfigsBuilder_.getCount(); + } + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public context.ContextOuterClass.OpticalConfig getOpticalconfigs(int index) { + if (opticalconfigsBuilder_ == null) { + return opticalconfigs_.get(index); + } else { + return opticalconfigsBuilder_.getMessage(index); + } + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder setOpticalconfigs(int index, context.ContextOuterClass.OpticalConfig value) { + if (opticalconfigsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOpticalconfigsIsMutable(); + opticalconfigs_.set(index, value); + onChanged(); + } else { + opticalconfigsBuilder_.setMessage(index, value); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder setOpticalconfigs(int index, context.ContextOuterClass.OpticalConfig.Builder builderForValue) { + if (opticalconfigsBuilder_ == null) { + ensureOpticalconfigsIsMutable(); + opticalconfigs_.set(index, builderForValue.build()); + onChanged(); + } else { + opticalconfigsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder addOpticalconfigs(context.ContextOuterClass.OpticalConfig value) { + if (opticalconfigsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOpticalconfigsIsMutable(); + opticalconfigs_.add(value); + onChanged(); + } else { + opticalconfigsBuilder_.addMessage(value); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder addOpticalconfigs(int index, context.ContextOuterClass.OpticalConfig value) { + if (opticalconfigsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureOpticalconfigsIsMutable(); + opticalconfigs_.add(index, value); + onChanged(); + } else { + opticalconfigsBuilder_.addMessage(index, value); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder addOpticalconfigs(context.ContextOuterClass.OpticalConfig.Builder builderForValue) { + if (opticalconfigsBuilder_ == null) { + ensureOpticalconfigsIsMutable(); + opticalconfigs_.add(builderForValue.build()); + onChanged(); + } else { + opticalconfigsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder addOpticalconfigs(int index, context.ContextOuterClass.OpticalConfig.Builder builderForValue) { + if (opticalconfigsBuilder_ == null) { + ensureOpticalconfigsIsMutable(); + opticalconfigs_.add(index, builderForValue.build()); + onChanged(); + } else { + opticalconfigsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder addAllOpticalconfigs(java.lang.Iterable values) { + if (opticalconfigsBuilder_ == null) { + ensureOpticalconfigsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, opticalconfigs_); + onChanged(); + } else { + opticalconfigsBuilder_.addAllMessages(values); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder clearOpticalconfigs() { + if (opticalconfigsBuilder_ == null) { + opticalconfigs_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + opticalconfigsBuilder_.clear(); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public Builder removeOpticalconfigs(int index) { + if (opticalconfigsBuilder_ == null) { + ensureOpticalconfigsIsMutable(); + opticalconfigs_.remove(index); + onChanged(); + } else { + opticalconfigsBuilder_.remove(index); + } + return this; + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public context.ContextOuterClass.OpticalConfig.Builder getOpticalconfigsBuilder(int index) { + return getOpticalconfigsFieldBuilder().getBuilder(index); + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public context.ContextOuterClass.OpticalConfigOrBuilder getOpticalconfigsOrBuilder(int index) { + if (opticalconfigsBuilder_ == null) { + return opticalconfigs_.get(index); + } else { + return opticalconfigsBuilder_.getMessageOrBuilder(index); + } + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public java.util.List getOpticalconfigsOrBuilderList() { + if (opticalconfigsBuilder_ != null) { + return opticalconfigsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(opticalconfigs_); + } + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public context.ContextOuterClass.OpticalConfig.Builder addOpticalconfigsBuilder() { + return getOpticalconfigsFieldBuilder().addBuilder(context.ContextOuterClass.OpticalConfig.getDefaultInstance()); + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public context.ContextOuterClass.OpticalConfig.Builder addOpticalconfigsBuilder(int index) { + return getOpticalconfigsFieldBuilder().addBuilder(index, context.ContextOuterClass.OpticalConfig.getDefaultInstance()); + } + + /** + * repeated .context.OpticalConfig opticalconfigs = 1; + */ + public java.util.List getOpticalconfigsBuilderList() { + return getOpticalconfigsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilderV3 getOpticalconfigsFieldBuilder() { + if (opticalconfigsBuilder_ == null) { + opticalconfigsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(opticalconfigs_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + opticalconfigs_ = null; + } + return opticalconfigsBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + // @@protoc_insertion_point(builder_scope:context.OpticalConfigList) + } + + // @@protoc_insertion_point(class_scope:context.OpticalConfigList) + private static final context.ContextOuterClass.OpticalConfigList DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.OpticalConfigList(); + } + + public static context.ContextOuterClass.OpticalConfigList getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + + @java.lang.Override + public OpticalConfigList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalConfigList getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface OpticalLinkIdOrBuilder extends // @@protoc_insertion_point(interface_extends:context.OpticalLinkId) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.Uuid optical_link_uuid = 1; + * @return Whether the opticalLinkUuid field is set. + */ + boolean hasOpticalLinkUuid(); + + /** + * .context.Uuid optical_link_uuid = 1; + * @return The opticalLinkUuid. + */ + context.ContextOuterClass.Uuid getOpticalLinkUuid(); + + /** + * .context.Uuid optical_link_uuid = 1; + */ + context.ContextOuterClass.UuidOrBuilder getOpticalLinkUuidOrBuilder(); + } + + /** + * Protobuf type {@code context.OpticalLinkId} + */ + public static final class OpticalLinkId extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:context.OpticalLinkId) + OpticalLinkIdOrBuilder { + + private static final long serialVersionUID = 0L; + + // Use OpticalLinkId.newBuilder() to construct. + private OpticalLinkId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private OpticalLinkId() { + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new OpticalLinkId(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalLinkId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalLinkId_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalLinkId.class, context.ContextOuterClass.OpticalLinkId.Builder.class); + } + + public static final int OPTICAL_LINK_UUID_FIELD_NUMBER = 1; + + private context.ContextOuterClass.Uuid opticalLinkUuid_; + + /** + * .context.Uuid optical_link_uuid = 1; + * @return Whether the opticalLinkUuid field is set. + */ + @java.lang.Override + public boolean hasOpticalLinkUuid() { + return opticalLinkUuid_ != null; + } + + /** + * .context.Uuid optical_link_uuid = 1; + * @return The opticalLinkUuid. + */ + @java.lang.Override + public context.ContextOuterClass.Uuid getOpticalLinkUuid() { + return opticalLinkUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : opticalLinkUuid_; + } + + /** + * .context.Uuid optical_link_uuid = 1; + */ + @java.lang.Override + public context.ContextOuterClass.UuidOrBuilder getOpticalLinkUuidOrBuilder() { + return opticalLinkUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : opticalLinkUuid_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (opticalLinkUuid_ != null) { + output.writeMessage(1, getOpticalLinkUuid()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + size = 0; + if (opticalLinkUuid_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getOpticalLinkUuid()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.OpticalLinkId)) { + return super.equals(obj); + } + context.ContextOuterClass.OpticalLinkId other = (context.ContextOuterClass.OpticalLinkId) obj; + if (hasOpticalLinkUuid() != other.hasOpticalLinkUuid()) + return false; + if (hasOpticalLinkUuid()) { + if (!getOpticalLinkUuid().equals(other.getOpticalLinkUuid())) + return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasOpticalLinkUuid()) { + hash = (37 * hash) + OPTICAL_LINK_UUID_FIELD_NUMBER; + hash = (53 * hash) + getOpticalLinkUuid().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkId parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLinkId parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLinkId parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(context.ContextOuterClass.OpticalLinkId prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code context.OpticalLinkId} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:context.OpticalLinkId) + context.ContextOuterClass.OpticalLinkIdOrBuilder { + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalLinkId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalLinkId_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalLinkId.class, context.ContextOuterClass.OpticalLinkId.Builder.class); + } + + // Construct using context.ContextOuterClass.OpticalLinkId.newBuilder() + private Builder() { + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + opticalLinkUuid_ = null; + if (opticalLinkUuidBuilder_ != null) { + opticalLinkUuidBuilder_.dispose(); + opticalLinkUuidBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_OpticalLinkId_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLinkId getDefaultInstanceForType() { + return context.ContextOuterClass.OpticalLinkId.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLinkId build() { + context.ContextOuterClass.OpticalLinkId result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLinkId buildPartial() { + context.ContextOuterClass.OpticalLinkId result = new context.ContextOuterClass.OpticalLinkId(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(context.ContextOuterClass.OpticalLinkId result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.opticalLinkUuid_ = opticalLinkUuidBuilder_ == null ? opticalLinkUuid_ : opticalLinkUuidBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.OpticalLinkId) { + return mergeFrom((context.ContextOuterClass.OpticalLinkId) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.OpticalLinkId other) { + if (other == context.ContextOuterClass.OpticalLinkId.getDefaultInstance()) + return this; + if (other.hasOpticalLinkUuid()) { + mergeOpticalLinkUuid(other.getOpticalLinkUuid()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage(getOpticalLinkUuidFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } + // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + // was an endgroup tag + done = true; + } + break; + } + } + // switch (tag) + } + // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } + // finally + return this; + } + + private int bitField0_; + + private context.ContextOuterClass.Uuid opticalLinkUuid_; + + private com.google.protobuf.SingleFieldBuilderV3 opticalLinkUuidBuilder_; + + /** + * .context.Uuid optical_link_uuid = 1; + * @return Whether the opticalLinkUuid field is set. + */ + public boolean hasOpticalLinkUuid() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * .context.Uuid optical_link_uuid = 1; + * @return The opticalLinkUuid. + */ + public context.ContextOuterClass.Uuid getOpticalLinkUuid() { + if (opticalLinkUuidBuilder_ == null) { + return opticalLinkUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : opticalLinkUuid_; + } else { + return opticalLinkUuidBuilder_.getMessage(); + } + } + + /** + * .context.Uuid optical_link_uuid = 1; + */ + public Builder setOpticalLinkUuid(context.ContextOuterClass.Uuid value) { + if (opticalLinkUuidBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + opticalLinkUuid_ = value; + } else { + opticalLinkUuidBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.Uuid optical_link_uuid = 1; + */ + public Builder setOpticalLinkUuid(context.ContextOuterClass.Uuid.Builder builderForValue) { + if (opticalLinkUuidBuilder_ == null) { + opticalLinkUuid_ = builderForValue.build(); + } else { + opticalLinkUuidBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.Uuid optical_link_uuid = 1; + */ + public Builder mergeOpticalLinkUuid(context.ContextOuterClass.Uuid value) { + if (opticalLinkUuidBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) && opticalLinkUuid_ != null && opticalLinkUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) { + getOpticalLinkUuidBuilder().mergeFrom(value); + } else { + opticalLinkUuid_ = value; + } + } else { + opticalLinkUuidBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.Uuid optical_link_uuid = 1; + */ + public Builder clearOpticalLinkUuid() { + bitField0_ = (bitField0_ & ~0x00000001); + opticalLinkUuid_ = null; + if (opticalLinkUuidBuilder_ != null) { + opticalLinkUuidBuilder_.dispose(); + opticalLinkUuidBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * .context.Uuid optical_link_uuid = 1; + */ + public context.ContextOuterClass.Uuid.Builder getOpticalLinkUuidBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return getOpticalLinkUuidFieldBuilder().getBuilder(); + } + + /** + * .context.Uuid optical_link_uuid = 1; + */ + public context.ContextOuterClass.UuidOrBuilder getOpticalLinkUuidOrBuilder() { + if (opticalLinkUuidBuilder_ != null) { + return opticalLinkUuidBuilder_.getMessageOrBuilder(); + } else { + return opticalLinkUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : opticalLinkUuid_; + } + } + + /** + * .context.Uuid optical_link_uuid = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3 getOpticalLinkUuidFieldBuilder() { + if (opticalLinkUuidBuilder_ == null) { + opticalLinkUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3(getOpticalLinkUuid(), getParentForChildren(), isClean()); + opticalLinkUuid_ = null; + } + return opticalLinkUuidBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + // @@protoc_insertion_point(builder_scope:context.OpticalLinkId) + } + + // @@protoc_insertion_point(class_scope:context.OpticalLinkId) + private static final context.ContextOuterClass.OpticalLinkId DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.OpticalLinkId(); + } + + public static context.ContextOuterClass.OpticalLinkId getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + + @java.lang.Override + public OpticalLinkId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLinkId getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface FiberIdOrBuilder extends // @@protoc_insertion_point(interface_extends:context.FiberId) + com.google.protobuf.MessageOrBuilder { + + /** + * .context.Uuid fiber_uuid = 1; + * @return Whether the fiberUuid field is set. + */ + boolean hasFiberUuid(); + + /** + * .context.Uuid fiber_uuid = 1; + * @return The fiberUuid. + */ + context.ContextOuterClass.Uuid getFiberUuid(); + + /** + * .context.Uuid fiber_uuid = 1; + */ + context.ContextOuterClass.UuidOrBuilder getFiberUuidOrBuilder(); + } + + /** + * Protobuf type {@code context.FiberId} + */ + public static final class FiberId extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:context.FiberId) + FiberIdOrBuilder { + + private static final long serialVersionUID = 0L; + + // Use FiberId.newBuilder() to construct. + private FiberId(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private FiberId() { + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new FiberId(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_FiberId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_FiberId_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.FiberId.class, context.ContextOuterClass.FiberId.Builder.class); + } + + public static final int FIBER_UUID_FIELD_NUMBER = 1; + + private context.ContextOuterClass.Uuid fiberUuid_; + + /** + * .context.Uuid fiber_uuid = 1; + * @return Whether the fiberUuid field is set. + */ + @java.lang.Override + public boolean hasFiberUuid() { + return fiberUuid_ != null; + } + + /** + * .context.Uuid fiber_uuid = 1; + * @return The fiberUuid. + */ + @java.lang.Override + public context.ContextOuterClass.Uuid getFiberUuid() { + return fiberUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : fiberUuid_; + } + + /** + * .context.Uuid fiber_uuid = 1; + */ + @java.lang.Override + public context.ContextOuterClass.UuidOrBuilder getFiberUuidOrBuilder() { + return fiberUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : fiberUuid_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (fiberUuid_ != null) { + output.writeMessage(1, getFiberUuid()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + size = 0; + if (fiberUuid_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getFiberUuid()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.FiberId)) { + return super.equals(obj); + } + context.ContextOuterClass.FiberId other = (context.ContextOuterClass.FiberId) obj; + if (hasFiberUuid() != other.hasFiberUuid()) + return false; + if (hasFiberUuid()) { + if (!getFiberUuid().equals(other.getFiberUuid())) + return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasFiberUuid()) { + hash = (37 * hash) + FIBER_UUID_FIELD_NUMBER; + hash = (53 * hash) + getFiberUuid().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.FiberId parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.FiberId parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.FiberId parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.FiberId parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.FiberId parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.FiberId parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.FiberId parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.FiberId parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.FiberId parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.FiberId parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.FiberId parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.FiberId parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(context.ContextOuterClass.FiberId prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code context.FiberId} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:context.FiberId) + context.ContextOuterClass.FiberIdOrBuilder { + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_FiberId_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_FiberId_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.FiberId.class, context.ContextOuterClass.FiberId.Builder.class); + } + + // Construct using context.ContextOuterClass.FiberId.newBuilder() + private Builder() { + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + fiberUuid_ = null; + if (fiberUuidBuilder_ != null) { + fiberUuidBuilder_.dispose(); + fiberUuidBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_FiberId_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.FiberId getDefaultInstanceForType() { + return context.ContextOuterClass.FiberId.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.FiberId build() { + context.ContextOuterClass.FiberId result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.FiberId buildPartial() { + context.ContextOuterClass.FiberId result = new context.ContextOuterClass.FiberId(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(context.ContextOuterClass.FiberId result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.fiberUuid_ = fiberUuidBuilder_ == null ? fiberUuid_ : fiberUuidBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.FiberId) { + return mergeFrom((context.ContextOuterClass.FiberId) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.FiberId other) { + if (other == context.ContextOuterClass.FiberId.getDefaultInstance()) + return this; + if (other.hasFiberUuid()) { + mergeFiberUuid(other.getFiberUuid()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + input.readMessage(getFiberUuidFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000001; + break; + } + // case 10 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + // was an endgroup tag + done = true; + } + break; + } + } + // switch (tag) + } + // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } + // finally + return this; + } + + private int bitField0_; + + private context.ContextOuterClass.Uuid fiberUuid_; + + private com.google.protobuf.SingleFieldBuilderV3 fiberUuidBuilder_; + + /** + * .context.Uuid fiber_uuid = 1; + * @return Whether the fiberUuid field is set. + */ + public boolean hasFiberUuid() { + return ((bitField0_ & 0x00000001) != 0); + } + + /** + * .context.Uuid fiber_uuid = 1; + * @return The fiberUuid. + */ + public context.ContextOuterClass.Uuid getFiberUuid() { + if (fiberUuidBuilder_ == null) { + return fiberUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : fiberUuid_; + } else { + return fiberUuidBuilder_.getMessage(); + } + } + + /** + * .context.Uuid fiber_uuid = 1; + */ + public Builder setFiberUuid(context.ContextOuterClass.Uuid value) { + if (fiberUuidBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + fiberUuid_ = value; + } else { + fiberUuidBuilder_.setMessage(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.Uuid fiber_uuid = 1; + */ + public Builder setFiberUuid(context.ContextOuterClass.Uuid.Builder builderForValue) { + if (fiberUuidBuilder_ == null) { + fiberUuid_ = builderForValue.build(); + } else { + fiberUuidBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.Uuid fiber_uuid = 1; + */ + public Builder mergeFiberUuid(context.ContextOuterClass.Uuid value) { + if (fiberUuidBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0) && fiberUuid_ != null && fiberUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) { + getFiberUuidBuilder().mergeFrom(value); + } else { + fiberUuid_ = value; + } + } else { + fiberUuidBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * .context.Uuid fiber_uuid = 1; + */ + public Builder clearFiberUuid() { + bitField0_ = (bitField0_ & ~0x00000001); + fiberUuid_ = null; + if (fiberUuidBuilder_ != null) { + fiberUuidBuilder_.dispose(); + fiberUuidBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * .context.Uuid fiber_uuid = 1; + */ + public context.ContextOuterClass.Uuid.Builder getFiberUuidBuilder() { + bitField0_ |= 0x00000001; + onChanged(); + return getFiberUuidFieldBuilder().getBuilder(); + } + + /** + * .context.Uuid fiber_uuid = 1; + */ + public context.ContextOuterClass.UuidOrBuilder getFiberUuidOrBuilder() { + if (fiberUuidBuilder_ != null) { + return fiberUuidBuilder_.getMessageOrBuilder(); + } else { + return fiberUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : fiberUuid_; + } + } + + /** + * .context.Uuid fiber_uuid = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3 getFiberUuidFieldBuilder() { + if (fiberUuidBuilder_ == null) { + fiberUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3(getFiberUuid(), getParentForChildren(), isClean()); + fiberUuid_ = null; + } + return fiberUuidBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + // @@protoc_insertion_point(builder_scope:context.FiberId) + } + + // @@protoc_insertion_point(class_scope:context.FiberId) + private static final context.ContextOuterClass.FiberId DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.FiberId(); + } + + public static context.ContextOuterClass.FiberId getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + + @java.lang.Override + public FiberId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.FiberId getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface FiberOrBuilder extends // @@protoc_insertion_point(interface_extends:context.Fiber) + com.google.protobuf.MessageOrBuilder { + + /** + * string ID = 10; + * @return The iD. + */ + java.lang.String getID(); + + /** + * string ID = 10; + * @return The bytes for iD. + */ + com.google.protobuf.ByteString getIDBytes(); + + /** + * string src_port = 1; + * @return The srcPort. + */ + java.lang.String getSrcPort(); + + /** + * string src_port = 1; + * @return The bytes for srcPort. + */ + com.google.protobuf.ByteString getSrcPortBytes(); + + /** + * string dst_port = 2; + * @return The dstPort. + */ + java.lang.String getDstPort(); + + /** + * string dst_port = 2; + * @return The bytes for dstPort. + */ + com.google.protobuf.ByteString getDstPortBytes(); + + /** + * string local_peer_port = 3; + * @return The localPeerPort. + */ + java.lang.String getLocalPeerPort(); + + /** + * string local_peer_port = 3; + * @return The bytes for localPeerPort. + */ + com.google.protobuf.ByteString getLocalPeerPortBytes(); + + /** + * string remote_peer_port = 4; + * @return The remotePeerPort. + */ + java.lang.String getRemotePeerPort(); + + /** + * string remote_peer_port = 4; + * @return The bytes for remotePeerPort. + */ + com.google.protobuf.ByteString getRemotePeerPortBytes(); + + /** + * repeated int32 c_slots = 5; + * @return A list containing the cSlots. + */ + java.util.List getCSlotsList(); + + /** + * repeated int32 c_slots = 5; + * @return The count of cSlots. + */ + int getCSlotsCount(); + + /** + * repeated int32 c_slots = 5; + * @param index The index of the element to return. + * @return The cSlots at the given index. + */ + int getCSlots(int index); + + /** + * repeated int32 l_slots = 6; + * @return A list containing the lSlots. + */ + java.util.List getLSlotsList(); + + /** + * repeated int32 l_slots = 6; + * @return The count of lSlots. + */ + int getLSlotsCount(); + + /** + * repeated int32 l_slots = 6; + * @param index The index of the element to return. + * @return The lSlots at the given index. + */ + int getLSlots(int index); + + /** + * repeated int32 s_slots = 7; + * @return A list containing the sSlots. + */ + java.util.List getSSlotsList(); + + /** + * repeated int32 s_slots = 7; + * @return The count of sSlots. + */ + int getSSlotsCount(); + + /** + * repeated int32 s_slots = 7; + * @param index The index of the element to return. + * @return The sSlots at the given index. + */ + int getSSlots(int index); + + /** + * float length = 8; + * @return The length. + */ + float getLength(); + + /** + * bool used = 9; + * @return The used. + */ + boolean getUsed(); + + /** + * .context.FiberId fiber_uuid = 11; + * @return Whether the fiberUuid field is set. + */ + boolean hasFiberUuid(); + + /** + * .context.FiberId fiber_uuid = 11; + * @return The fiberUuid. + */ + context.ContextOuterClass.FiberId getFiberUuid(); + + /** + * .context.FiberId fiber_uuid = 11; + */ + context.ContextOuterClass.FiberIdOrBuilder getFiberUuidOrBuilder(); + } + + /** + * Protobuf type {@code context.Fiber} + */ + public static final class Fiber extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:context.Fiber) + FiberOrBuilder { + + private static final long serialVersionUID = 0L; + + // Use Fiber.newBuilder() to construct. + private Fiber(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private Fiber() { + iD_ = ""; + srcPort_ = ""; + dstPort_ = ""; + localPeerPort_ = ""; + remotePeerPort_ = ""; + cSlots_ = emptyIntList(); + lSlots_ = emptyIntList(); + sSlots_ = emptyIntList(); + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new Fiber(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_Fiber_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_Fiber_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.Fiber.class, context.ContextOuterClass.Fiber.Builder.class); + } + + public static final int ID_FIELD_NUMBER = 10; + + @SuppressWarnings("serial") + private volatile java.lang.Object iD_ = ""; + + /** + * string ID = 10; + * @return The iD. + */ + @java.lang.Override + public java.lang.String getID() { + java.lang.Object ref = iD_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + iD_ = s; + return s; + } + } + + /** + * string ID = 10; + * @return The bytes for iD. + */ + @java.lang.Override + public com.google.protobuf.ByteString getIDBytes() { + java.lang.Object ref = iD_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + iD_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SRC_PORT_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object srcPort_ = ""; + + /** + * string src_port = 1; + * @return The srcPort. + */ + @java.lang.Override + public java.lang.String getSrcPort() { + java.lang.Object ref = srcPort_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + srcPort_ = s; + return s; + } + } + + /** + * string src_port = 1; + * @return The bytes for srcPort. + */ + @java.lang.Override + public com.google.protobuf.ByteString getSrcPortBytes() { + java.lang.Object ref = srcPort_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + srcPort_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DST_PORT_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object dstPort_ = ""; + + /** + * string dst_port = 2; + * @return The dstPort. + */ + @java.lang.Override + public java.lang.String getDstPort() { + java.lang.Object ref = dstPort_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + dstPort_ = s; + return s; + } + } + + /** + * string dst_port = 2; + * @return The bytes for dstPort. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDstPortBytes() { + java.lang.Object ref = dstPort_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + dstPort_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int LOCAL_PEER_PORT_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object localPeerPort_ = ""; + + /** + * string local_peer_port = 3; + * @return The localPeerPort. + */ + @java.lang.Override + public java.lang.String getLocalPeerPort() { + java.lang.Object ref = localPeerPort_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + localPeerPort_ = s; + return s; + } + } + + /** + * string local_peer_port = 3; + * @return The bytes for localPeerPort. + */ + @java.lang.Override + public com.google.protobuf.ByteString getLocalPeerPortBytes() { + java.lang.Object ref = localPeerPort_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + localPeerPort_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int REMOTE_PEER_PORT_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private volatile java.lang.Object remotePeerPort_ = ""; + + /** + * string remote_peer_port = 4; + * @return The remotePeerPort. + */ + @java.lang.Override + public java.lang.String getRemotePeerPort() { + java.lang.Object ref = remotePeerPort_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + remotePeerPort_ = s; + return s; + } + } + + /** + * string remote_peer_port = 4; + * @return The bytes for remotePeerPort. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRemotePeerPortBytes() { + java.lang.Object ref = remotePeerPort_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + remotePeerPort_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int C_SLOTS_FIELD_NUMBER = 5; + + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList cSlots_; + + /** + * repeated int32 c_slots = 5; + * @return A list containing the cSlots. + */ + @java.lang.Override + public java.util.List getCSlotsList() { + return cSlots_; + } + + /** + * repeated int32 c_slots = 5; + * @return The count of cSlots. + */ + public int getCSlotsCount() { + return cSlots_.size(); + } + + /** + * repeated int32 c_slots = 5; + * @param index The index of the element to return. + * @return The cSlots at the given index. + */ + public int getCSlots(int index) { + return cSlots_.getInt(index); + } + + private int cSlotsMemoizedSerializedSize = -1; + + public static final int L_SLOTS_FIELD_NUMBER = 6; + + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList lSlots_; + + /** + * repeated int32 l_slots = 6; + * @return A list containing the lSlots. + */ + @java.lang.Override + public java.util.List getLSlotsList() { + return lSlots_; + } + + /** + * repeated int32 l_slots = 6; + * @return The count of lSlots. + */ + public int getLSlotsCount() { + return lSlots_.size(); + } + + /** + * repeated int32 l_slots = 6; + * @param index The index of the element to return. + * @return The lSlots at the given index. + */ + public int getLSlots(int index) { + return lSlots_.getInt(index); + } + + private int lSlotsMemoizedSerializedSize = -1; + + public static final int S_SLOTS_FIELD_NUMBER = 7; + + @SuppressWarnings("serial") + private com.google.protobuf.Internal.IntList sSlots_; + + /** + * repeated int32 s_slots = 7; + * @return A list containing the sSlots. + */ + @java.lang.Override + public java.util.List getSSlotsList() { + return sSlots_; + } + + /** + * repeated int32 s_slots = 7; + * @return The count of sSlots. + */ + public int getSSlotsCount() { + return sSlots_.size(); + } + + /** + * repeated int32 s_slots = 7; + * @param index The index of the element to return. + * @return The sSlots at the given index. + */ + public int getSSlots(int index) { + return sSlots_.getInt(index); + } + + private int sSlotsMemoizedSerializedSize = -1; + + public static final int LENGTH_FIELD_NUMBER = 8; + + private float length_ = 0F; + + /** + * float length = 8; + * @return The length. + */ + @java.lang.Override + public float getLength() { + return length_; + } + + public static final int USED_FIELD_NUMBER = 9; + + private boolean used_ = false; + + /** + * bool used = 9; + * @return The used. + */ + @java.lang.Override + public boolean getUsed() { + return used_; + } + + public static final int FIBER_UUID_FIELD_NUMBER = 11; + + private context.ContextOuterClass.FiberId fiberUuid_; + + /** + * .context.FiberId fiber_uuid = 11; + * @return Whether the fiberUuid field is set. + */ + @java.lang.Override + public boolean hasFiberUuid() { + return fiberUuid_ != null; + } + + /** + * .context.FiberId fiber_uuid = 11; + * @return The fiberUuid. + */ + @java.lang.Override + public context.ContextOuterClass.FiberId getFiberUuid() { + return fiberUuid_ == null ? context.ContextOuterClass.FiberId.getDefaultInstance() : fiberUuid_; + } + + /** + * .context.FiberId fiber_uuid = 11; + */ + @java.lang.Override + public context.ContextOuterClass.FiberIdOrBuilder getFiberUuidOrBuilder() { + return fiberUuid_ == null ? context.ContextOuterClass.FiberId.getDefaultInstance() : fiberUuid_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + getSerializedSize(); + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcPort_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, srcPort_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstPort_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, dstPort_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(localPeerPort_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, localPeerPort_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(remotePeerPort_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, remotePeerPort_); + } + if (getCSlotsList().size() > 0) { + output.writeUInt32NoTag(42); + output.writeUInt32NoTag(cSlotsMemoizedSerializedSize); + } + for (int i = 0; i < cSlots_.size(); i++) { + output.writeInt32NoTag(cSlots_.getInt(i)); + } + if (getLSlotsList().size() > 0) { + output.writeUInt32NoTag(50); + output.writeUInt32NoTag(lSlotsMemoizedSerializedSize); + } + for (int i = 0; i < lSlots_.size(); i++) { + output.writeInt32NoTag(lSlots_.getInt(i)); + } + if (getSSlotsList().size() > 0) { + output.writeUInt32NoTag(58); + output.writeUInt32NoTag(sSlotsMemoizedSerializedSize); + } + for (int i = 0; i < sSlots_.size(); i++) { + output.writeInt32NoTag(sSlots_.getInt(i)); + } + if (java.lang.Float.floatToRawIntBits(length_) != 0) { + output.writeFloat(8, length_); + } + if (used_ != false) { + output.writeBool(9, used_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(iD_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 10, iD_); + } + if (fiberUuid_ != null) { + output.writeMessage(11, getFiberUuid()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcPort_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, srcPort_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstPort_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, dstPort_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(localPeerPort_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, localPeerPort_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(remotePeerPort_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, remotePeerPort_); + } + { + int dataSize = 0; + for (int i = 0; i < cSlots_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream.computeInt32SizeNoTag(cSlots_.getInt(i)); + } + size += dataSize; + if (!getCSlotsList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream.computeInt32SizeNoTag(dataSize); + } + cSlotsMemoizedSerializedSize = dataSize; + } + { + int dataSize = 0; + for (int i = 0; i < lSlots_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream.computeInt32SizeNoTag(lSlots_.getInt(i)); + } + size += dataSize; + if (!getLSlotsList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream.computeInt32SizeNoTag(dataSize); + } + lSlotsMemoizedSerializedSize = dataSize; + } + { + int dataSize = 0; + for (int i = 0; i < sSlots_.size(); i++) { + dataSize += com.google.protobuf.CodedOutputStream.computeInt32SizeNoTag(sSlots_.getInt(i)); + } + size += dataSize; + if (!getSSlotsList().isEmpty()) { + size += 1; + size += com.google.protobuf.CodedOutputStream.computeInt32SizeNoTag(dataSize); + } + sSlotsMemoizedSerializedSize = dataSize; + } + if (java.lang.Float.floatToRawIntBits(length_) != 0) { + size += com.google.protobuf.CodedOutputStream.computeFloatSize(8, length_); + } + if (used_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(9, used_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(iD_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, iD_); + } + if (fiberUuid_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(11, getFiberUuid()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.Fiber)) { + return super.equals(obj); + } + context.ContextOuterClass.Fiber other = (context.ContextOuterClass.Fiber) obj; + if (!getID().equals(other.getID())) + return false; + if (!getSrcPort().equals(other.getSrcPort())) + return false; + if (!getDstPort().equals(other.getDstPort())) + return false; + if (!getLocalPeerPort().equals(other.getLocalPeerPort())) + return false; + if (!getRemotePeerPort().equals(other.getRemotePeerPort())) + return false; + if (!getCSlotsList().equals(other.getCSlotsList())) + return false; + if (!getLSlotsList().equals(other.getLSlotsList())) + return false; + if (!getSSlotsList().equals(other.getSSlotsList())) + return false; + if (java.lang.Float.floatToIntBits(getLength()) != java.lang.Float.floatToIntBits(other.getLength())) + return false; + if (getUsed() != other.getUsed()) + return false; + if (hasFiberUuid() != other.hasFiberUuid()) + return false; + if (hasFiberUuid()) { + if (!getFiberUuid().equals(other.getFiberUuid())) + return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + ID_FIELD_NUMBER; + hash = (53 * hash) + getID().hashCode(); + hash = (37 * hash) + SRC_PORT_FIELD_NUMBER; + hash = (53 * hash) + getSrcPort().hashCode(); + hash = (37 * hash) + DST_PORT_FIELD_NUMBER; + hash = (53 * hash) + getDstPort().hashCode(); + hash = (37 * hash) + LOCAL_PEER_PORT_FIELD_NUMBER; + hash = (53 * hash) + getLocalPeerPort().hashCode(); + hash = (37 * hash) + REMOTE_PEER_PORT_FIELD_NUMBER; + hash = (53 * hash) + getRemotePeerPort().hashCode(); + if (getCSlotsCount() > 0) { + hash = (37 * hash) + C_SLOTS_FIELD_NUMBER; + hash = (53 * hash) + getCSlotsList().hashCode(); + } + if (getLSlotsCount() > 0) { + hash = (37 * hash) + L_SLOTS_FIELD_NUMBER; + hash = (53 * hash) + getLSlotsList().hashCode(); + } + if (getSSlotsCount() > 0) { + hash = (37 * hash) + S_SLOTS_FIELD_NUMBER; + hash = (53 * hash) + getSSlotsList().hashCode(); + } + hash = (37 * hash) + LENGTH_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits(getLength()); + hash = (37 * hash) + USED_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getUsed()); + if (hasFiberUuid()) { + hash = (37 * hash) + FIBER_UUID_FIELD_NUMBER; + hash = (53 * hash) + getFiberUuid().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.Fiber parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.Fiber parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.Fiber parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.Fiber parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.Fiber parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.Fiber parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.Fiber parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.Fiber parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.Fiber parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.Fiber parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.Fiber parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.Fiber parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(context.ContextOuterClass.Fiber prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code context.Fiber} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:context.Fiber) + context.ContextOuterClass.FiberOrBuilder { + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_Fiber_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_Fiber_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.Fiber.class, context.ContextOuterClass.Fiber.Builder.class); + } + + // Construct using context.ContextOuterClass.Fiber.newBuilder() + private Builder() { + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + iD_ = ""; + srcPort_ = ""; + dstPort_ = ""; + localPeerPort_ = ""; + remotePeerPort_ = ""; + cSlots_ = emptyIntList(); + lSlots_ = emptyIntList(); + sSlots_ = emptyIntList(); + length_ = 0F; + used_ = false; + fiberUuid_ = null; + if (fiberUuidBuilder_ != null) { + fiberUuidBuilder_.dispose(); + fiberUuidBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_Fiber_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.Fiber getDefaultInstanceForType() { + return context.ContextOuterClass.Fiber.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.Fiber build() { + context.ContextOuterClass.Fiber result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.Fiber buildPartial() { + context.ContextOuterClass.Fiber result = new context.ContextOuterClass.Fiber(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(context.ContextOuterClass.Fiber result) { + if (((bitField0_ & 0x00000020) != 0)) { + cSlots_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000020); + } + result.cSlots_ = cSlots_; + if (((bitField0_ & 0x00000040) != 0)) { + lSlots_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000040); + } + result.lSlots_ = lSlots_; + if (((bitField0_ & 0x00000080) != 0)) { + sSlots_.makeImmutable(); + bitField0_ = (bitField0_ & ~0x00000080); + } + result.sSlots_ = sSlots_; + } + + private void buildPartial0(context.ContextOuterClass.Fiber result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.iD_ = iD_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.srcPort_ = srcPort_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.dstPort_ = dstPort_; + } + if (((from_bitField0_ & 0x00000008) != 0)) { + result.localPeerPort_ = localPeerPort_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.remotePeerPort_ = remotePeerPort_; + } + if (((from_bitField0_ & 0x00000100) != 0)) { + result.length_ = length_; + } + if (((from_bitField0_ & 0x00000200) != 0)) { + result.used_ = used_; + } + if (((from_bitField0_ & 0x00000400) != 0)) { + result.fiberUuid_ = fiberUuidBuilder_ == null ? fiberUuid_ : fiberUuidBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.Fiber) { + return mergeFrom((context.ContextOuterClass.Fiber) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.Fiber other) { + if (other == context.ContextOuterClass.Fiber.getDefaultInstance()) + return this; + if (!other.getID().isEmpty()) { + iD_ = other.iD_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getSrcPort().isEmpty()) { + srcPort_ = other.srcPort_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getDstPort().isEmpty()) { + dstPort_ = other.dstPort_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (!other.getLocalPeerPort().isEmpty()) { + localPeerPort_ = other.localPeerPort_; + bitField0_ |= 0x00000008; + onChanged(); + } + if (!other.getRemotePeerPort().isEmpty()) { + remotePeerPort_ = other.remotePeerPort_; + bitField0_ |= 0x00000010; + onChanged(); + } + if (!other.cSlots_.isEmpty()) { + if (cSlots_.isEmpty()) { + cSlots_ = other.cSlots_; + bitField0_ = (bitField0_ & ~0x00000020); + } else { + ensureCSlotsIsMutable(); + cSlots_.addAll(other.cSlots_); + } + onChanged(); + } + if (!other.lSlots_.isEmpty()) { + if (lSlots_.isEmpty()) { + lSlots_ = other.lSlots_; + bitField0_ = (bitField0_ & ~0x00000040); + } else { + ensureLSlotsIsMutable(); + lSlots_.addAll(other.lSlots_); + } + onChanged(); + } + if (!other.sSlots_.isEmpty()) { + if (sSlots_.isEmpty()) { + sSlots_ = other.sSlots_; + bitField0_ = (bitField0_ & ~0x00000080); + } else { + ensureSSlotsIsMutable(); + sSlots_.addAll(other.sSlots_); + } + onChanged(); + } + if (other.getLength() != 0F) { + setLength(other.getLength()); + } + if (other.getUsed() != false) { + setUsed(other.getUsed()); + } + if (other.hasFiberUuid()) { + mergeFiberUuid(other.getFiberUuid()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + srcPort_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } + // case 10 + case 18: + { + dstPort_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } + // case 18 + case 26: + { + localPeerPort_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000008; + break; + } + // case 26 + case 34: + { + remotePeerPort_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000010; + break; + } + // case 34 + case 40: + { + int v = input.readInt32(); + ensureCSlotsIsMutable(); + cSlots_.addInt(v); + break; + } + // case 40 + case 42: + { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureCSlotsIsMutable(); + while (input.getBytesUntilLimit() > 0) { + cSlots_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + // case 42 + case 48: + { + int v = input.readInt32(); + ensureLSlotsIsMutable(); + lSlots_.addInt(v); + break; + } + // case 48 + case 50: + { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureLSlotsIsMutable(); + while (input.getBytesUntilLimit() > 0) { + lSlots_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + // case 50 + case 56: + { + int v = input.readInt32(); + ensureSSlotsIsMutable(); + sSlots_.addInt(v); + break; + } + // case 56 + case 58: + { + int length = input.readRawVarint32(); + int limit = input.pushLimit(length); + ensureSSlotsIsMutable(); + while (input.getBytesUntilLimit() > 0) { + sSlots_.addInt(input.readInt32()); + } + input.popLimit(limit); + break; + } + // case 58 + case 69: + { + length_ = input.readFloat(); + bitField0_ |= 0x00000100; + break; + } + // case 69 + case 72: + { + used_ = input.readBool(); + bitField0_ |= 0x00000200; + break; + } + // case 72 + case 82: + { + iD_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } + // case 82 + case 90: + { + input.readMessage(getFiberUuidFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000400; + break; + } + // case 90 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + // was an endgroup tag + done = true; + } + break; + } + } + // switch (tag) + } + // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } + // finally + return this; + } + + private int bitField0_; + + private java.lang.Object iD_ = ""; + + /** + * string ID = 10; + * @return The iD. + */ + public java.lang.String getID() { + java.lang.Object ref = iD_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + iD_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string ID = 10; + * @return The bytes for iD. + */ + public com.google.protobuf.ByteString getIDBytes() { + java.lang.Object ref = iD_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + iD_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string ID = 10; + * @param value The iD to set. + * @return This builder for chaining. + */ + public Builder setID(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + iD_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * string ID = 10; + * @return This builder for chaining. + */ + public Builder clearID() { + iD_ = getDefaultInstance().getID(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * string ID = 10; + * @param value The bytes for iD to set. + * @return This builder for chaining. + */ + public Builder setIDBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + iD_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object srcPort_ = ""; + + /** + * string src_port = 1; + * @return The srcPort. + */ + public java.lang.String getSrcPort() { + java.lang.Object ref = srcPort_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + srcPort_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string src_port = 1; + * @return The bytes for srcPort. + */ + public com.google.protobuf.ByteString getSrcPortBytes() { + java.lang.Object ref = srcPort_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + srcPort_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string src_port = 1; + * @param value The srcPort to set. + * @return This builder for chaining. + */ + public Builder setSrcPort(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + srcPort_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * string src_port = 1; + * @return This builder for chaining. + */ + public Builder clearSrcPort() { + srcPort_ = getDefaultInstance().getSrcPort(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * string src_port = 1; + * @param value The bytes for srcPort to set. + * @return This builder for chaining. + */ + public Builder setSrcPortBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + srcPort_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object dstPort_ = ""; + + /** + * string dst_port = 2; + * @return The dstPort. + */ + public java.lang.String getDstPort() { + java.lang.Object ref = dstPort_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + dstPort_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string dst_port = 2; + * @return The bytes for dstPort. + */ + public com.google.protobuf.ByteString getDstPortBytes() { + java.lang.Object ref = dstPort_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + dstPort_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string dst_port = 2; + * @param value The dstPort to set. + * @return This builder for chaining. + */ + public Builder setDstPort(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + dstPort_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * string dst_port = 2; + * @return This builder for chaining. + */ + public Builder clearDstPort() { + dstPort_ = getDefaultInstance().getDstPort(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * string dst_port = 2; + * @param value The bytes for dstPort to set. + * @return This builder for chaining. + */ + public Builder setDstPortBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + dstPort_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.lang.Object localPeerPort_ = ""; + + /** + * string local_peer_port = 3; + * @return The localPeerPort. + */ + public java.lang.String getLocalPeerPort() { + java.lang.Object ref = localPeerPort_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + localPeerPort_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string local_peer_port = 3; + * @return The bytes for localPeerPort. + */ + public com.google.protobuf.ByteString getLocalPeerPortBytes() { + java.lang.Object ref = localPeerPort_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + localPeerPort_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string local_peer_port = 3; + * @param value The localPeerPort to set. + * @return This builder for chaining. + */ + public Builder setLocalPeerPort(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + localPeerPort_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + /** + * string local_peer_port = 3; + * @return This builder for chaining. + */ + public Builder clearLocalPeerPort() { + localPeerPort_ = getDefaultInstance().getLocalPeerPort(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + return this; + } + + /** + * string local_peer_port = 3; + * @param value The bytes for localPeerPort to set. + * @return This builder for chaining. + */ + public Builder setLocalPeerPortBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + localPeerPort_ = value; + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + + private java.lang.Object remotePeerPort_ = ""; + + /** + * string remote_peer_port = 4; + * @return The remotePeerPort. + */ + public java.lang.String getRemotePeerPort() { + java.lang.Object ref = remotePeerPort_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + remotePeerPort_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string remote_peer_port = 4; + * @return The bytes for remotePeerPort. + */ + public com.google.protobuf.ByteString getRemotePeerPortBytes() { + java.lang.Object ref = remotePeerPort_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + remotePeerPort_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string remote_peer_port = 4; + * @param value The remotePeerPort to set. + * @return This builder for chaining. + */ + public Builder setRemotePeerPort(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + remotePeerPort_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + /** + * string remote_peer_port = 4; + * @return This builder for chaining. + */ + public Builder clearRemotePeerPort() { + remotePeerPort_ = getDefaultInstance().getRemotePeerPort(); + bitField0_ = (bitField0_ & ~0x00000010); + onChanged(); + return this; + } + + /** + * string remote_peer_port = 4; + * @param value The bytes for remotePeerPort to set. + * @return This builder for chaining. + */ + public Builder setRemotePeerPortBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + remotePeerPort_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + + private com.google.protobuf.Internal.IntList cSlots_ = emptyIntList(); + + private void ensureCSlotsIsMutable() { + if (!((bitField0_ & 0x00000020) != 0)) { + cSlots_ = mutableCopy(cSlots_); + bitField0_ |= 0x00000020; + } + } + + /** + * repeated int32 c_slots = 5; + * @return A list containing the cSlots. + */ + public java.util.List getCSlotsList() { + return ((bitField0_ & 0x00000020) != 0) ? java.util.Collections.unmodifiableList(cSlots_) : cSlots_; + } + + /** + * repeated int32 c_slots = 5; + * @return The count of cSlots. + */ + public int getCSlotsCount() { + return cSlots_.size(); + } + + /** + * repeated int32 c_slots = 5; + * @param index The index of the element to return. + * @return The cSlots at the given index. + */ + public int getCSlots(int index) { + return cSlots_.getInt(index); + } + + /** + * repeated int32 c_slots = 5; + * @param index The index to set the value at. + * @param value The cSlots to set. + * @return This builder for chaining. + */ + public Builder setCSlots(int index, int value) { + ensureCSlotsIsMutable(); + cSlots_.setInt(index, value); + onChanged(); + return this; + } + + /** + * repeated int32 c_slots = 5; + * @param value The cSlots to add. + * @return This builder for chaining. + */ + public Builder addCSlots(int value) { + ensureCSlotsIsMutable(); + cSlots_.addInt(value); + onChanged(); + return this; + } + + /** + * repeated int32 c_slots = 5; + * @param values The cSlots to add. + * @return This builder for chaining. + */ + public Builder addAllCSlots(java.lang.Iterable values) { + ensureCSlotsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, cSlots_); + onChanged(); + return this; + } + + /** + * repeated int32 c_slots = 5; + * @return This builder for chaining. + */ + public Builder clearCSlots() { + cSlots_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000020); + onChanged(); + return this; + } + + private com.google.protobuf.Internal.IntList lSlots_ = emptyIntList(); + + private void ensureLSlotsIsMutable() { + if (!((bitField0_ & 0x00000040) != 0)) { + lSlots_ = mutableCopy(lSlots_); + bitField0_ |= 0x00000040; + } + } + + /** + * repeated int32 l_slots = 6; + * @return A list containing the lSlots. + */ + public java.util.List getLSlotsList() { + return ((bitField0_ & 0x00000040) != 0) ? java.util.Collections.unmodifiableList(lSlots_) : lSlots_; + } + + /** + * repeated int32 l_slots = 6; + * @return The count of lSlots. + */ + public int getLSlotsCount() { + return lSlots_.size(); + } + + /** + * repeated int32 l_slots = 6; + * @param index The index of the element to return. + * @return The lSlots at the given index. + */ + public int getLSlots(int index) { + return lSlots_.getInt(index); + } + + /** + * repeated int32 l_slots = 6; + * @param index The index to set the value at. + * @param value The lSlots to set. + * @return This builder for chaining. + */ + public Builder setLSlots(int index, int value) { + ensureLSlotsIsMutable(); + lSlots_.setInt(index, value); + onChanged(); + return this; + } + + /** + * repeated int32 l_slots = 6; + * @param value The lSlots to add. + * @return This builder for chaining. + */ + public Builder addLSlots(int value) { + ensureLSlotsIsMutable(); + lSlots_.addInt(value); + onChanged(); + return this; + } + + /** + * repeated int32 l_slots = 6; + * @param values The lSlots to add. + * @return This builder for chaining. + */ + public Builder addAllLSlots(java.lang.Iterable values) { + ensureLSlotsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, lSlots_); + onChanged(); + return this; + } + + /** + * repeated int32 l_slots = 6; + * @return This builder for chaining. + */ + public Builder clearLSlots() { + lSlots_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + + private com.google.protobuf.Internal.IntList sSlots_ = emptyIntList(); + + private void ensureSSlotsIsMutable() { + if (!((bitField0_ & 0x00000080) != 0)) { + sSlots_ = mutableCopy(sSlots_); + bitField0_ |= 0x00000080; + } + } + + /** + * repeated int32 s_slots = 7; + * @return A list containing the sSlots. + */ + public java.util.List getSSlotsList() { + return ((bitField0_ & 0x00000080) != 0) ? java.util.Collections.unmodifiableList(sSlots_) : sSlots_; + } + + /** + * repeated int32 s_slots = 7; + * @return The count of sSlots. + */ + public int getSSlotsCount() { + return sSlots_.size(); + } + + /** + * repeated int32 s_slots = 7; + * @param index The index of the element to return. + * @return The sSlots at the given index. + */ + public int getSSlots(int index) { + return sSlots_.getInt(index); + } + + /** + * repeated int32 s_slots = 7; + * @param index The index to set the value at. + * @param value The sSlots to set. + * @return This builder for chaining. + */ + public Builder setSSlots(int index, int value) { + ensureSSlotsIsMutable(); + sSlots_.setInt(index, value); + onChanged(); + return this; + } + + /** + * repeated int32 s_slots = 7; + * @param value The sSlots to add. + * @return This builder for chaining. + */ + public Builder addSSlots(int value) { + ensureSSlotsIsMutable(); + sSlots_.addInt(value); + onChanged(); + return this; + } + + /** + * repeated int32 s_slots = 7; + * @param values The sSlots to add. + * @return This builder for chaining. + */ + public Builder addAllSSlots(java.lang.Iterable values) { + ensureSSlotsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, sSlots_); + onChanged(); + return this; + } + + /** + * repeated int32 s_slots = 7; + * @return This builder for chaining. + */ + public Builder clearSSlots() { + sSlots_ = emptyIntList(); + bitField0_ = (bitField0_ & ~0x00000080); + onChanged(); + return this; + } + + private float length_; + + /** + * float length = 8; + * @return The length. + */ + @java.lang.Override + public float getLength() { + return length_; + } + + /** + * float length = 8; + * @param value The length to set. + * @return This builder for chaining. + */ + public Builder setLength(float value) { + length_ = value; + bitField0_ |= 0x00000100; + onChanged(); + return this; + } + + /** + * float length = 8; + * @return This builder for chaining. + */ + public Builder clearLength() { + bitField0_ = (bitField0_ & ~0x00000100); + length_ = 0F; + onChanged(); + return this; + } + + private boolean used_; + + /** + * bool used = 9; + * @return The used. + */ + @java.lang.Override + public boolean getUsed() { + return used_; + } + + /** + * bool used = 9; + * @param value The used to set. + * @return This builder for chaining. + */ + public Builder setUsed(boolean value) { + used_ = value; + bitField0_ |= 0x00000200; + onChanged(); + return this; + } + + /** + * bool used = 9; + * @return This builder for chaining. + */ + public Builder clearUsed() { + bitField0_ = (bitField0_ & ~0x00000200); + used_ = false; + onChanged(); + return this; + } + + private context.ContextOuterClass.FiberId fiberUuid_; + + private com.google.protobuf.SingleFieldBuilderV3 fiberUuidBuilder_; + + /** + * .context.FiberId fiber_uuid = 11; + * @return Whether the fiberUuid field is set. + */ + public boolean hasFiberUuid() { + return ((bitField0_ & 0x00000400) != 0); + } + + /** + * .context.FiberId fiber_uuid = 11; + * @return The fiberUuid. + */ + public context.ContextOuterClass.FiberId getFiberUuid() { + if (fiberUuidBuilder_ == null) { + return fiberUuid_ == null ? context.ContextOuterClass.FiberId.getDefaultInstance() : fiberUuid_; + } else { + return fiberUuidBuilder_.getMessage(); + } + } + + /** + * .context.FiberId fiber_uuid = 11; + */ + public Builder setFiberUuid(context.ContextOuterClass.FiberId value) { + if (fiberUuidBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + fiberUuid_ = value; + } else { + fiberUuidBuilder_.setMessage(value); + } + bitField0_ |= 0x00000400; + onChanged(); + return this; + } + + /** + * .context.FiberId fiber_uuid = 11; + */ + public Builder setFiberUuid(context.ContextOuterClass.FiberId.Builder builderForValue) { + if (fiberUuidBuilder_ == null) { + fiberUuid_ = builderForValue.build(); + } else { + fiberUuidBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000400; + onChanged(); + return this; + } + + /** + * .context.FiberId fiber_uuid = 11; + */ + public Builder mergeFiberUuid(context.ContextOuterClass.FiberId value) { + if (fiberUuidBuilder_ == null) { + if (((bitField0_ & 0x00000400) != 0) && fiberUuid_ != null && fiberUuid_ != context.ContextOuterClass.FiberId.getDefaultInstance()) { + getFiberUuidBuilder().mergeFrom(value); + } else { + fiberUuid_ = value; + } + } else { + fiberUuidBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000400; + onChanged(); + return this; + } + + /** + * .context.FiberId fiber_uuid = 11; + */ + public Builder clearFiberUuid() { + bitField0_ = (bitField0_ & ~0x00000400); + fiberUuid_ = null; + if (fiberUuidBuilder_ != null) { + fiberUuidBuilder_.dispose(); + fiberUuidBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * .context.FiberId fiber_uuid = 11; + */ + public context.ContextOuterClass.FiberId.Builder getFiberUuidBuilder() { + bitField0_ |= 0x00000400; + onChanged(); + return getFiberUuidFieldBuilder().getBuilder(); + } + + /** + * .context.FiberId fiber_uuid = 11; + */ + public context.ContextOuterClass.FiberIdOrBuilder getFiberUuidOrBuilder() { + if (fiberUuidBuilder_ != null) { + return fiberUuidBuilder_.getMessageOrBuilder(); + } else { + return fiberUuid_ == null ? context.ContextOuterClass.FiberId.getDefaultInstance() : fiberUuid_; + } + } + + /** + * .context.FiberId fiber_uuid = 11; + */ + private com.google.protobuf.SingleFieldBuilderV3 getFiberUuidFieldBuilder() { + if (fiberUuidBuilder_ == null) { + fiberUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3(getFiberUuid(), getParentForChildren(), isClean()); + fiberUuid_ = null; + } + return fiberUuidBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + // @@protoc_insertion_point(builder_scope:context.Fiber) + } + + // @@protoc_insertion_point(class_scope:context.Fiber) + private static final context.ContextOuterClass.Fiber DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.Fiber(); + } + + public static context.ContextOuterClass.Fiber getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + + @java.lang.Override + public Fiber parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.Fiber getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface OpticalLinkDetailsOrBuilder extends // @@protoc_insertion_point(interface_extends:context.OpticalLinkDetails) + com.google.protobuf.MessageOrBuilder { + + /** + * float length = 1; + * @return The length. + */ + float getLength(); + + /** + * string source = 2; + * @return The source. + */ + java.lang.String getSource(); + + /** + * string source = 2; + * @return The bytes for source. + */ + com.google.protobuf.ByteString getSourceBytes(); + + /** + * string target = 3; + * @return The target. + */ + java.lang.String getTarget(); + + /** + * string target = 3; + * @return The bytes for target. + */ + com.google.protobuf.ByteString getTargetBytes(); + + /** + * repeated .context.Fiber fibers = 4; + */ + java.util.List getFibersList(); + + /** + * repeated .context.Fiber fibers = 4; + */ + context.ContextOuterClass.Fiber getFibers(int index); + + /** + * repeated .context.Fiber fibers = 4; + */ + int getFibersCount(); + + /** + * repeated .context.Fiber fibers = 4; + */ + java.util.List getFibersOrBuilderList(); + + /** + * repeated .context.Fiber fibers = 4; + */ + context.ContextOuterClass.FiberOrBuilder getFibersOrBuilder(int index); + } + + /** + * Protobuf type {@code context.OpticalLinkDetails} + */ + public static final class OpticalLinkDetails extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:context.OpticalLinkDetails) + OpticalLinkDetailsOrBuilder { + + private static final long serialVersionUID = 0L; + + // Use OpticalLinkDetails.newBuilder() to construct. + private OpticalLinkDetails(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private OpticalLinkDetails() { + source_ = ""; + target_ = ""; + fibers_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new OpticalLinkDetails(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalLinkDetails_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalLinkDetails_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalLinkDetails.class, context.ContextOuterClass.OpticalLinkDetails.Builder.class); + } + + public static final int LENGTH_FIELD_NUMBER = 1; + + private float length_ = 0F; + + /** + * float length = 1; + * @return The length. + */ + @java.lang.Override + public float getLength() { + return length_; + } + + public static final int SOURCE_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object source_ = ""; + + /** + * string source = 2; + * @return The source. + */ + @java.lang.Override + public java.lang.String getSource() { + java.lang.Object ref = source_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + source_ = s; + return s; + } + } + + /** + * string source = 2; + * @return The bytes for source. + */ + @java.lang.Override + public com.google.protobuf.ByteString getSourceBytes() { + java.lang.Object ref = source_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + source_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TARGET_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object target_ = ""; + + /** + * string target = 3; + * @return The target. + */ + @java.lang.Override + public java.lang.String getTarget() { + java.lang.Object ref = target_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + target_ = s; + return s; + } + } + + /** + * string target = 3; + * @return The bytes for target. + */ + @java.lang.Override + public com.google.protobuf.ByteString getTargetBytes() { + java.lang.Object ref = target_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + target_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int FIBERS_FIELD_NUMBER = 4; + + @SuppressWarnings("serial") + private java.util.List fibers_; + + /** + * repeated .context.Fiber fibers = 4; + */ + @java.lang.Override + public java.util.List getFibersList() { + return fibers_; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + @java.lang.Override + public java.util.List getFibersOrBuilderList() { + return fibers_; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + @java.lang.Override + public int getFibersCount() { + return fibers_.size(); + } + + /** + * repeated .context.Fiber fibers = 4; + */ + @java.lang.Override + public context.ContextOuterClass.Fiber getFibers(int index) { + return fibers_.get(index); + } + + /** + * repeated .context.Fiber fibers = 4; + */ + @java.lang.Override + public context.ContextOuterClass.FiberOrBuilder getFibersOrBuilder(int index) { + return fibers_.get(index); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (java.lang.Float.floatToRawIntBits(length_) != 0) { + output.writeFloat(1, length_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(source_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, source_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(target_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, target_); + } + for (int i = 0; i < fibers_.size(); i++) { + output.writeMessage(4, fibers_.get(i)); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + size = 0; + if (java.lang.Float.floatToRawIntBits(length_) != 0) { + size += com.google.protobuf.CodedOutputStream.computeFloatSize(1, length_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(source_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, source_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(target_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, target_); + } + for (int i = 0; i < fibers_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, fibers_.get(i)); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.OpticalLinkDetails)) { + return super.equals(obj); + } + context.ContextOuterClass.OpticalLinkDetails other = (context.ContextOuterClass.OpticalLinkDetails) obj; + if (java.lang.Float.floatToIntBits(getLength()) != java.lang.Float.floatToIntBits(other.getLength())) + return false; + if (!getSource().equals(other.getSource())) + return false; + if (!getTarget().equals(other.getTarget())) + return false; + if (!getFibersList().equals(other.getFibersList())) + return false; + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + LENGTH_FIELD_NUMBER; + hash = (53 * hash) + java.lang.Float.floatToIntBits(getLength()); + hash = (37 * hash) + SOURCE_FIELD_NUMBER; + hash = (53 * hash) + getSource().hashCode(); + hash = (37 * hash) + TARGET_FIELD_NUMBER; + hash = (53 * hash) + getTarget().hashCode(); + if (getFibersCount() > 0) { + hash = (37 * hash) + FIBERS_FIELD_NUMBER; + hash = (53 * hash) + getFibersList().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLinkDetails parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(context.ContextOuterClass.OpticalLinkDetails prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code context.OpticalLinkDetails} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:context.OpticalLinkDetails) + context.ContextOuterClass.OpticalLinkDetailsOrBuilder { + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalLinkDetails_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalLinkDetails_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalLinkDetails.class, context.ContextOuterClass.OpticalLinkDetails.Builder.class); + } + + // Construct using context.ContextOuterClass.OpticalLinkDetails.newBuilder() + private Builder() { + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + length_ = 0F; + source_ = ""; + target_ = ""; + if (fibersBuilder_ == null) { + fibers_ = java.util.Collections.emptyList(); + } else { + fibers_ = null; + fibersBuilder_.clear(); + } + bitField0_ = (bitField0_ & ~0x00000008); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_OpticalLinkDetails_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLinkDetails getDefaultInstanceForType() { + return context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLinkDetails build() { + context.ContextOuterClass.OpticalLinkDetails result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLinkDetails buildPartial() { + context.ContextOuterClass.OpticalLinkDetails result = new context.ContextOuterClass.OpticalLinkDetails(this); + buildPartialRepeatedFields(result); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartialRepeatedFields(context.ContextOuterClass.OpticalLinkDetails result) { + if (fibersBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0)) { + fibers_ = java.util.Collections.unmodifiableList(fibers_); + bitField0_ = (bitField0_ & ~0x00000008); + } + result.fibers_ = fibers_; + } else { + result.fibers_ = fibersBuilder_.build(); + } + } + + private void buildPartial0(context.ContextOuterClass.OpticalLinkDetails result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.length_ = length_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.source_ = source_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.target_ = target_; + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.OpticalLinkDetails) { + return mergeFrom((context.ContextOuterClass.OpticalLinkDetails) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.OpticalLinkDetails other) { + if (other == context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance()) + return this; + if (other.getLength() != 0F) { + setLength(other.getLength()); + } + if (!other.getSource().isEmpty()) { + source_ = other.source_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getTarget().isEmpty()) { + target_ = other.target_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (fibersBuilder_ == null) { + if (!other.fibers_.isEmpty()) { + if (fibers_.isEmpty()) { + fibers_ = other.fibers_; + bitField0_ = (bitField0_ & ~0x00000008); + } else { + ensureFibersIsMutable(); + fibers_.addAll(other.fibers_); + } + onChanged(); + } + } else { + if (!other.fibers_.isEmpty()) { + if (fibersBuilder_.isEmpty()) { + fibersBuilder_.dispose(); + fibersBuilder_ = null; + fibers_ = other.fibers_; + bitField0_ = (bitField0_ & ~0x00000008); + fibersBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getFibersFieldBuilder() : null; + } else { + fibersBuilder_.addAllMessages(other.fibers_); + } + } + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 13: + { + length_ = input.readFloat(); + bitField0_ |= 0x00000001; + break; + } + // case 13 + case 18: + { + source_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } + // case 18 + case 26: + { + target_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } + // case 26 + case 34: + { + context.ContextOuterClass.Fiber m = input.readMessage(context.ContextOuterClass.Fiber.parser(), extensionRegistry); + if (fibersBuilder_ == null) { + ensureFibersIsMutable(); + fibers_.add(m); + } else { + fibersBuilder_.addMessage(m); + } + break; + } + // case 34 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + // was an endgroup tag + done = true; + } + break; + } + } + // switch (tag) + } + // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } + // finally + return this; + } + + private int bitField0_; + + private float length_; + + /** + * float length = 1; + * @return The length. + */ + @java.lang.Override + public float getLength() { + return length_; + } + + /** + * float length = 1; + * @param value The length to set. + * @return This builder for chaining. + */ + public Builder setLength(float value) { + length_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * float length = 1; + * @return This builder for chaining. + */ + public Builder clearLength() { + bitField0_ = (bitField0_ & ~0x00000001); + length_ = 0F; + onChanged(); + return this; + } + + private java.lang.Object source_ = ""; + + /** + * string source = 2; + * @return The source. + */ + public java.lang.String getSource() { + java.lang.Object ref = source_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + source_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string source = 2; + * @return The bytes for source. + */ + public com.google.protobuf.ByteString getSourceBytes() { + java.lang.Object ref = source_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + source_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string source = 2; + * @param value The source to set. + * @return This builder for chaining. + */ + public Builder setSource(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + source_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * string source = 2; + * @return This builder for chaining. + */ + public Builder clearSource() { + source_ = getDefaultInstance().getSource(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + + /** + * string source = 2; + * @param value The bytes for source to set. + * @return This builder for chaining. + */ + public Builder setSourceBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + source_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object target_ = ""; + + /** + * string target = 3; + * @return The target. + */ + public java.lang.String getTarget() { + java.lang.Object ref = target_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + target_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string target = 3; + * @return The bytes for target. + */ + public com.google.protobuf.ByteString getTargetBytes() { + java.lang.Object ref = target_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + target_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string target = 3; + * @param value The target to set. + * @return This builder for chaining. + */ + public Builder setTarget(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + target_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * string target = 3; + * @return This builder for chaining. + */ + public Builder clearTarget() { + target_ = getDefaultInstance().getTarget(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + + /** + * string target = 3; + * @param value The bytes for target to set. + * @return This builder for chaining. + */ + public Builder setTargetBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + target_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private java.util.List fibers_ = java.util.Collections.emptyList(); + + private void ensureFibersIsMutable() { + if (!((bitField0_ & 0x00000008) != 0)) { + fibers_ = new java.util.ArrayList(fibers_); + bitField0_ |= 0x00000008; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3 fibersBuilder_; + + /** + * repeated .context.Fiber fibers = 4; + */ + public java.util.List getFibersList() { + if (fibersBuilder_ == null) { + return java.util.Collections.unmodifiableList(fibers_); + } else { + return fibersBuilder_.getMessageList(); + } + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public int getFibersCount() { + if (fibersBuilder_ == null) { + return fibers_.size(); + } else { + return fibersBuilder_.getCount(); + } + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public context.ContextOuterClass.Fiber getFibers(int index) { + if (fibersBuilder_ == null) { + return fibers_.get(index); + } else { + return fibersBuilder_.getMessage(index); + } + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder setFibers(int index, context.ContextOuterClass.Fiber value) { + if (fibersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureFibersIsMutable(); + fibers_.set(index, value); + onChanged(); + } else { + fibersBuilder_.setMessage(index, value); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder setFibers(int index, context.ContextOuterClass.Fiber.Builder builderForValue) { + if (fibersBuilder_ == null) { + ensureFibersIsMutable(); + fibers_.set(index, builderForValue.build()); + onChanged(); + } else { + fibersBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder addFibers(context.ContextOuterClass.Fiber value) { + if (fibersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureFibersIsMutable(); + fibers_.add(value); + onChanged(); + } else { + fibersBuilder_.addMessage(value); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder addFibers(int index, context.ContextOuterClass.Fiber value) { + if (fibersBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureFibersIsMutable(); + fibers_.add(index, value); + onChanged(); + } else { + fibersBuilder_.addMessage(index, value); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder addFibers(context.ContextOuterClass.Fiber.Builder builderForValue) { + if (fibersBuilder_ == null) { + ensureFibersIsMutable(); + fibers_.add(builderForValue.build()); + onChanged(); + } else { + fibersBuilder_.addMessage(builderForValue.build()); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder addFibers(int index, context.ContextOuterClass.Fiber.Builder builderForValue) { + if (fibersBuilder_ == null) { + ensureFibersIsMutable(); + fibers_.add(index, builderForValue.build()); + onChanged(); + } else { + fibersBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder addAllFibers(java.lang.Iterable values) { + if (fibersBuilder_ == null) { + ensureFibersIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, fibers_); + onChanged(); + } else { + fibersBuilder_.addAllMessages(values); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder clearFibers() { + if (fibersBuilder_ == null) { + fibers_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000008); + onChanged(); + } else { + fibersBuilder_.clear(); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public Builder removeFibers(int index) { + if (fibersBuilder_ == null) { + ensureFibersIsMutable(); + fibers_.remove(index); + onChanged(); + } else { + fibersBuilder_.remove(index); + } + return this; + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public context.ContextOuterClass.Fiber.Builder getFibersBuilder(int index) { + return getFibersFieldBuilder().getBuilder(index); + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public context.ContextOuterClass.FiberOrBuilder getFibersOrBuilder(int index) { + if (fibersBuilder_ == null) { + return fibers_.get(index); + } else { + return fibersBuilder_.getMessageOrBuilder(index); + } + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public java.util.List getFibersOrBuilderList() { + if (fibersBuilder_ != null) { + return fibersBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(fibers_); + } + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public context.ContextOuterClass.Fiber.Builder addFibersBuilder() { + return getFibersFieldBuilder().addBuilder(context.ContextOuterClass.Fiber.getDefaultInstance()); + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public context.ContextOuterClass.Fiber.Builder addFibersBuilder(int index) { + return getFibersFieldBuilder().addBuilder(index, context.ContextOuterClass.Fiber.getDefaultInstance()); + } + + /** + * repeated .context.Fiber fibers = 4; + */ + public java.util.List getFibersBuilderList() { + return getFibersFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilderV3 getFibersFieldBuilder() { + if (fibersBuilder_ == null) { + fibersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(fibers_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean()); + fibers_ = null; + } + return fibersBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + // @@protoc_insertion_point(builder_scope:context.OpticalLinkDetails) + } + + // @@protoc_insertion_point(class_scope:context.OpticalLinkDetails) + private static final context.ContextOuterClass.OpticalLinkDetails DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.OpticalLinkDetails(); + } + + public static context.ContextOuterClass.OpticalLinkDetails getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + + @java.lang.Override + public OpticalLinkDetails parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLinkDetails getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public interface OpticalLinkOrBuilder extends // @@protoc_insertion_point(interface_extends:context.OpticalLink) + com.google.protobuf.MessageOrBuilder { + + /** + * string name = 1; + * @return The name. + */ + java.lang.String getName(); + + /** + * string name = 1; + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * .context.OpticalLinkDetails details = 2; + * @return Whether the details field is set. + */ + boolean hasDetails(); + + /** + * .context.OpticalLinkDetails details = 2; + * @return The details. + */ + context.ContextOuterClass.OpticalLinkDetails getDetails(); + + /** + * .context.OpticalLinkDetails details = 2; + */ + context.ContextOuterClass.OpticalLinkDetailsOrBuilder getDetailsOrBuilder(); + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + * @return Whether the opticalLinkUuid field is set. + */ + boolean hasOpticalLinkUuid(); + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + * @return The opticalLinkUuid. + */ + context.ContextOuterClass.OpticalLinkId getOpticalLinkUuid(); + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + context.ContextOuterClass.OpticalLinkIdOrBuilder getOpticalLinkUuidOrBuilder(); + } + + /** + * Protobuf type {@code context.OpticalLink} + */ + public static final class OpticalLink extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:context.OpticalLink) + OpticalLinkOrBuilder { + + private static final long serialVersionUID = 0L; + + // Use OpticalLink.newBuilder() to construct. + private OpticalLink(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private OpticalLink() { + name_ = ""; + } + + @java.lang.Override + @SuppressWarnings({ "unused" }) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new OpticalLink(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalLink_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalLink_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalLink.class, context.ContextOuterClass.OpticalLink.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object name_ = ""; + + /** + * string name = 1; + * @return The name. + */ + @java.lang.Override + public java.lang.String getName() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } + } + + /** + * string name = 1; + * @return The bytes for name. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int DETAILS_FIELD_NUMBER = 2; + + private context.ContextOuterClass.OpticalLinkDetails details_; + + /** + * .context.OpticalLinkDetails details = 2; + * @return Whether the details field is set. + */ + @java.lang.Override + public boolean hasDetails() { + return details_ != null; + } + + /** + * .context.OpticalLinkDetails details = 2; + * @return The details. + */ + @java.lang.Override + public context.ContextOuterClass.OpticalLinkDetails getDetails() { + return details_ == null ? context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance() : details_; + } + + /** + * .context.OpticalLinkDetails details = 2; + */ + @java.lang.Override + public context.ContextOuterClass.OpticalLinkDetailsOrBuilder getDetailsOrBuilder() { + return details_ == null ? context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance() : details_; + } + + public static final int OPTICAL_LINK_UUID_FIELD_NUMBER = 3; + + private context.ContextOuterClass.OpticalLinkId opticalLinkUuid_; + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + * @return Whether the opticalLinkUuid field is set. + */ + @java.lang.Override + public boolean hasOpticalLinkUuid() { + return opticalLinkUuid_ != null; + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + * @return The opticalLinkUuid. + */ + @java.lang.Override + public context.ContextOuterClass.OpticalLinkId getOpticalLinkUuid() { + return opticalLinkUuid_ == null ? context.ContextOuterClass.OpticalLinkId.getDefaultInstance() : opticalLinkUuid_; + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + @java.lang.Override + public context.ContextOuterClass.OpticalLinkIdOrBuilder getOpticalLinkUuidOrBuilder() { + return opticalLinkUuid_ == null ? context.ContextOuterClass.OpticalLinkId.getDefaultInstance() : opticalLinkUuid_; + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) + return true; + if (isInitialized == 0) + return false; + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); + } + if (details_ != null) { + output.writeMessage(2, getDetails()); + } + if (opticalLinkUuid_ != null) { + output.writeMessage(3, getOpticalLinkUuid()); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) + return size; + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); + } + if (details_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getDetails()); + } + if (opticalLinkUuid_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getOpticalLinkUuid()); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof context.ContextOuterClass.OpticalLink)) { + return super.equals(obj); + } + context.ContextOuterClass.OpticalLink other = (context.ContextOuterClass.OpticalLink) obj; + if (!getName().equals(other.getName())) + return false; + if (hasDetails() != other.hasDetails()) + return false; + if (hasDetails()) { + if (!getDetails().equals(other.getDetails())) + return false; + } + if (hasOpticalLinkUuid() != other.hasOpticalLinkUuid()) + return false; + if (hasOpticalLinkUuid()) { + if (!getOpticalLinkUuid().equals(other.getOpticalLinkUuid())) + return false; + } + if (!getUnknownFields().equals(other.getUnknownFields())) + return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + NAME_FIELD_NUMBER; + hash = (53 * hash) + getName().hashCode(); + if (hasDetails()) { + hash = (37 * hash) + DETAILS_FIELD_NUMBER; + hash = (53 * hash) + getDetails().hashCode(); + } + if (hasOpticalLinkUuid()) { + hash = (37 * hash) + OPTICAL_LINK_UUID_FIELD_NUMBER; + hash = (53 * hash) + getOpticalLinkUuid().hashCode(); + } + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static context.ContextOuterClass.OpticalLink parseFrom(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLink parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLink parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static context.ContextOuterClass.OpticalLink parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { + return newBuilder(); + } + + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + + public static Builder newBuilder(context.ContextOuterClass.OpticalLink prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + + /** + * Protobuf type {@code context.OpticalLink} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:context.OpticalLink) + context.ContextOuterClass.OpticalLinkOrBuilder { + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return context.ContextOuterClass.internal_static_context_OpticalLink_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return context.ContextOuterClass.internal_static_context_OpticalLink_fieldAccessorTable.ensureFieldAccessorsInitialized(context.ContextOuterClass.OpticalLink.class, context.ContextOuterClass.OpticalLink.Builder.class); + } + + // Construct using context.ContextOuterClass.OpticalLink.newBuilder() + private Builder() { + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + name_ = ""; + details_ = null; + if (detailsBuilder_ != null) { + detailsBuilder_.dispose(); + detailsBuilder_ = null; + } + opticalLinkUuid_ = null; + if (opticalLinkUuidBuilder_ != null) { + opticalLinkUuidBuilder_.dispose(); + opticalLinkUuidBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return context.ContextOuterClass.internal_static_context_OpticalLink_descriptor; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLink getDefaultInstanceForType() { + return context.ContextOuterClass.OpticalLink.getDefaultInstance(); + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLink build() { + context.ContextOuterClass.OpticalLink result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLink buildPartial() { + context.ContextOuterClass.OpticalLink result = new context.ContextOuterClass.OpticalLink(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0(context.ContextOuterClass.OpticalLink result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.name_ = name_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.details_ = detailsBuilder_ == null ? details_ : detailsBuilder_.build(); + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.opticalLinkUuid_ = opticalLinkUuidBuilder_ == null ? opticalLinkUuid_ : opticalLinkUuidBuilder_.build(); + } + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof context.ContextOuterClass.OpticalLink) { + return mergeFrom((context.ContextOuterClass.OpticalLink) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(context.ContextOuterClass.OpticalLink other) { + if (other == context.ContextOuterClass.OpticalLink.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (other.hasDetails()) { + mergeDetails(other.getDetails()); + } + if (other.hasOpticalLinkUuid()) { + mergeOpticalLinkUuid(other.getOpticalLinkUuid()); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + name_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } + // case 10 + case 18: + { + input.readMessage(getDetailsFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000002; + break; + } + // case 18 + case 26: + { + input.readMessage(getOpticalLinkUuidFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000004; + break; + } + // case 26 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + // was an endgroup tag + done = true; + } + break; + } + } + // switch (tag) + } + // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } + // finally + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + + /** + * string name = 1; + * @return The name. + */ + public java.lang.String getName() { + java.lang.Object ref = name_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + name_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + + /** + * string name = 1; + * @return The bytes for name. + */ + public com.google.protobuf.ByteString getNameBytes() { + java.lang.Object ref = name_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + name_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + /** + * string name = 1; + * @param value The name to set. + * @return This builder for chaining. + */ + public Builder setName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + /** + * string name = 1; + * @return This builder for chaining. + */ + public Builder clearName() { + name_ = getDefaultInstance().getName(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + + /** + * string name = 1; + * @param value The bytes for name to set. + * @return This builder for chaining. + */ + public Builder setNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + name_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private context.ContextOuterClass.OpticalLinkDetails details_; + + private com.google.protobuf.SingleFieldBuilderV3 detailsBuilder_; + + /** + * .context.OpticalLinkDetails details = 2; + * @return Whether the details field is set. + */ + public boolean hasDetails() { + return ((bitField0_ & 0x00000002) != 0); + } + + /** + * .context.OpticalLinkDetails details = 2; + * @return The details. + */ + public context.ContextOuterClass.OpticalLinkDetails getDetails() { + if (detailsBuilder_ == null) { + return details_ == null ? context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance() : details_; + } else { + return detailsBuilder_.getMessage(); + } + } + + /** + * .context.OpticalLinkDetails details = 2; + */ + public Builder setDetails(context.ContextOuterClass.OpticalLinkDetails value) { + if (detailsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + details_ = value; + } else { + detailsBuilder_.setMessage(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * .context.OpticalLinkDetails details = 2; + */ + public Builder setDetails(context.ContextOuterClass.OpticalLinkDetails.Builder builderForValue) { + if (detailsBuilder_ == null) { + details_ = builderForValue.build(); + } else { + detailsBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * .context.OpticalLinkDetails details = 2; + */ + public Builder mergeDetails(context.ContextOuterClass.OpticalLinkDetails value) { + if (detailsBuilder_ == null) { + if (((bitField0_ & 0x00000002) != 0) && details_ != null && details_ != context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance()) { + getDetailsBuilder().mergeFrom(value); + } else { + details_ = value; + } + } else { + detailsBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + /** + * .context.OpticalLinkDetails details = 2; + */ + public Builder clearDetails() { + bitField0_ = (bitField0_ & ~0x00000002); + details_ = null; + if (detailsBuilder_ != null) { + detailsBuilder_.dispose(); + detailsBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * .context.OpticalLinkDetails details = 2; + */ + public context.ContextOuterClass.OpticalLinkDetails.Builder getDetailsBuilder() { + bitField0_ |= 0x00000002; + onChanged(); + return getDetailsFieldBuilder().getBuilder(); + } + + /** + * .context.OpticalLinkDetails details = 2; + */ + public context.ContextOuterClass.OpticalLinkDetailsOrBuilder getDetailsOrBuilder() { + if (detailsBuilder_ != null) { + return detailsBuilder_.getMessageOrBuilder(); + } else { + return details_ == null ? context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance() : details_; + } + } + + /** + * .context.OpticalLinkDetails details = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3 getDetailsFieldBuilder() { + if (detailsBuilder_ == null) { + detailsBuilder_ = new com.google.protobuf.SingleFieldBuilderV3(getDetails(), getParentForChildren(), isClean()); + details_ = null; + } + return detailsBuilder_; + } + + private context.ContextOuterClass.OpticalLinkId opticalLinkUuid_; + + private com.google.protobuf.SingleFieldBuilderV3 opticalLinkUuidBuilder_; + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + * @return Whether the opticalLinkUuid field is set. + */ + public boolean hasOpticalLinkUuid() { + return ((bitField0_ & 0x00000004) != 0); + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + * @return The opticalLinkUuid. + */ + public context.ContextOuterClass.OpticalLinkId getOpticalLinkUuid() { + if (opticalLinkUuidBuilder_ == null) { + return opticalLinkUuid_ == null ? context.ContextOuterClass.OpticalLinkId.getDefaultInstance() : opticalLinkUuid_; + } else { + return opticalLinkUuidBuilder_.getMessage(); + } + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + public Builder setOpticalLinkUuid(context.ContextOuterClass.OpticalLinkId value) { + if (opticalLinkUuidBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + opticalLinkUuid_ = value; + } else { + opticalLinkUuidBuilder_.setMessage(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + public Builder setOpticalLinkUuid(context.ContextOuterClass.OpticalLinkId.Builder builderForValue) { + if (opticalLinkUuidBuilder_ == null) { + opticalLinkUuid_ = builderForValue.build(); + } else { + opticalLinkUuidBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + public Builder mergeOpticalLinkUuid(context.ContextOuterClass.OpticalLinkId value) { + if (opticalLinkUuidBuilder_ == null) { + if (((bitField0_ & 0x00000004) != 0) && opticalLinkUuid_ != null && opticalLinkUuid_ != context.ContextOuterClass.OpticalLinkId.getDefaultInstance()) { + getOpticalLinkUuidBuilder().mergeFrom(value); + } else { + opticalLinkUuid_ = value; + } + } else { + opticalLinkUuidBuilder_.mergeFrom(value); + } + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + public Builder clearOpticalLinkUuid() { + bitField0_ = (bitField0_ & ~0x00000004); + opticalLinkUuid_ = null; + if (opticalLinkUuidBuilder_ != null) { + opticalLinkUuidBuilder_.dispose(); + opticalLinkUuidBuilder_ = null; + } + onChanged(); + return this; + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + public context.ContextOuterClass.OpticalLinkId.Builder getOpticalLinkUuidBuilder() { + bitField0_ |= 0x00000004; + onChanged(); + return getOpticalLinkUuidFieldBuilder().getBuilder(); + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + public context.ContextOuterClass.OpticalLinkIdOrBuilder getOpticalLinkUuidOrBuilder() { + if (opticalLinkUuidBuilder_ != null) { + return opticalLinkUuidBuilder_.getMessageOrBuilder(); + } else { + return opticalLinkUuid_ == null ? context.ContextOuterClass.OpticalLinkId.getDefaultInstance() : opticalLinkUuid_; + } + } + + /** + * .context.OpticalLinkId optical_link_uuid = 3; + */ + private com.google.protobuf.SingleFieldBuilderV3 getOpticalLinkUuidFieldBuilder() { + if (opticalLinkUuidBuilder_ == null) { + opticalLinkUuidBuilder_ = new com.google.protobuf.SingleFieldBuilderV3(getOpticalLinkUuid(), getParentForChildren(), isClean()); + opticalLinkUuid_ = null; + } + return opticalLinkUuidBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + // @@protoc_insertion_point(builder_scope:context.OpticalLink) + } + + // @@protoc_insertion_point(class_scope:context.OpticalLink) + private static final context.ContextOuterClass.OpticalLink DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new context.ContextOuterClass.OpticalLink(); + } + + public static context.ContextOuterClass.OpticalLink getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { + + @java.lang.Override + public OpticalLink parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public context.ContextOuterClass.OpticalLink getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Empty_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Empty_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Uuid_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Uuid_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Timestamp_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Timestamp_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Event_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Event_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ContextId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ContextId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Context_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Context_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ContextIdList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ContextIdList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ContextList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ContextList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ContextEvent_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ContextEvent_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Topology_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Topology_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyDetails_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyDetails_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyIdList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyIdList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_TopologyEvent_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_TopologyEvent_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Device_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Device_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Component_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Component_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Component_AttributesEntry_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Component_AttributesEntry_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceConfig_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceConfig_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceIdList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceIdList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceFilter_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceFilter_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_DeviceEvent_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_DeviceEvent_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkAttributes_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkAttributes_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Link_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Link_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkIdList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkIdList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_LinkEvent_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_LinkEvent_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Service_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Service_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceStatus_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceStatus_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceConfig_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceConfig_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceIdList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceIdList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceFilter_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceFilter_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ServiceEvent_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ServiceEvent_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Slice_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Slice_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceOwner_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceOwner_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceStatus_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceStatus_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceConfig_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceConfig_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceIdList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceIdList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceFilter_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceFilter_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_SliceEvent_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_SliceEvent_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ConnectionId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ConnectionId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_ConnectionSettings_L0_descriptor; private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_ConnectionSettings_L0_fieldAccessorTable; @@ -69611,6 +76651,38 @@ public final class ContextOuterClass { private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_AuthenticationResult_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_OpticalConfigId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_OpticalConfigId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_OpticalConfig_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_OpticalConfig_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_OpticalConfigList_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_OpticalConfigList_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_OpticalLinkId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_OpticalLinkId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_FiberId_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_FiberId_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_Fiber_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_Fiber_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_OpticalLinkDetails_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_OpticalLinkDetails_fieldAccessorTable; + + private static final com.google.protobuf.Descriptors.Descriptor internal_static_context_OpticalLink_descriptor; + + private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_context_OpticalLink_fieldAccessorTable; + public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { return descriptor; } @@ -69618,7 +76690,7 @@ public final class ContextOuterClass { private static com.google.protobuf.Descriptors.FileDescriptor descriptor; static { - java.lang.String[] descriptorData = { "\n\rcontext.proto\022\007context\032\tacl.proto\032\026kpi" + "_sample_types.proto\"\007\n\005Empty\"\024\n\004Uuid\022\014\n\004" + "uuid\030\001 \001(\t\"\036\n\tTimestamp\022\021\n\ttimestamp\030\001 \001" + "(\001\"Z\n\005Event\022%\n\ttimestamp\030\001 \001(\0132\022.context" + ".Timestamp\022*\n\nevent_type\030\002 \001(\0162\026.context" + ".EventTypeEnum\"0\n\tContextId\022#\n\014context_u" + "uid\030\001 \001(\0132\r.context.Uuid\"\351\001\n\007Context\022&\n\n" + "context_id\030\001 \001(\0132\022.context.ContextId\022\014\n\004" + "name\030\002 \001(\t\022)\n\014topology_ids\030\003 \003(\0132\023.conte" + "xt.TopologyId\022\'\n\013service_ids\030\004 \003(\0132\022.con" + "text.ServiceId\022#\n\tslice_ids\030\005 \003(\0132\020.cont" + "ext.SliceId\022/\n\ncontroller\030\006 \001(\0132\033.contex" + "t.TeraFlowController\"8\n\rContextIdList\022\'\n" + "\013context_ids\030\001 \003(\0132\022.context.ContextId\"1" + "\n\013ContextList\022\"\n\010contexts\030\001 \003(\0132\020.contex" + "t.Context\"U\n\014ContextEvent\022\035\n\005event\030\001 \001(\013" + "2\016.context.Event\022&\n\ncontext_id\030\002 \001(\0132\022.c" + "ontext.ContextId\"Z\n\nTopologyId\022&\n\ncontex" + "t_id\030\001 \001(\0132\022.context.ContextId\022$\n\rtopolo" + "gy_uuid\030\002 \001(\0132\r.context.Uuid\"\214\001\n\010Topolog" + "y\022(\n\013topology_id\030\001 \001(\0132\023.context.Topolog" + "yId\022\014\n\004name\030\002 \001(\t\022%\n\ndevice_ids\030\003 \003(\0132\021." + "context.DeviceId\022!\n\010link_ids\030\004 \003(\0132\017.con" + "text.LinkId\"\211\001\n\017TopologyDetails\022(\n\013topol" + "ogy_id\030\001 \001(\0132\023.context.TopologyId\022\014\n\004nam" + "e\030\002 \001(\t\022 \n\007devices\030\003 \003(\0132\017.context.Devic" + "e\022\034\n\005links\030\004 \003(\0132\r.context.Link\";\n\016Topol" + "ogyIdList\022)\n\014topology_ids\030\001 \003(\0132\023.contex" + "t.TopologyId\"5\n\014TopologyList\022%\n\ntopologi" + "es\030\001 \003(\0132\021.context.Topology\"X\n\rTopologyE" + "vent\022\035\n\005event\030\001 \001(\0132\016.context.Event\022(\n\013t" + "opology_id\030\002 \001(\0132\023.context.TopologyId\".\n" + "\010DeviceId\022\"\n\013device_uuid\030\001 \001(\0132\r.context" + ".Uuid\"\372\002\n\006Device\022$\n\tdevice_id\030\001 \001(\0132\021.co" + "ntext.DeviceId\022\014\n\004name\030\002 \001(\t\022\023\n\013device_t" + "ype\030\003 \001(\t\022,\n\rdevice_config\030\004 \001(\0132\025.conte" + "xt.DeviceConfig\022G\n\031device_operational_st" + "atus\030\005 \001(\0162$.context.DeviceOperationalSt" + "atusEnum\0221\n\016device_drivers\030\006 \003(\0162\031.conte" + "xt.DeviceDriverEnum\022+\n\020device_endpoints\030" + "\007 \003(\0132\021.context.EndPoint\022&\n\ncomponents\030\010" + " \003(\0132\022.context.Component\022(\n\rcontroller_i" + "d\030\t \001(\0132\021.context.DeviceId\"\311\001\n\tComponent" + "\022%\n\016component_uuid\030\001 \001(\0132\r.context.Uuid\022" + "\014\n\004name\030\002 \001(\t\022\014\n\004type\030\003 \001(\t\0226\n\nattribute" + "s\030\004 \003(\0132\".context.Component.AttributesEn" + "try\022\016\n\006parent\030\005 \001(\t\0321\n\017AttributesEntry\022\013" + "\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"9\n\014Device" + "Config\022)\n\014config_rules\030\001 \003(\0132\023.context.C" + "onfigRule\"5\n\014DeviceIdList\022%\n\ndevice_ids\030" + "\001 \003(\0132\021.context.DeviceId\".\n\nDeviceList\022 " + "\n\007devices\030\001 \003(\0132\017.context.Device\"\216\001\n\014Dev" + "iceFilter\022)\n\ndevice_ids\030\001 \001(\0132\025.context." + "DeviceIdList\022\031\n\021include_endpoints\030\002 \001(\010\022" + "\034\n\024include_config_rules\030\003 \001(\010\022\032\n\022include" + "_components\030\004 \001(\010\"\200\001\n\013DeviceEvent\022\035\n\005eve" + "nt\030\001 \001(\0132\016.context.Event\022$\n\tdevice_id\030\002 " + "\001(\0132\021.context.DeviceId\022,\n\rdevice_config\030" + "\003 \001(\0132\025.context.DeviceConfig\"*\n\006LinkId\022 " + "\n\tlink_uuid\030\001 \001(\0132\r.context.Uuid\"I\n\016Link" + "Attributes\022\033\n\023total_capacity_gbps\030\001 \001(\002\022" + "\032\n\022used_capacity_gbps\030\002 \001(\002\"\223\001\n\004Link\022 \n\007" + "link_id\030\001 \001(\0132\017.context.LinkId\022\014\n\004name\030\002" + " \001(\t\022.\n\021link_endpoint_ids\030\003 \003(\0132\023.contex" + "t.EndPointId\022+\n\nattributes\030\004 \001(\0132\027.conte" + "xt.LinkAttributes\"/\n\nLinkIdList\022!\n\010link_" + "ids\030\001 \003(\0132\017.context.LinkId\"(\n\010LinkList\022\034" + "\n\005links\030\001 \003(\0132\r.context.Link\"L\n\tLinkEven" + "t\022\035\n\005event\030\001 \001(\0132\016.context.Event\022 \n\007link" + "_id\030\002 \001(\0132\017.context.LinkId\"X\n\tServiceId\022" + "&\n\ncontext_id\030\001 \001(\0132\022.context.ContextId\022" + "#\n\014service_uuid\030\002 \001(\0132\r.context.Uuid\"\333\002\n" + "\007Service\022&\n\nservice_id\030\001 \001(\0132\022.context.S" + "erviceId\022\014\n\004name\030\002 \001(\t\022.\n\014service_type\030\003" + " \001(\0162\030.context.ServiceTypeEnum\0221\n\024servic" + "e_endpoint_ids\030\004 \003(\0132\023.context.EndPointI" + "d\0220\n\023service_constraints\030\005 \003(\0132\023.context" + ".Constraint\022.\n\016service_status\030\006 \001(\0132\026.co" + "ntext.ServiceStatus\022.\n\016service_config\030\007 " + "\001(\0132\026.context.ServiceConfig\022%\n\ttimestamp" + "\030\010 \001(\0132\022.context.Timestamp\"C\n\rServiceSta" + "tus\0222\n\016service_status\030\001 \001(\0162\032.context.Se" + "rviceStatusEnum\":\n\rServiceConfig\022)\n\014conf" + "ig_rules\030\001 \003(\0132\023.context.ConfigRule\"8\n\rS" + "erviceIdList\022\'\n\013service_ids\030\001 \003(\0132\022.cont" + "ext.ServiceId\"1\n\013ServiceList\022\"\n\010services" + "\030\001 \003(\0132\020.context.Service\"\225\001\n\rServiceFilt" + "er\022+\n\013service_ids\030\001 \001(\0132\026.context.Servic" + "eIdList\022\034\n\024include_endpoint_ids\030\002 \001(\010\022\033\n" + "\023include_constraints\030\003 \001(\010\022\034\n\024include_co" + "nfig_rules\030\004 \001(\010\"U\n\014ServiceEvent\022\035\n\005even" + "t\030\001 \001(\0132\016.context.Event\022&\n\nservice_id\030\002 " + "\001(\0132\022.context.ServiceId\"T\n\007SliceId\022&\n\nco" + "ntext_id\030\001 \001(\0132\022.context.ContextId\022!\n\nsl" + "ice_uuid\030\002 \001(\0132\r.context.Uuid\"\240\003\n\005Slice\022" + "\"\n\010slice_id\030\001 \001(\0132\020.context.SliceId\022\014\n\004n" + "ame\030\002 \001(\t\022/\n\022slice_endpoint_ids\030\003 \003(\0132\023." + "context.EndPointId\022.\n\021slice_constraints\030" + "\004 \003(\0132\023.context.Constraint\022-\n\021slice_serv" + "ice_ids\030\005 \003(\0132\022.context.ServiceId\022,\n\022sli" + "ce_subslice_ids\030\006 \003(\0132\020.context.SliceId\022" + "*\n\014slice_status\030\007 \001(\0132\024.context.SliceSta" + "tus\022*\n\014slice_config\030\010 \001(\0132\024.context.Slic" + "eConfig\022(\n\013slice_owner\030\t \001(\0132\023.context.S" + "liceOwner\022%\n\ttimestamp\030\n \001(\0132\022.context.T" + "imestamp\"E\n\nSliceOwner\022!\n\nowner_uuid\030\001 \001" + "(\0132\r.context.Uuid\022\024\n\014owner_string\030\002 \001(\t\"" + "=\n\013SliceStatus\022.\n\014slice_status\030\001 \001(\0162\030.c" + "ontext.SliceStatusEnum\"8\n\013SliceConfig\022)\n" + "\014config_rules\030\001 \003(\0132\023.context.ConfigRule" + "\"2\n\013SliceIdList\022#\n\tslice_ids\030\001 \003(\0132\020.con" + "text.SliceId\"+\n\tSliceList\022\036\n\006slices\030\001 \003(" + "\0132\016.context.Slice\"\312\001\n\013SliceFilter\022\'\n\tsli" + "ce_ids\030\001 \001(\0132\024.context.SliceIdList\022\034\n\024in" + "clude_endpoint_ids\030\002 \001(\010\022\033\n\023include_cons" + "traints\030\003 \001(\010\022\033\n\023include_service_ids\030\004 \001" + "(\010\022\034\n\024include_subslice_ids\030\005 \001(\010\022\034\n\024incl" + "ude_config_rules\030\006 \001(\010\"O\n\nSliceEvent\022\035\n\005" + "event\030\001 \001(\0132\016.context.Event\022\"\n\010slice_id\030" + "\002 \001(\0132\020.context.SliceId\"6\n\014ConnectionId\022" + "&\n\017connection_uuid\030\001 \001(\0132\r.context.Uuid\"" + "2\n\025ConnectionSettings_L0\022\031\n\021lsp_symbolic" + "_name\030\001 \001(\t\"\236\001\n\025ConnectionSettings_L2\022\027\n" + "\017src_mac_address\030\001 \001(\t\022\027\n\017dst_mac_addres" + "s\030\002 \001(\t\022\022\n\nether_type\030\003 \001(\r\022\017\n\007vlan_id\030\004" + " \001(\r\022\022\n\nmpls_label\030\005 \001(\r\022\032\n\022mpls_traffic" + "_class\030\006 \001(\r\"t\n\025ConnectionSettings_L3\022\026\n" + "\016src_ip_address\030\001 \001(\t\022\026\n\016dst_ip_address\030" + "\002 \001(\t\022\014\n\004dscp\030\003 \001(\r\022\020\n\010protocol\030\004 \001(\r\022\013\n" + "\003ttl\030\005 \001(\r\"[\n\025ConnectionSettings_L4\022\020\n\010s" + "rc_port\030\001 \001(\r\022\020\n\010dst_port\030\002 \001(\r\022\021\n\ttcp_f" + "lags\030\003 \001(\r\022\013\n\003ttl\030\004 \001(\r\"\304\001\n\022ConnectionSe" + "ttings\022*\n\002l0\030\001 \001(\0132\036.context.ConnectionS" + "ettings_L0\022*\n\002l2\030\002 \001(\0132\036.context.Connect" + "ionSettings_L2\022*\n\002l3\030\003 \001(\0132\036.context.Con" + "nectionSettings_L3\022*\n\002l4\030\004 \001(\0132\036.context" + ".ConnectionSettings_L4\"\363\001\n\nConnection\022,\n" + "\rconnection_id\030\001 \001(\0132\025.context.Connectio" + "nId\022&\n\nservice_id\030\002 \001(\0132\022.context.Servic" + "eId\0223\n\026path_hops_endpoint_ids\030\003 \003(\0132\023.co" + "ntext.EndPointId\022+\n\017sub_service_ids\030\004 \003(" + "\0132\022.context.ServiceId\022-\n\010settings\030\005 \001(\0132" + "\033.context.ConnectionSettings\"A\n\020Connecti" + "onIdList\022-\n\016connection_ids\030\001 \003(\0132\025.conte" + "xt.ConnectionId\":\n\016ConnectionList\022(\n\013con" + "nections\030\001 \003(\0132\023.context.Connection\"^\n\017C" + "onnectionEvent\022\035\n\005event\030\001 \001(\0132\016.context." + "Event\022,\n\rconnection_id\030\002 \001(\0132\025.context.C" + "onnectionId\"\202\001\n\nEndPointId\022(\n\013topology_i" + "d\030\001 \001(\0132\023.context.TopologyId\022$\n\tdevice_i" + "d\030\002 \001(\0132\021.context.DeviceId\022$\n\rendpoint_u" + "uid\030\003 \001(\0132\r.context.Uuid\"\302\001\n\010EndPoint\022(\n" + "\013endpoint_id\030\001 \001(\0132\023.context.EndPointId\022" + "\014\n\004name\030\002 \001(\t\022\025\n\rendpoint_type\030\003 \001(\t\0229\n\020" + "kpi_sample_types\030\004 \003(\0162\037.kpi_sample_type" + "s.KpiSampleType\022,\n\021endpoint_location\030\005 \001" + "(\0132\021.context.Location\"{\n\014EndPointName\022(\n" + "\013endpoint_id\030\001 \001(\0132\023.context.EndPointId\022" + "\023\n\013device_name\030\002 \001(\t\022\025\n\rendpoint_name\030\003 " + "\001(\t\022\025\n\rendpoint_type\030\004 \001(\t\";\n\016EndPointId" + "List\022)\n\014endpoint_ids\030\001 \003(\0132\023.context.End" + "PointId\"A\n\020EndPointNameList\022-\n\016endpoint_" + "names\030\001 \003(\0132\025.context.EndPointName\"A\n\021Co" + "nfigRule_Custom\022\024\n\014resource_key\030\001 \001(\t\022\026\n" + "\016resource_value\030\002 \001(\t\"]\n\016ConfigRule_ACL\022" + "(\n\013endpoint_id\030\001 \001(\0132\023.context.EndPointI" + "d\022!\n\010rule_set\030\002 \001(\0132\017.acl.AclRuleSet\"\234\001\n" + "\nConfigRule\022)\n\006action\030\001 \001(\0162\031.context.Co" + "nfigActionEnum\022,\n\006custom\030\002 \001(\0132\032.context" + ".ConfigRule_CustomH\000\022&\n\003acl\030\003 \001(\0132\027.cont" + "ext.ConfigRule_ACLH\000B\r\n\013config_rule\"F\n\021C" + "onstraint_Custom\022\027\n\017constraint_type\030\001 \001(" + "\t\022\030\n\020constraint_value\030\002 \001(\t\"E\n\023Constrain" + "t_Schedule\022\027\n\017start_timestamp\030\001 \001(\002\022\025\n\rd" + "uration_days\030\002 \001(\002\"3\n\014GPS_Position\022\020\n\010la" + "titude\030\001 \001(\002\022\021\n\tlongitude\030\002 \001(\002\"W\n\010Locat" + "ion\022\020\n\006region\030\001 \001(\tH\000\022-\n\014gps_position\030\002 " + "\001(\0132\025.context.GPS_PositionH\000B\n\n\010location" + "\"l\n\033Constraint_EndPointLocation\022(\n\013endpo" + "int_id\030\001 \001(\0132\023.context.EndPointId\022#\n\010loc" + "ation\030\002 \001(\0132\021.context.Location\"Y\n\033Constr" + "aint_EndPointPriority\022(\n\013endpoint_id\030\001 \001" + "(\0132\023.context.EndPointId\022\020\n\010priority\030\002 \001(" + "\r\"0\n\026Constraint_SLA_Latency\022\026\n\016e2e_laten" + "cy_ms\030\001 \001(\002\"0\n\027Constraint_SLA_Capacity\022\025" + "\n\rcapacity_gbps\030\001 \001(\002\"c\n\033Constraint_SLA_" + "Availability\022\032\n\022num_disjoint_paths\030\001 \001(\r" + "\022\022\n\nall_active\030\002 \001(\010\022\024\n\014availability\030\003 \001" + "(\002\"V\n\036Constraint_SLA_Isolation_level\0224\n\017" + "isolation_level\030\001 \003(\0162\033.context.Isolatio" + "nLevelEnum\"\242\001\n\025Constraint_Exclusions\022\024\n\014" + "is_permanent\030\001 \001(\010\022%\n\ndevice_ids\030\002 \003(\0132\021" + ".context.DeviceId\022)\n\014endpoint_ids\030\003 \003(\0132" + "\023.context.EndPointId\022!\n\010link_ids\030\004 \003(\0132\017" + ".context.LinkId\"\333\004\n\nConstraint\022-\n\006action" + "\030\001 \001(\0162\035.context.ConstraintActionEnum\022,\n" + "\006custom\030\002 \001(\0132\032.context.Constraint_Custo" + "mH\000\0220\n\010schedule\030\003 \001(\0132\034.context.Constrai" + "nt_ScheduleH\000\022A\n\021endpoint_location\030\004 \001(\013" + "2$.context.Constraint_EndPointLocationH\000" + "\022A\n\021endpoint_priority\030\005 \001(\0132$.context.Co" + "nstraint_EndPointPriorityH\000\0228\n\014sla_capac" + "ity\030\006 \001(\0132 .context.Constraint_SLA_Capac" + "ityH\000\0226\n\013sla_latency\030\007 \001(\0132\037.context.Con" + "straint_SLA_LatencyH\000\022@\n\020sla_availabilit" + "y\030\010 \001(\0132$.context.Constraint_SLA_Availab" + "ilityH\000\022@\n\rsla_isolation\030\t \001(\0132\'.context" + ".Constraint_SLA_Isolation_levelH\000\0224\n\nexc" + "lusions\030\n \001(\0132\036.context.Constraint_Exclu" + "sionsH\000B\014\n\nconstraint\"^\n\022TeraFlowControl" + "ler\022&\n\ncontext_id\030\001 \001(\0132\022.context.Contex" + "tId\022\022\n\nip_address\030\002 \001(\t\022\014\n\004port\030\003 \001(\r\"U\n" + "\024AuthenticationResult\022&\n\ncontext_id\030\001 \001(" + "\0132\022.context.ContextId\022\025\n\rauthenticated\030\002" + " \001(\010*j\n\rEventTypeEnum\022\027\n\023EVENTTYPE_UNDEF" + "INED\020\000\022\024\n\020EVENTTYPE_CREATE\020\001\022\024\n\020EVENTTYP" + "E_UPDATE\020\002\022\024\n\020EVENTTYPE_REMOVE\020\003*\321\002\n\020Dev" + "iceDriverEnum\022\032\n\026DEVICEDRIVER_UNDEFINED\020" + "\000\022\033\n\027DEVICEDRIVER_OPENCONFIG\020\001\022\036\n\032DEVICE" + "DRIVER_TRANSPORT_API\020\002\022\023\n\017DEVICEDRIVER_P" + "4\020\003\022&\n\"DEVICEDRIVER_IETF_NETWORK_TOPOLOG" + "Y\020\004\022\033\n\027DEVICEDRIVER_ONF_TR_532\020\005\022\023\n\017DEVI" + "CEDRIVER_XR\020\006\022\033\n\027DEVICEDRIVER_IETF_L2VPN" + "\020\007\022 \n\034DEVICEDRIVER_GNMI_OPENCONFIG\020\010\022\032\n\026" + "DEVICEDRIVER_FLEXSCALE\020\t\022\032\n\026DEVICEDRIVER" + "_IETF_ACTN\020\n*\217\001\n\033DeviceOperationalStatus" + "Enum\022%\n!DEVICEOPERATIONALSTATUS_UNDEFINE" + "D\020\000\022$\n DEVICEOPERATIONALSTATUS_DISABLED\020" + "\001\022#\n\037DEVICEOPERATIONALSTATUS_ENABLED\020\002*\252" + "\001\n\017ServiceTypeEnum\022\027\n\023SERVICETYPE_UNKNOW" + "N\020\000\022\024\n\020SERVICETYPE_L3NM\020\001\022\024\n\020SERVICETYPE" + "_L2NM\020\002\022)\n%SERVICETYPE_TAPI_CONNECTIVITY" + "_SERVICE\020\003\022\022\n\016SERVICETYPE_TE\020\004\022\023\n\017SERVIC" + "ETYPE_E2E\020\005*\304\001\n\021ServiceStatusEnum\022\033\n\027SER" + "VICESTATUS_UNDEFINED\020\000\022\031\n\025SERVICESTATUS_" + "PLANNED\020\001\022\030\n\024SERVICESTATUS_ACTIVE\020\002\022\032\n\026S" + "ERVICESTATUS_UPDATING\020\003\022!\n\035SERVICESTATUS" + "_PENDING_REMOVAL\020\004\022\036\n\032SERVICESTATUS_SLA_" + "VIOLATED\020\005*\251\001\n\017SliceStatusEnum\022\031\n\025SLICES" + "TATUS_UNDEFINED\020\000\022\027\n\023SLICESTATUS_PLANNED" + "\020\001\022\024\n\020SLICESTATUS_INIT\020\002\022\026\n\022SLICESTATUS_" + "ACTIVE\020\003\022\026\n\022SLICESTATUS_DEINIT\020\004\022\034\n\030SLIC" + "ESTATUS_SLA_VIOLATED\020\005*]\n\020ConfigActionEn" + "um\022\032\n\026CONFIGACTION_UNDEFINED\020\000\022\024\n\020CONFIG" + "ACTION_SET\020\001\022\027\n\023CONFIGACTION_DELETE\020\002*m\n" + "\024ConstraintActionEnum\022\036\n\032CONSTRAINTACTIO" + "N_UNDEFINED\020\000\022\030\n\024CONSTRAINTACTION_SET\020\001\022" + "\033\n\027CONSTRAINTACTION_DELETE\020\002*\203\002\n\022Isolati" + "onLevelEnum\022\020\n\014NO_ISOLATION\020\000\022\026\n\022PHYSICA" + "L_ISOLATION\020\001\022\025\n\021LOGICAL_ISOLATION\020\002\022\025\n\021" + "PROCESS_ISOLATION\020\003\022\035\n\031PHYSICAL_MEMORY_I" + "SOLATION\020\004\022\036\n\032PHYSICAL_NETWORK_ISOLATION" + "\020\005\022\036\n\032VIRTUAL_RESOURCE_ISOLATION\020\006\022\037\n\033NE" + "TWORK_FUNCTIONS_ISOLATION\020\007\022\025\n\021SERVICE_I" + "SOLATION\020\0102\245\026\n\016ContextService\022:\n\016ListCon" + "textIds\022\016.context.Empty\032\026.context.Contex" + "tIdList\"\000\0226\n\014ListContexts\022\016.context.Empt" + "y\032\024.context.ContextList\"\000\0224\n\nGetContext\022" + "\022.context.ContextId\032\020.context.Context\"\000\022" + "4\n\nSetContext\022\020.context.Context\032\022.contex" + "t.ContextId\"\000\0225\n\rRemoveContext\022\022.context" + ".ContextId\032\016.context.Empty\"\000\022=\n\020GetConte" + "xtEvents\022\016.context.Empty\032\025.context.Conte" + "xtEvent\"\0000\001\022@\n\017ListTopologyIds\022\022.context" + ".ContextId\032\027.context.TopologyIdList\"\000\022=\n" + "\016ListTopologies\022\022.context.ContextId\032\025.co" + "ntext.TopologyList\"\000\0227\n\013GetTopology\022\023.co" + "ntext.TopologyId\032\021.context.Topology\"\000\022E\n" + "\022GetTopologyDetails\022\023.context.TopologyId" + "\032\030.context.TopologyDetails\"\000\0227\n\013SetTopol" + "ogy\022\021.context.Topology\032\023.context.Topolog" + "yId\"\000\0227\n\016RemoveTopology\022\023.context.Topolo" + "gyId\032\016.context.Empty\"\000\022?\n\021GetTopologyEve" + "nts\022\016.context.Empty\032\026.context.TopologyEv" + "ent\"\0000\001\0228\n\rListDeviceIds\022\016.context.Empty" + "\032\025.context.DeviceIdList\"\000\0224\n\013ListDevices" + "\022\016.context.Empty\032\023.context.DeviceList\"\000\022" + "1\n\tGetDevice\022\021.context.DeviceId\032\017.contex" + "t.Device\"\000\0221\n\tSetDevice\022\017.context.Device" + "\032\021.context.DeviceId\"\000\0223\n\014RemoveDevice\022\021." + "context.DeviceId\032\016.context.Empty\"\000\022;\n\017Ge" + "tDeviceEvents\022\016.context.Empty\032\024.context." + "DeviceEvent\"\0000\001\022<\n\014SelectDevice\022\025.contex" + "t.DeviceFilter\032\023.context.DeviceList\"\000\022I\n" + "\021ListEndPointNames\022\027.context.EndPointIdL" + "ist\032\031.context.EndPointNameList\"\000\0224\n\013List" + "LinkIds\022\016.context.Empty\032\023.context.LinkId" + "List\"\000\0220\n\tListLinks\022\016.context.Empty\032\021.co" + "ntext.LinkList\"\000\022+\n\007GetLink\022\017.context.Li" + "nkId\032\r.context.Link\"\000\022+\n\007SetLink\022\r.conte" + "xt.Link\032\017.context.LinkId\"\000\022/\n\nRemoveLink" + "\022\017.context.LinkId\032\016.context.Empty\"\000\0227\n\rG" + "etLinkEvents\022\016.context.Empty\032\022.context.L" + "inkEvent\"\0000\001\022>\n\016ListServiceIds\022\022.context" + ".ContextId\032\026.context.ServiceIdList\"\000\022:\n\014" + "ListServices\022\022.context.ContextId\032\024.conte" + "xt.ServiceList\"\000\0224\n\nGetService\022\022.context" + ".ServiceId\032\020.context.Service\"\000\0224\n\nSetSer" + "vice\022\020.context.Service\032\022.context.Service" + "Id\"\000\0226\n\014UnsetService\022\020.context.Service\032\022" + ".context.ServiceId\"\000\0225\n\rRemoveService\022\022." + "context.ServiceId\032\016.context.Empty\"\000\022=\n\020G" + "etServiceEvents\022\016.context.Empty\032\025.contex" + "t.ServiceEvent\"\0000\001\022?\n\rSelectService\022\026.co" + "ntext.ServiceFilter\032\024.context.ServiceLis" + "t\"\000\022:\n\014ListSliceIds\022\022.context.ContextId\032" + "\024.context.SliceIdList\"\000\0226\n\nListSlices\022\022." + "context.ContextId\032\022.context.SliceList\"\000\022" + ".\n\010GetSlice\022\020.context.SliceId\032\016.context." + "Slice\"\000\022.\n\010SetSlice\022\016.context.Slice\032\020.co" + "ntext.SliceId\"\000\0220\n\nUnsetSlice\022\016.context." + "Slice\032\020.context.SliceId\"\000\0221\n\013RemoveSlice" + "\022\020.context.SliceId\032\016.context.Empty\"\000\0229\n\016" + "GetSliceEvents\022\016.context.Empty\032\023.context" + ".SliceEvent\"\0000\001\0229\n\013SelectSlice\022\024.context" + ".SliceFilter\032\022.context.SliceList\"\000\022D\n\021Li" + "stConnectionIds\022\022.context.ServiceId\032\031.co" + "ntext.ConnectionIdList\"\000\022@\n\017ListConnecti" + "ons\022\022.context.ServiceId\032\027.context.Connec" + "tionList\"\000\022=\n\rGetConnection\022\025.context.Co" + "nnectionId\032\023.context.Connection\"\000\022=\n\rSet" + "Connection\022\023.context.Connection\032\025.contex" + "t.ConnectionId\"\000\022;\n\020RemoveConnection\022\025.c" + "ontext.ConnectionId\032\016.context.Empty\"\000\022C\n" + "\023GetConnectionEvents\022\016.context.Empty\032\030.c" + "ontext.ConnectionEvent\"\0000\001b\006proto3" }; + java.lang.String[] descriptorData = { "\n\rcontext.proto\022\007context\032\tacl.proto\032\026kpi" + "_sample_types.proto\"\007\n\005Empty\"\024\n\004Uuid\022\014\n\004" + "uuid\030\001 \001(\t\"\036\n\tTimestamp\022\021\n\ttimestamp\030\001 \001" + "(\001\"Z\n\005Event\022%\n\ttimestamp\030\001 \001(\0132\022.context" + ".Timestamp\022*\n\nevent_type\030\002 \001(\0162\026.context" + ".EventTypeEnum\"0\n\tContextId\022#\n\014context_u" + "uid\030\001 \001(\0132\r.context.Uuid\"\351\001\n\007Context\022&\n\n" + "context_id\030\001 \001(\0132\022.context.ContextId\022\014\n\004" + "name\030\002 \001(\t\022)\n\014topology_ids\030\003 \003(\0132\023.conte" + "xt.TopologyId\022\'\n\013service_ids\030\004 \003(\0132\022.con" + "text.ServiceId\022#\n\tslice_ids\030\005 \003(\0132\020.cont" + "ext.SliceId\022/\n\ncontroller\030\006 \001(\0132\033.contex" + "t.TeraFlowController\"8\n\rContextIdList\022\'\n" + "\013context_ids\030\001 \003(\0132\022.context.ContextId\"1" + "\n\013ContextList\022\"\n\010contexts\030\001 \003(\0132\020.contex" + "t.Context\"U\n\014ContextEvent\022\035\n\005event\030\001 \001(\013" + "2\016.context.Event\022&\n\ncontext_id\030\002 \001(\0132\022.c" + "ontext.ContextId\"Z\n\nTopologyId\022&\n\ncontex" + "t_id\030\001 \001(\0132\022.context.ContextId\022$\n\rtopolo" + "gy_uuid\030\002 \001(\0132\r.context.Uuid\"\214\001\n\010Topolog" + "y\022(\n\013topology_id\030\001 \001(\0132\023.context.Topolog" + "yId\022\014\n\004name\030\002 \001(\t\022%\n\ndevice_ids\030\003 \003(\0132\021." + "context.DeviceId\022!\n\010link_ids\030\004 \003(\0132\017.con" + "text.LinkId\"\211\001\n\017TopologyDetails\022(\n\013topol" + "ogy_id\030\001 \001(\0132\023.context.TopologyId\022\014\n\004nam" + "e\030\002 \001(\t\022 \n\007devices\030\003 \003(\0132\017.context.Devic" + "e\022\034\n\005links\030\004 \003(\0132\r.context.Link\";\n\016Topol" + "ogyIdList\022)\n\014topology_ids\030\001 \003(\0132\023.contex" + "t.TopologyId\"5\n\014TopologyList\022%\n\ntopologi" + "es\030\001 \003(\0132\021.context.Topology\"X\n\rTopologyE" + "vent\022\035\n\005event\030\001 \001(\0132\016.context.Event\022(\n\013t" + "opology_id\030\002 \001(\0132\023.context.TopologyId\".\n" + "\010DeviceId\022\"\n\013device_uuid\030\001 \001(\0132\r.context" + ".Uuid\"\372\002\n\006Device\022$\n\tdevice_id\030\001 \001(\0132\021.co" + "ntext.DeviceId\022\014\n\004name\030\002 \001(\t\022\023\n\013device_t" + "ype\030\003 \001(\t\022,\n\rdevice_config\030\004 \001(\0132\025.conte" + "xt.DeviceConfig\022G\n\031device_operational_st" + "atus\030\005 \001(\0162$.context.DeviceOperationalSt" + "atusEnum\0221\n\016device_drivers\030\006 \003(\0162\031.conte" + "xt.DeviceDriverEnum\022+\n\020device_endpoints\030" + "\007 \003(\0132\021.context.EndPoint\022&\n\ncomponents\030\010" + " \003(\0132\022.context.Component\022(\n\rcontroller_i" + "d\030\t \001(\0132\021.context.DeviceId\"\311\001\n\tComponent" + "\022%\n\016component_uuid\030\001 \001(\0132\r.context.Uuid\022" + "\014\n\004name\030\002 \001(\t\022\014\n\004type\030\003 \001(\t\0226\n\nattribute" + "s\030\004 \003(\0132\".context.Component.AttributesEn" + "try\022\016\n\006parent\030\005 \001(\t\0321\n\017AttributesEntry\022\013" + "\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"9\n\014Device" + "Config\022)\n\014config_rules\030\001 \003(\0132\023.context.C" + "onfigRule\"5\n\014DeviceIdList\022%\n\ndevice_ids\030" + "\001 \003(\0132\021.context.DeviceId\".\n\nDeviceList\022 " + "\n\007devices\030\001 \003(\0132\017.context.Device\"\216\001\n\014Dev" + "iceFilter\022)\n\ndevice_ids\030\001 \001(\0132\025.context." + "DeviceIdList\022\031\n\021include_endpoints\030\002 \001(\010\022" + "\034\n\024include_config_rules\030\003 \001(\010\022\032\n\022include" + "_components\030\004 \001(\010\"\200\001\n\013DeviceEvent\022\035\n\005eve" + "nt\030\001 \001(\0132\016.context.Event\022$\n\tdevice_id\030\002 " + "\001(\0132\021.context.DeviceId\022,\n\rdevice_config\030" + "\003 \001(\0132\025.context.DeviceConfig\"*\n\006LinkId\022 " + "\n\tlink_uuid\030\001 \001(\0132\r.context.Uuid\"I\n\016Link" + "Attributes\022\033\n\023total_capacity_gbps\030\001 \001(\002\022" + "\032\n\022used_capacity_gbps\030\002 \001(\002\"\223\001\n\004Link\022 \n\007" + "link_id\030\001 \001(\0132\017.context.LinkId\022\014\n\004name\030\002" + " \001(\t\022.\n\021link_endpoint_ids\030\003 \003(\0132\023.contex" + "t.EndPointId\022+\n\nattributes\030\004 \001(\0132\027.conte" + "xt.LinkAttributes\"/\n\nLinkIdList\022!\n\010link_" + "ids\030\001 \003(\0132\017.context.LinkId\"(\n\010LinkList\022\034" + "\n\005links\030\001 \003(\0132\r.context.Link\"L\n\tLinkEven" + "t\022\035\n\005event\030\001 \001(\0132\016.context.Event\022 \n\007link" + "_id\030\002 \001(\0132\017.context.LinkId\"X\n\tServiceId\022" + "&\n\ncontext_id\030\001 \001(\0132\022.context.ContextId\022" + "#\n\014service_uuid\030\002 \001(\0132\r.context.Uuid\"\333\002\n" + "\007Service\022&\n\nservice_id\030\001 \001(\0132\022.context.S" + "erviceId\022\014\n\004name\030\002 \001(\t\022.\n\014service_type\030\003" + " \001(\0162\030.context.ServiceTypeEnum\0221\n\024servic" + "e_endpoint_ids\030\004 \003(\0132\023.context.EndPointI" + "d\0220\n\023service_constraints\030\005 \003(\0132\023.context" + ".Constraint\022.\n\016service_status\030\006 \001(\0132\026.co" + "ntext.ServiceStatus\022.\n\016service_config\030\007 " + "\001(\0132\026.context.ServiceConfig\022%\n\ttimestamp" + "\030\010 \001(\0132\022.context.Timestamp\"C\n\rServiceSta" + "tus\0222\n\016service_status\030\001 \001(\0162\032.context.Se" + "rviceStatusEnum\":\n\rServiceConfig\022)\n\014conf" + "ig_rules\030\001 \003(\0132\023.context.ConfigRule\"8\n\rS" + "erviceIdList\022\'\n\013service_ids\030\001 \003(\0132\022.cont" + "ext.ServiceId\"1\n\013ServiceList\022\"\n\010services" + "\030\001 \003(\0132\020.context.Service\"\225\001\n\rServiceFilt" + "er\022+\n\013service_ids\030\001 \001(\0132\026.context.Servic" + "eIdList\022\034\n\024include_endpoint_ids\030\002 \001(\010\022\033\n" + "\023include_constraints\030\003 \001(\010\022\034\n\024include_co" + "nfig_rules\030\004 \001(\010\"U\n\014ServiceEvent\022\035\n\005even" + "t\030\001 \001(\0132\016.context.Event\022&\n\nservice_id\030\002 " + "\001(\0132\022.context.ServiceId\"T\n\007SliceId\022&\n\nco" + "ntext_id\030\001 \001(\0132\022.context.ContextId\022!\n\nsl" + "ice_uuid\030\002 \001(\0132\r.context.Uuid\"\240\003\n\005Slice\022" + "\"\n\010slice_id\030\001 \001(\0132\020.context.SliceId\022\014\n\004n" + "ame\030\002 \001(\t\022/\n\022slice_endpoint_ids\030\003 \003(\0132\023." + "context.EndPointId\022.\n\021slice_constraints\030" + "\004 \003(\0132\023.context.Constraint\022-\n\021slice_serv" + "ice_ids\030\005 \003(\0132\022.context.ServiceId\022,\n\022sli" + "ce_subslice_ids\030\006 \003(\0132\020.context.SliceId\022" + "*\n\014slice_status\030\007 \001(\0132\024.context.SliceSta" + "tus\022*\n\014slice_config\030\010 \001(\0132\024.context.Slic" + "eConfig\022(\n\013slice_owner\030\t \001(\0132\023.context.S" + "liceOwner\022%\n\ttimestamp\030\n \001(\0132\022.context.T" + "imestamp\"E\n\nSliceOwner\022!\n\nowner_uuid\030\001 \001" + "(\0132\r.context.Uuid\022\024\n\014owner_string\030\002 \001(\t\"" + "=\n\013SliceStatus\022.\n\014slice_status\030\001 \001(\0162\030.c" + "ontext.SliceStatusEnum\"8\n\013SliceConfig\022)\n" + "\014config_rules\030\001 \003(\0132\023.context.ConfigRule" + "\"2\n\013SliceIdList\022#\n\tslice_ids\030\001 \003(\0132\020.con" + "text.SliceId\"+\n\tSliceList\022\036\n\006slices\030\001 \003(" + "\0132\016.context.Slice\"\312\001\n\013SliceFilter\022\'\n\tsli" + "ce_ids\030\001 \001(\0132\024.context.SliceIdList\022\034\n\024in" + "clude_endpoint_ids\030\002 \001(\010\022\033\n\023include_cons" + "traints\030\003 \001(\010\022\033\n\023include_service_ids\030\004 \001" + "(\010\022\034\n\024include_subslice_ids\030\005 \001(\010\022\034\n\024incl" + "ude_config_rules\030\006 \001(\010\"O\n\nSliceEvent\022\035\n\005" + "event\030\001 \001(\0132\016.context.Event\022\"\n\010slice_id\030" + "\002 \001(\0132\020.context.SliceId\"6\n\014ConnectionId\022" + "&\n\017connection_uuid\030\001 \001(\0132\r.context.Uuid\"" + "2\n\025ConnectionSettings_L0\022\031\n\021lsp_symbolic" + "_name\030\001 \001(\t\"\236\001\n\025ConnectionSettings_L2\022\027\n" + "\017src_mac_address\030\001 \001(\t\022\027\n\017dst_mac_addres" + "s\030\002 \001(\t\022\022\n\nether_type\030\003 \001(\r\022\017\n\007vlan_id\030\004" + " \001(\r\022\022\n\nmpls_label\030\005 \001(\r\022\032\n\022mpls_traffic" + "_class\030\006 \001(\r\"t\n\025ConnectionSettings_L3\022\026\n" + "\016src_ip_address\030\001 \001(\t\022\026\n\016dst_ip_address\030" + "\002 \001(\t\022\014\n\004dscp\030\003 \001(\r\022\020\n\010protocol\030\004 \001(\r\022\013\n" + "\003ttl\030\005 \001(\r\"[\n\025ConnectionSettings_L4\022\020\n\010s" + "rc_port\030\001 \001(\r\022\020\n\010dst_port\030\002 \001(\r\022\021\n\ttcp_f" + "lags\030\003 \001(\r\022\013\n\003ttl\030\004 \001(\r\"\304\001\n\022ConnectionSe" + "ttings\022*\n\002l0\030\001 \001(\0132\036.context.ConnectionS" + "ettings_L0\022*\n\002l2\030\002 \001(\0132\036.context.Connect" + "ionSettings_L2\022*\n\002l3\030\003 \001(\0132\036.context.Con" + "nectionSettings_L3\022*\n\002l4\030\004 \001(\0132\036.context" + ".ConnectionSettings_L4\"\363\001\n\nConnection\022,\n" + "\rconnection_id\030\001 \001(\0132\025.context.Connectio" + "nId\022&\n\nservice_id\030\002 \001(\0132\022.context.Servic" + "eId\0223\n\026path_hops_endpoint_ids\030\003 \003(\0132\023.co" + "ntext.EndPointId\022+\n\017sub_service_ids\030\004 \003(" + "\0132\022.context.ServiceId\022-\n\010settings\030\005 \001(\0132" + "\033.context.ConnectionSettings\"A\n\020Connecti" + "onIdList\022-\n\016connection_ids\030\001 \003(\0132\025.conte" + "xt.ConnectionId\":\n\016ConnectionList\022(\n\013con" + "nections\030\001 \003(\0132\023.context.Connection\"^\n\017C" + "onnectionEvent\022\035\n\005event\030\001 \001(\0132\016.context." + "Event\022,\n\rconnection_id\030\002 \001(\0132\025.context.C" + "onnectionId\"\202\001\n\nEndPointId\022(\n\013topology_i" + "d\030\001 \001(\0132\023.context.TopologyId\022$\n\tdevice_i" + "d\030\002 \001(\0132\021.context.DeviceId\022$\n\rendpoint_u" + "uid\030\003 \001(\0132\r.context.Uuid\"\302\001\n\010EndPoint\022(\n" + "\013endpoint_id\030\001 \001(\0132\023.context.EndPointId\022" + "\014\n\004name\030\002 \001(\t\022\025\n\rendpoint_type\030\003 \001(\t\0229\n\020" + "kpi_sample_types\030\004 \003(\0162\037.kpi_sample_type" + "s.KpiSampleType\022,\n\021endpoint_location\030\005 \001" + "(\0132\021.context.Location\"{\n\014EndPointName\022(\n" + "\013endpoint_id\030\001 \001(\0132\023.context.EndPointId\022" + "\023\n\013device_name\030\002 \001(\t\022\025\n\rendpoint_name\030\003 " + "\001(\t\022\025\n\rendpoint_type\030\004 \001(\t\";\n\016EndPointId" + "List\022)\n\014endpoint_ids\030\001 \003(\0132\023.context.End" + "PointId\"A\n\020EndPointNameList\022-\n\016endpoint_" + "names\030\001 \003(\0132\025.context.EndPointName\"A\n\021Co" + "nfigRule_Custom\022\024\n\014resource_key\030\001 \001(\t\022\026\n" + "\016resource_value\030\002 \001(\t\"]\n\016ConfigRule_ACL\022" + "(\n\013endpoint_id\030\001 \001(\0132\023.context.EndPointI" + "d\022!\n\010rule_set\030\002 \001(\0132\017.acl.AclRuleSet\"\234\001\n" + "\nConfigRule\022)\n\006action\030\001 \001(\0162\031.context.Co" + "nfigActionEnum\022,\n\006custom\030\002 \001(\0132\032.context" + ".ConfigRule_CustomH\000\022&\n\003acl\030\003 \001(\0132\027.cont" + "ext.ConfigRule_ACLH\000B\r\n\013config_rule\"F\n\021C" + "onstraint_Custom\022\027\n\017constraint_type\030\001 \001(" + "\t\022\030\n\020constraint_value\030\002 \001(\t\"E\n\023Constrain" + "t_Schedule\022\027\n\017start_timestamp\030\001 \001(\002\022\025\n\rd" + "uration_days\030\002 \001(\002\"3\n\014GPS_Position\022\020\n\010la" + "titude\030\001 \001(\002\022\021\n\tlongitude\030\002 \001(\002\"W\n\010Locat" + "ion\022\020\n\006region\030\001 \001(\tH\000\022-\n\014gps_position\030\002 " + "\001(\0132\025.context.GPS_PositionH\000B\n\n\010location" + "\"l\n\033Constraint_EndPointLocation\022(\n\013endpo" + "int_id\030\001 \001(\0132\023.context.EndPointId\022#\n\010loc" + "ation\030\002 \001(\0132\021.context.Location\"Y\n\033Constr" + "aint_EndPointPriority\022(\n\013endpoint_id\030\001 \001" + "(\0132\023.context.EndPointId\022\020\n\010priority\030\002 \001(" + "\r\"0\n\026Constraint_SLA_Latency\022\026\n\016e2e_laten" + "cy_ms\030\001 \001(\002\"0\n\027Constraint_SLA_Capacity\022\025" + "\n\rcapacity_gbps\030\001 \001(\002\"c\n\033Constraint_SLA_" + "Availability\022\032\n\022num_disjoint_paths\030\001 \001(\r" + "\022\022\n\nall_active\030\002 \001(\010\022\024\n\014availability\030\003 \001" + "(\002\"V\n\036Constraint_SLA_Isolation_level\0224\n\017" + "isolation_level\030\001 \003(\0162\033.context.Isolatio" + "nLevelEnum\"\242\001\n\025Constraint_Exclusions\022\024\n\014" + "is_permanent\030\001 \001(\010\022%\n\ndevice_ids\030\002 \003(\0132\021" + ".context.DeviceId\022)\n\014endpoint_ids\030\003 \003(\0132" + "\023.context.EndPointId\022!\n\010link_ids\030\004 \003(\0132\017" + ".context.LinkId\"\333\004\n\nConstraint\022-\n\006action" + "\030\001 \001(\0162\035.context.ConstraintActionEnum\022,\n" + "\006custom\030\002 \001(\0132\032.context.Constraint_Custo" + "mH\000\0220\n\010schedule\030\003 \001(\0132\034.context.Constrai" + "nt_ScheduleH\000\022A\n\021endpoint_location\030\004 \001(\013" + "2$.context.Constraint_EndPointLocationH\000" + "\022A\n\021endpoint_priority\030\005 \001(\0132$.context.Co" + "nstraint_EndPointPriorityH\000\0228\n\014sla_capac" + "ity\030\006 \001(\0132 .context.Constraint_SLA_Capac" + "ityH\000\0226\n\013sla_latency\030\007 \001(\0132\037.context.Con" + "straint_SLA_LatencyH\000\022@\n\020sla_availabilit" + "y\030\010 \001(\0132$.context.Constraint_SLA_Availab" + "ilityH\000\022@\n\rsla_isolation\030\t \001(\0132\'.context" + ".Constraint_SLA_Isolation_levelH\000\0224\n\nexc" + "lusions\030\n \001(\0132\036.context.Constraint_Exclu" + "sionsH\000B\014\n\nconstraint\"^\n\022TeraFlowControl" + "ler\022&\n\ncontext_id\030\001 \001(\0132\022.context.Contex" + "tId\022\022\n\nip_address\030\002 \001(\t\022\014\n\004port\030\003 \001(\r\"U\n" + "\024AuthenticationResult\022&\n\ncontext_id\030\001 \001(" + "\0132\022.context.ContextId\022\025\n\rauthenticated\030\002" + " \001(\010\"-\n\017OpticalConfigId\022\032\n\022opticalconfig" + "_uuid\030\001 \001(\t\"S\n\rOpticalConfig\0222\n\020opticalc" + "onfig_id\030\001 \001(\0132\030.context.OpticalConfigId" + "\022\016\n\006config\030\002 \001(\t\"C\n\021OpticalConfigList\022.\n" + "\016opticalconfigs\030\001 \003(\0132\026.context.OpticalC" + "onfig\"9\n\rOpticalLinkId\022(\n\021optical_link_u" + "uid\030\001 \001(\0132\r.context.Uuid\",\n\007FiberId\022!\n\nf" + "iber_uuid\030\001 \001(\0132\r.context.Uuid\"\341\001\n\005Fiber" + "\022\n\n\002ID\030\n \001(\t\022\020\n\010src_port\030\001 \001(\t\022\020\n\010dst_po" + "rt\030\002 \001(\t\022\027\n\017local_peer_port\030\003 \001(\t\022\030\n\020rem" + "ote_peer_port\030\004 \001(\t\022\017\n\007c_slots\030\005 \003(\005\022\017\n\007" + "l_slots\030\006 \003(\005\022\017\n\007s_slots\030\007 \003(\005\022\016\n\006length" + "\030\010 \001(\002\022\014\n\004used\030\t \001(\010\022$\n\nfiber_uuid\030\013 \001(\013" + "2\020.context.FiberId\"d\n\022OpticalLinkDetails" + "\022\016\n\006length\030\001 \001(\002\022\016\n\006source\030\002 \001(\t\022\016\n\006targ" + "et\030\003 \001(\t\022\036\n\006fibers\030\004 \003(\0132\016.context.Fiber" + "\"|\n\013OpticalLink\022\014\n\004name\030\001 \001(\t\022,\n\007details" + "\030\002 \001(\0132\033.context.OpticalLinkDetails\0221\n\021o" + "ptical_link_uuid\030\003 \001(\0132\026.context.Optical" + "LinkId*j\n\rEventTypeEnum\022\027\n\023EVENTTYPE_UND" + "EFINED\020\000\022\024\n\020EVENTTYPE_CREATE\020\001\022\024\n\020EVENTT" + "YPE_UPDATE\020\002\022\024\n\020EVENTTYPE_REMOVE\020\003*\346\002\n\020D" + "eviceDriverEnum\022\032\n\026DEVICEDRIVER_UNDEFINE" + "D\020\000\022\033\n\027DEVICEDRIVER_OPENCONFIG\020\001\022\036\n\032DEVI" + "CEDRIVER_TRANSPORT_API\020\002\022\023\n\017DEVICEDRIVER" + "_P4\020\003\022&\n\"DEVICEDRIVER_IETF_NETWORK_TOPOL" + "OGY\020\004\022\033\n\027DEVICEDRIVER_ONF_TR_532\020\005\022\023\n\017DE" + "VICEDRIVER_XR\020\006\022\033\n\027DEVICEDRIVER_IETF_L2V" + "PN\020\007\022 \n\034DEVICEDRIVER_GNMI_OPENCONFIG\020\010\022\032" + "\n\026DEVICEDRIVER_FLEXSCALE\020\t\022\032\n\026DEVICEDRIV" + "ER_IETF_ACTN\020\n\022\023\n\017DEVICEDRIVER_OC\020\013*\217\001\n\033" + "DeviceOperationalStatusEnum\022%\n!DEVICEOPE" + "RATIONALSTATUS_UNDEFINED\020\000\022$\n DEVICEOPER" + "ATIONALSTATUS_DISABLED\020\001\022#\n\037DEVICEOPERAT" + "IONALSTATUS_ENABLED\020\002*\320\001\n\017ServiceTypeEnu" + "m\022\027\n\023SERVICETYPE_UNKNOWN\020\000\022\024\n\020SERVICETYP" + "E_L3NM\020\001\022\024\n\020SERVICETYPE_L2NM\020\002\022)\n%SERVIC" + "ETYPE_TAPI_CONNECTIVITY_SERVICE\020\003\022\022\n\016SER" + "VICETYPE_TE\020\004\022\023\n\017SERVICETYPE_E2E\020\005\022$\n SE" + "RVICETYPE_OPTICAL_CONNECTIVITY\020\006*\304\001\n\021Ser" + "viceStatusEnum\022\033\n\027SERVICESTATUS_UNDEFINE" + "D\020\000\022\031\n\025SERVICESTATUS_PLANNED\020\001\022\030\n\024SERVIC" + "ESTATUS_ACTIVE\020\002\022\032\n\026SERVICESTATUS_UPDATI" + "NG\020\003\022!\n\035SERVICESTATUS_PENDING_REMOVAL\020\004\022" + "\036\n\032SERVICESTATUS_SLA_VIOLATED\020\005*\251\001\n\017Slic" + "eStatusEnum\022\031\n\025SLICESTATUS_UNDEFINED\020\000\022\027" + "\n\023SLICESTATUS_PLANNED\020\001\022\024\n\020SLICESTATUS_I" + "NIT\020\002\022\026\n\022SLICESTATUS_ACTIVE\020\003\022\026\n\022SLICEST" + "ATUS_DEINIT\020\004\022\034\n\030SLICESTATUS_SLA_VIOLATE" + "D\020\005*]\n\020ConfigActionEnum\022\032\n\026CONFIGACTION_" + "UNDEFINED\020\000\022\024\n\020CONFIGACTION_SET\020\001\022\027\n\023CON" + "FIGACTION_DELETE\020\002*m\n\024ConstraintActionEn" + "um\022\036\n\032CONSTRAINTACTION_UNDEFINED\020\000\022\030\n\024CO" + "NSTRAINTACTION_SET\020\001\022\033\n\027CONSTRAINTACTION" + "_DELETE\020\002*\203\002\n\022IsolationLevelEnum\022\020\n\014NO_I" + "SOLATION\020\000\022\026\n\022PHYSICAL_ISOLATION\020\001\022\025\n\021LO" + "GICAL_ISOLATION\020\002\022\025\n\021PROCESS_ISOLATION\020\003" + "\022\035\n\031PHYSICAL_MEMORY_ISOLATION\020\004\022\036\n\032PHYSI" + "CAL_NETWORK_ISOLATION\020\005\022\036\n\032VIRTUAL_RESOU" + "RCE_ISOLATION\020\006\022\037\n\033NETWORK_FUNCTIONS_ISO" + "LATION\020\007\022\025\n\021SERVICE_ISOLATION\020\0102\246\031\n\016Cont" + "extService\022:\n\016ListContextIds\022\016.context.E" + "mpty\032\026.context.ContextIdList\"\000\0226\n\014ListCo" + "ntexts\022\016.context.Empty\032\024.context.Context" + "List\"\000\0224\n\nGetContext\022\022.context.ContextId" + "\032\020.context.Context\"\000\0224\n\nSetContext\022\020.con" + "text.Context\032\022.context.ContextId\"\000\0225\n\rRe" + "moveContext\022\022.context.ContextId\032\016.contex" + "t.Empty\"\000\022=\n\020GetContextEvents\022\016.context." + "Empty\032\025.context.ContextEvent\"\0000\001\022@\n\017List" + "TopologyIds\022\022.context.ContextId\032\027.contex" + "t.TopologyIdList\"\000\022=\n\016ListTopologies\022\022.c" + "ontext.ContextId\032\025.context.TopologyList\"" + "\000\0227\n\013GetTopology\022\023.context.TopologyId\032\021." + "context.Topology\"\000\022E\n\022GetTopologyDetails" + "\022\023.context.TopologyId\032\030.context.Topology" + "Details\"\000\0227\n\013SetTopology\022\021.context.Topol" + "ogy\032\023.context.TopologyId\"\000\0227\n\016RemoveTopo" + "logy\022\023.context.TopologyId\032\016.context.Empt" + "y\"\000\022?\n\021GetTopologyEvents\022\016.context.Empty" + "\032\026.context.TopologyEvent\"\0000\001\0228\n\rListDevi" + "ceIds\022\016.context.Empty\032\025.context.DeviceId" + "List\"\000\0224\n\013ListDevices\022\016.context.Empty\032\023." + "context.DeviceList\"\000\0221\n\tGetDevice\022\021.cont" + "ext.DeviceId\032\017.context.Device\"\000\0221\n\tSetDe" + "vice\022\017.context.Device\032\021.context.DeviceId" + "\"\000\0223\n\014RemoveDevice\022\021.context.DeviceId\032\016." + "context.Empty\"\000\022;\n\017GetDeviceEvents\022\016.con" + "text.Empty\032\024.context.DeviceEvent\"\0000\001\022<\n\014" + "SelectDevice\022\025.context.DeviceFilter\032\023.co" + "ntext.DeviceList\"\000\022I\n\021ListEndPointNames\022" + "\027.context.EndPointIdList\032\031.context.EndPo" + "intNameList\"\000\0224\n\013ListLinkIds\022\016.context.E" + "mpty\032\023.context.LinkIdList\"\000\0220\n\tListLinks" + "\022\016.context.Empty\032\021.context.LinkList\"\000\022+\n" + "\007GetLink\022\017.context.LinkId\032\r.context.Link" + "\"\000\022+\n\007SetLink\022\r.context.Link\032\017.context.L" + "inkId\"\000\022/\n\nRemoveLink\022\017.context.LinkId\032\016" + ".context.Empty\"\000\0227\n\rGetLinkEvents\022\016.cont" + "ext.Empty\032\022.context.LinkEvent\"\0000\001\022>\n\016Lis" + "tServiceIds\022\022.context.ContextId\032\026.contex" + "t.ServiceIdList\"\000\022:\n\014ListServices\022\022.cont" + "ext.ContextId\032\024.context.ServiceList\"\000\0224\n" + "\nGetService\022\022.context.ServiceId\032\020.contex" + "t.Service\"\000\0224\n\nSetService\022\020.context.Serv" + "ice\032\022.context.ServiceId\"\000\0226\n\014UnsetServic" + "e\022\020.context.Service\032\022.context.ServiceId\"" + "\000\0225\n\rRemoveService\022\022.context.ServiceId\032\016" + ".context.Empty\"\000\022=\n\020GetServiceEvents\022\016.c" + "ontext.Empty\032\025.context.ServiceEvent\"\0000\001\022" + "?\n\rSelectService\022\026.context.ServiceFilter" + "\032\024.context.ServiceList\"\000\022:\n\014ListSliceIds" + "\022\022.context.ContextId\032\024.context.SliceIdLi" + "st\"\000\0226\n\nListSlices\022\022.context.ContextId\032\022" + ".context.SliceList\"\000\022.\n\010GetSlice\022\020.conte" + "xt.SliceId\032\016.context.Slice\"\000\022.\n\010SetSlice" + "\022\016.context.Slice\032\020.context.SliceId\"\000\0220\n\n" + "UnsetSlice\022\016.context.Slice\032\020.context.Sli" + "ceId\"\000\0221\n\013RemoveSlice\022\020.context.SliceId\032" + "\016.context.Empty\"\000\0229\n\016GetSliceEvents\022\016.co" + "ntext.Empty\032\023.context.SliceEvent\"\0000\001\0229\n\013" + "SelectSlice\022\024.context.SliceFilter\032\022.cont" + "ext.SliceList\"\000\022D\n\021ListConnectionIds\022\022.c" + "ontext.ServiceId\032\031.context.ConnectionIdL" + "ist\"\000\022@\n\017ListConnections\022\022.context.Servi" + "ceId\032\027.context.ConnectionList\"\000\022=\n\rGetCo" + "nnection\022\025.context.ConnectionId\032\023.contex" + "t.Connection\"\000\022=\n\rSetConnection\022\023.contex" + "t.Connection\032\025.context.ConnectionId\"\000\022;\n" + "\020RemoveConnection\022\025.context.ConnectionId" + "\032\016.context.Empty\"\000\022C\n\023GetConnectionEvent" + "s\022\016.context.Empty\032\030.context.ConnectionEv" + "ent\"\0000\001\022@\n\020GetOpticalConfig\022\016.context.Em" + "pty\032\032.context.OpticalConfigList\"\000\022F\n\020Set" + "OpticalConfig\022\026.context.OpticalConfig\032\030." + "context.OpticalConfigId\"\000\022I\n\023SelectOptic" + "alConfig\022\030.context.OpticalConfigId\032\026.con" + "text.OpticalConfig\"\000\0228\n\016SetOpticalLink\022\024" + ".context.OpticalLink\032\016.context.Empty\"\000\022@" + "\n\016GetOpticalLink\022\026.context.OpticalLinkId" + "\032\024.context.OpticalLink\"\000\022.\n\010GetFiber\022\020.c" + "ontext.FiberId\032\016.context.Fiber\"\000b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] { acl.Acl.getDescriptor(), kpi_sample_types.KpiSampleTypes.getDescriptor() }); internal_static_context_Empty_descriptor = getDescriptor().getMessageTypes().get(0); internal_static_context_Empty_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_Empty_descriptor, new java.lang.String[] {}); @@ -69778,6 +76850,22 @@ public final class ContextOuterClass { internal_static_context_TeraFlowController_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_TeraFlowController_descriptor, new java.lang.String[] { "ContextId", "IpAddress", "Port" }); internal_static_context_AuthenticationResult_descriptor = getDescriptor().getMessageTypes().get(77); internal_static_context_AuthenticationResult_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_AuthenticationResult_descriptor, new java.lang.String[] { "ContextId", "Authenticated" }); + internal_static_context_OpticalConfigId_descriptor = getDescriptor().getMessageTypes().get(78); + internal_static_context_OpticalConfigId_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_OpticalConfigId_descriptor, new java.lang.String[] { "OpticalconfigUuid" }); + internal_static_context_OpticalConfig_descriptor = getDescriptor().getMessageTypes().get(79); + internal_static_context_OpticalConfig_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_OpticalConfig_descriptor, new java.lang.String[] { "OpticalconfigId", "Config" }); + internal_static_context_OpticalConfigList_descriptor = getDescriptor().getMessageTypes().get(80); + internal_static_context_OpticalConfigList_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_OpticalConfigList_descriptor, new java.lang.String[] { "Opticalconfigs" }); + internal_static_context_OpticalLinkId_descriptor = getDescriptor().getMessageTypes().get(81); + internal_static_context_OpticalLinkId_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_OpticalLinkId_descriptor, new java.lang.String[] { "OpticalLinkUuid" }); + internal_static_context_FiberId_descriptor = getDescriptor().getMessageTypes().get(82); + internal_static_context_FiberId_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_FiberId_descriptor, new java.lang.String[] { "FiberUuid" }); + internal_static_context_Fiber_descriptor = getDescriptor().getMessageTypes().get(83); + internal_static_context_Fiber_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_Fiber_descriptor, new java.lang.String[] { "ID", "SrcPort", "DstPort", "LocalPeerPort", "RemotePeerPort", "CSlots", "LSlots", "SSlots", "Length", "Used", "FiberUuid" }); + internal_static_context_OpticalLinkDetails_descriptor = getDescriptor().getMessageTypes().get(84); + internal_static_context_OpticalLinkDetails_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_OpticalLinkDetails_descriptor, new java.lang.String[] { "Length", "Source", "Target", "Fibers" }); + internal_static_context_OpticalLink_descriptor = getDescriptor().getMessageTypes().get(85); + internal_static_context_OpticalLink_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_OpticalLink_descriptor, new java.lang.String[] { "Name", "Details", "OpticalLinkUuid" }); acl.Acl.getDescriptor(); kpi_sample_types.KpiSampleTypes.getDescriptor(); } diff --git a/src/policy/target/generated-sources/grpc/context/ContextService.java b/src/policy/target/generated-sources/grpc/context/ContextService.java index f1c089fb5..32544e6be 100644 --- a/src/policy/target/generated-sources/grpc/context/ContextService.java +++ b/src/policy/target/generated-sources/grpc/context/ContextService.java @@ -89,6 +89,23 @@ public interface ContextService extends MutinyService { io.smallrye.mutiny.Uni removeConnection(context.ContextOuterClass.ConnectionId request); + /** + *
+     *  ------------------------------ Experimental -----------------------------
+     * 
+ */ + io.smallrye.mutiny.Uni getOpticalConfig(context.ContextOuterClass.Empty request); + + io.smallrye.mutiny.Uni setOpticalConfig(context.ContextOuterClass.OpticalConfig request); + + io.smallrye.mutiny.Uni selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request); + + io.smallrye.mutiny.Uni setOpticalLink(context.ContextOuterClass.OpticalLink request); + + io.smallrye.mutiny.Uni getOpticalLink(context.ContextOuterClass.OpticalLinkId request); + + io.smallrye.mutiny.Uni getFiber(context.ContextOuterClass.FiberId request); + io.smallrye.mutiny.Multi getContextEvents(context.ContextOuterClass.Empty request); io.smallrye.mutiny.Multi getTopologyEvents(context.ContextOuterClass.Empty request); diff --git a/src/policy/target/generated-sources/grpc/context/ContextServiceBean.java b/src/policy/target/generated-sources/grpc/context/ContextServiceBean.java index db1b9c170..d3c1b6285 100644 --- a/src/policy/target/generated-sources/grpc/context/ContextServiceBean.java +++ b/src/policy/target/generated-sources/grpc/context/ContextServiceBean.java @@ -391,6 +391,60 @@ public class ContextServiceBean extends MutinyContextServiceGrpc.ContextServiceI } } + @Override + public io.smallrye.mutiny.Uni getOpticalConfig(context.ContextOuterClass.Empty request) { + try { + return delegate.getOpticalConfig(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + + @Override + public io.smallrye.mutiny.Uni setOpticalConfig(context.ContextOuterClass.OpticalConfig request) { + try { + return delegate.setOpticalConfig(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + + @Override + public io.smallrye.mutiny.Uni selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request) { + try { + return delegate.selectOpticalConfig(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + + @Override + public io.smallrye.mutiny.Uni setOpticalLink(context.ContextOuterClass.OpticalLink request) { + try { + return delegate.setOpticalLink(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + + @Override + public io.smallrye.mutiny.Uni getOpticalLink(context.ContextOuterClass.OpticalLinkId request) { + try { + return delegate.getOpticalLink(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + + @Override + public io.smallrye.mutiny.Uni getFiber(context.ContextOuterClass.FiberId request) { + try { + return delegate.getFiber(request); + } catch (UnsupportedOperationException e) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + } + @Override public io.smallrye.mutiny.Multi getContextEvents(context.ContextOuterClass.Empty request) { try { diff --git a/src/policy/target/generated-sources/grpc/context/ContextServiceClient.java b/src/policy/target/generated-sources/grpc/context/ContextServiceClient.java index 88ab831f5..b1773578d 100644 --- a/src/policy/target/generated-sources/grpc/context/ContextServiceClient.java +++ b/src/policy/target/generated-sources/grpc/context/ContextServiceClient.java @@ -235,6 +235,36 @@ public class ContextServiceClient implements ContextService, MutinyClient getOpticalConfig(context.ContextOuterClass.Empty request) { + return stub.getOpticalConfig(request); + } + + @Override + public io.smallrye.mutiny.Uni setOpticalConfig(context.ContextOuterClass.OpticalConfig request) { + return stub.setOpticalConfig(request); + } + + @Override + public io.smallrye.mutiny.Uni selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request) { + return stub.selectOpticalConfig(request); + } + + @Override + public io.smallrye.mutiny.Uni setOpticalLink(context.ContextOuterClass.OpticalLink request) { + return stub.setOpticalLink(request); + } + + @Override + public io.smallrye.mutiny.Uni getOpticalLink(context.ContextOuterClass.OpticalLinkId request) { + return stub.getOpticalLink(request); + } + + @Override + public io.smallrye.mutiny.Uni getFiber(context.ContextOuterClass.FiberId request) { + return stub.getFiber(request); + } + @Override public io.smallrye.mutiny.Multi getContextEvents(context.ContextOuterClass.Empty request) { return stub.getContextEvents(request); diff --git a/src/policy/target/generated-sources/grpc/context/ContextServiceGrpc.java b/src/policy/target/generated-sources/grpc/context/ContextServiceGrpc.java index defb37810..233312dd7 100644 --- a/src/policy/target/generated-sources/grpc/context/ContextServiceGrpc.java +++ b/src/policy/target/generated-sources/grpc/context/ContextServiceGrpc.java @@ -749,6 +749,96 @@ public final class ContextServiceGrpc { return getGetConnectionEventsMethod; } + private static volatile io.grpc.MethodDescriptor getGetOpticalConfigMethod; + + @io.grpc.stub.annotations.RpcMethod(fullMethodName = SERVICE_NAME + '/' + "GetOpticalConfig", requestType = context.ContextOuterClass.Empty.class, responseType = context.ContextOuterClass.OpticalConfigList.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetOpticalConfigMethod() { + io.grpc.MethodDescriptor getGetOpticalConfigMethod; + if ((getGetOpticalConfigMethod = ContextServiceGrpc.getGetOpticalConfigMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getGetOpticalConfigMethod = ContextServiceGrpc.getGetOpticalConfigMethod) == null) { + ContextServiceGrpc.getGetOpticalConfigMethod = getGetOpticalConfigMethod = io.grpc.MethodDescriptor.newBuilder().setType(io.grpc.MethodDescriptor.MethodType.UNARY).setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetOpticalConfig")).setSampledToLocalTracing(true).setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.Empty.getDefaultInstance())).setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.OpticalConfigList.getDefaultInstance())).setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("GetOpticalConfig")).build(); + } + } + } + return getGetOpticalConfigMethod; + } + + private static volatile io.grpc.MethodDescriptor getSetOpticalConfigMethod; + + @io.grpc.stub.annotations.RpcMethod(fullMethodName = SERVICE_NAME + '/' + "SetOpticalConfig", requestType = context.ContextOuterClass.OpticalConfig.class, responseType = context.ContextOuterClass.OpticalConfigId.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getSetOpticalConfigMethod() { + io.grpc.MethodDescriptor getSetOpticalConfigMethod; + if ((getSetOpticalConfigMethod = ContextServiceGrpc.getSetOpticalConfigMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getSetOpticalConfigMethod = ContextServiceGrpc.getSetOpticalConfigMethod) == null) { + ContextServiceGrpc.getSetOpticalConfigMethod = getSetOpticalConfigMethod = io.grpc.MethodDescriptor.newBuilder().setType(io.grpc.MethodDescriptor.MethodType.UNARY).setFullMethodName(generateFullMethodName(SERVICE_NAME, "SetOpticalConfig")).setSampledToLocalTracing(true).setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.OpticalConfig.getDefaultInstance())).setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.OpticalConfigId.getDefaultInstance())).setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("SetOpticalConfig")).build(); + } + } + } + return getSetOpticalConfigMethod; + } + + private static volatile io.grpc.MethodDescriptor getSelectOpticalConfigMethod; + + @io.grpc.stub.annotations.RpcMethod(fullMethodName = SERVICE_NAME + '/' + "SelectOpticalConfig", requestType = context.ContextOuterClass.OpticalConfigId.class, responseType = context.ContextOuterClass.OpticalConfig.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getSelectOpticalConfigMethod() { + io.grpc.MethodDescriptor getSelectOpticalConfigMethod; + if ((getSelectOpticalConfigMethod = ContextServiceGrpc.getSelectOpticalConfigMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getSelectOpticalConfigMethod = ContextServiceGrpc.getSelectOpticalConfigMethod) == null) { + ContextServiceGrpc.getSelectOpticalConfigMethod = getSelectOpticalConfigMethod = io.grpc.MethodDescriptor.newBuilder().setType(io.grpc.MethodDescriptor.MethodType.UNARY).setFullMethodName(generateFullMethodName(SERVICE_NAME, "SelectOpticalConfig")).setSampledToLocalTracing(true).setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.OpticalConfigId.getDefaultInstance())).setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.OpticalConfig.getDefaultInstance())).setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("SelectOpticalConfig")).build(); + } + } + } + return getSelectOpticalConfigMethod; + } + + private static volatile io.grpc.MethodDescriptor getSetOpticalLinkMethod; + + @io.grpc.stub.annotations.RpcMethod(fullMethodName = SERVICE_NAME + '/' + "SetOpticalLink", requestType = context.ContextOuterClass.OpticalLink.class, responseType = context.ContextOuterClass.Empty.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getSetOpticalLinkMethod() { + io.grpc.MethodDescriptor getSetOpticalLinkMethod; + if ((getSetOpticalLinkMethod = ContextServiceGrpc.getSetOpticalLinkMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getSetOpticalLinkMethod = ContextServiceGrpc.getSetOpticalLinkMethod) == null) { + ContextServiceGrpc.getSetOpticalLinkMethod = getSetOpticalLinkMethod = io.grpc.MethodDescriptor.newBuilder().setType(io.grpc.MethodDescriptor.MethodType.UNARY).setFullMethodName(generateFullMethodName(SERVICE_NAME, "SetOpticalLink")).setSampledToLocalTracing(true).setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.OpticalLink.getDefaultInstance())).setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.Empty.getDefaultInstance())).setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("SetOpticalLink")).build(); + } + } + } + return getSetOpticalLinkMethod; + } + + private static volatile io.grpc.MethodDescriptor getGetOpticalLinkMethod; + + @io.grpc.stub.annotations.RpcMethod(fullMethodName = SERVICE_NAME + '/' + "GetOpticalLink", requestType = context.ContextOuterClass.OpticalLinkId.class, responseType = context.ContextOuterClass.OpticalLink.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetOpticalLinkMethod() { + io.grpc.MethodDescriptor getGetOpticalLinkMethod; + if ((getGetOpticalLinkMethod = ContextServiceGrpc.getGetOpticalLinkMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getGetOpticalLinkMethod = ContextServiceGrpc.getGetOpticalLinkMethod) == null) { + ContextServiceGrpc.getGetOpticalLinkMethod = getGetOpticalLinkMethod = io.grpc.MethodDescriptor.newBuilder().setType(io.grpc.MethodDescriptor.MethodType.UNARY).setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetOpticalLink")).setSampledToLocalTracing(true).setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.OpticalLinkId.getDefaultInstance())).setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.OpticalLink.getDefaultInstance())).setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("GetOpticalLink")).build(); + } + } + } + return getGetOpticalLinkMethod; + } + + private static volatile io.grpc.MethodDescriptor getGetFiberMethod; + + @io.grpc.stub.annotations.RpcMethod(fullMethodName = SERVICE_NAME + '/' + "GetFiber", requestType = context.ContextOuterClass.FiberId.class, responseType = context.ContextOuterClass.Fiber.class, methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor getGetFiberMethod() { + io.grpc.MethodDescriptor getGetFiberMethod; + if ((getGetFiberMethod = ContextServiceGrpc.getGetFiberMethod) == null) { + synchronized (ContextServiceGrpc.class) { + if ((getGetFiberMethod = ContextServiceGrpc.getGetFiberMethod) == null) { + ContextServiceGrpc.getGetFiberMethod = getGetFiberMethod = io.grpc.MethodDescriptor.newBuilder().setType(io.grpc.MethodDescriptor.MethodType.UNARY).setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetFiber")).setSampledToLocalTracing(true).setRequestMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.FiberId.getDefaultInstance())).setResponseMarshaller(io.grpc.protobuf.ProtoUtils.marshaller(context.ContextOuterClass.Fiber.getDefaultInstance())).setSchemaDescriptor(new ContextServiceMethodDescriptorSupplier("GetFiber")).build(); + } + } + } + return getGetFiberMethod; + } + /** * Creates a new async stub that supports all call types for the service */ @@ -1088,6 +1178,45 @@ public final class ContextServiceGrpc { default void getConnectionEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetConnectionEventsMethod(), responseObserver); } + + /** + *
+         * ------------------------------ Experimental -----------------------------
+         * 
+ */ + default void getOpticalConfig(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetOpticalConfigMethod(), responseObserver); + } + + /** + */ + default void setOpticalConfig(context.ContextOuterClass.OpticalConfig request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetOpticalConfigMethod(), responseObserver); + } + + /** + */ + default void selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSelectOpticalConfigMethod(), responseObserver); + } + + /** + */ + default void setOpticalLink(context.ContextOuterClass.OpticalLink request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetOpticalLinkMethod(), responseObserver); + } + + /** + */ + default void getOpticalLink(context.ContextOuterClass.OpticalLinkId request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetOpticalLinkMethod(), responseObserver); + } + + /** + */ + default void getFiber(context.ContextOuterClass.FiberId request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetFiberMethod(), responseObserver); + } } /** @@ -1408,6 +1537,45 @@ public final class ContextServiceGrpc { public void getConnectionEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ClientCalls.asyncServerStreamingCall(getChannel().newCall(getGetConnectionEventsMethod(), getCallOptions()), request, responseObserver); } + + /** + *
+         * ------------------------------ Experimental -----------------------------
+         * 
+ */ + public void getOpticalConfig(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall(getChannel().newCall(getGetOpticalConfigMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void setOpticalConfig(context.ContextOuterClass.OpticalConfig request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall(getChannel().newCall(getSetOpticalConfigMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall(getChannel().newCall(getSelectOpticalConfigMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void setOpticalLink(context.ContextOuterClass.OpticalLink request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall(getChannel().newCall(getSetOpticalLinkMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void getOpticalLink(context.ContextOuterClass.OpticalLinkId request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall(getChannel().newCall(getGetOpticalLinkMethod(), getCallOptions()), request, responseObserver); + } + + /** + */ + public void getFiber(context.ContextOuterClass.FiberId request, io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall(getChannel().newCall(getGetFiberMethod(), getCallOptions()), request, responseObserver); + } } /** @@ -1717,6 +1885,45 @@ public final class ContextServiceGrpc { public java.util.Iterator getConnectionEvents(context.ContextOuterClass.Empty request) { return io.grpc.stub.ClientCalls.blockingServerStreamingCall(getChannel(), getGetConnectionEventsMethod(), getCallOptions(), request); } + + /** + *
+         * ------------------------------ Experimental -----------------------------
+         * 
+ */ + public context.ContextOuterClass.OpticalConfigList getOpticalConfig(context.ContextOuterClass.Empty request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall(getChannel(), getGetOpticalConfigMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.OpticalConfigId setOpticalConfig(context.ContextOuterClass.OpticalConfig request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall(getChannel(), getSetOpticalConfigMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.OpticalConfig selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall(getChannel(), getSelectOpticalConfigMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.Empty setOpticalLink(context.ContextOuterClass.OpticalLink request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall(getChannel(), getSetOpticalLinkMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.OpticalLink getOpticalLink(context.ContextOuterClass.OpticalLinkId request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall(getChannel(), getGetOpticalLinkMethod(), getCallOptions(), request); + } + + /** + */ + public context.ContextOuterClass.Fiber getFiber(context.ContextOuterClass.FiberId request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall(getChannel(), getGetFiberMethod(), getCallOptions(), request); + } } /** @@ -1984,6 +2191,45 @@ public final class ContextServiceGrpc { public com.google.common.util.concurrent.ListenableFuture removeConnection(context.ContextOuterClass.ConnectionId request) { return io.grpc.stub.ClientCalls.futureUnaryCall(getChannel().newCall(getRemoveConnectionMethod(), getCallOptions()), request); } + + /** + *
+         * ------------------------------ Experimental -----------------------------
+         * 
+ */ + public com.google.common.util.concurrent.ListenableFuture getOpticalConfig(context.ContextOuterClass.Empty request) { + return io.grpc.stub.ClientCalls.futureUnaryCall(getChannel().newCall(getGetOpticalConfigMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture setOpticalConfig(context.ContextOuterClass.OpticalConfig request) { + return io.grpc.stub.ClientCalls.futureUnaryCall(getChannel().newCall(getSetOpticalConfigMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request) { + return io.grpc.stub.ClientCalls.futureUnaryCall(getChannel().newCall(getSelectOpticalConfigMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture setOpticalLink(context.ContextOuterClass.OpticalLink request) { + return io.grpc.stub.ClientCalls.futureUnaryCall(getChannel().newCall(getSetOpticalLinkMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture getOpticalLink(context.ContextOuterClass.OpticalLinkId request) { + return io.grpc.stub.ClientCalls.futureUnaryCall(getChannel().newCall(getGetOpticalLinkMethod(), getCallOptions()), request); + } + + /** + */ + public com.google.common.util.concurrent.ListenableFuture getFiber(context.ContextOuterClass.FiberId request) { + return io.grpc.stub.ClientCalls.futureUnaryCall(getChannel().newCall(getGetFiberMethod(), getCallOptions()), request); + } } private static final int METHODID_LIST_CONTEXT_IDS = 0; @@ -2084,6 +2330,18 @@ public final class ContextServiceGrpc { private static final int METHODID_GET_CONNECTION_EVENTS = 48; + private static final int METHODID_GET_OPTICAL_CONFIG = 49; + + private static final int METHODID_SET_OPTICAL_CONFIG = 50; + + private static final int METHODID_SELECT_OPTICAL_CONFIG = 51; + + private static final int METHODID_SET_OPTICAL_LINK = 52; + + private static final int METHODID_GET_OPTICAL_LINK = 53; + + private static final int METHODID_GET_FIBER = 54; + private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, io.grpc.stub.ServerCalls.ServerStreamingMethod, io.grpc.stub.ServerCalls.ClientStreamingMethod, io.grpc.stub.ServerCalls.BidiStreamingMethod { private final AsyncService serviceImpl; @@ -2246,6 +2504,24 @@ public final class ContextServiceGrpc { case METHODID_GET_CONNECTION_EVENTS: serviceImpl.getConnectionEvents((context.ContextOuterClass.Empty) request, (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_GET_OPTICAL_CONFIG: + serviceImpl.getOpticalConfig((context.ContextOuterClass.Empty) request, (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_SET_OPTICAL_CONFIG: + serviceImpl.setOpticalConfig((context.ContextOuterClass.OpticalConfig) request, (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_SELECT_OPTICAL_CONFIG: + serviceImpl.selectOpticalConfig((context.ContextOuterClass.OpticalConfigId) request, (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_SET_OPTICAL_LINK: + serviceImpl.setOpticalLink((context.ContextOuterClass.OpticalLink) request, (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_GET_OPTICAL_LINK: + serviceImpl.getOpticalLink((context.ContextOuterClass.OpticalLinkId) request, (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_GET_FIBER: + serviceImpl.getFiber((context.ContextOuterClass.FiberId) request, (io.grpc.stub.StreamObserver) responseObserver); + break; default: throw new AssertionError(); } @@ -2262,7 +2538,7 @@ public final class ContextServiceGrpc { } public static io.grpc.ServerServiceDefinition bindService(AsyncService service) { - return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getListContextIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONTEXT_IDS))).addMethod(getListContextsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONTEXTS))).addMethod(getGetContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_CONTEXT))).addMethod(getSetContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_CONTEXT))).addMethod(getRemoveContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_CONTEXT))).addMethod(getGetContextEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_CONTEXT_EVENTS))).addMethod(getListTopologyIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_TOPOLOGY_IDS))).addMethod(getListTopologiesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_TOPOLOGIES))).addMethod(getGetTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY))).addMethod(getGetTopologyDetailsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY_DETAILS))).addMethod(getSetTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_TOPOLOGY))).addMethod(getRemoveTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_TOPOLOGY))).addMethod(getGetTopologyEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY_EVENTS))).addMethod(getListDeviceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_DEVICE_IDS))).addMethod(getListDevicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_DEVICES))).addMethod(getGetDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_DEVICE))).addMethod(getSetDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_DEVICE))).addMethod(getRemoveDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_DEVICE))).addMethod(getGetDeviceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_DEVICE_EVENTS))).addMethod(getSelectDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_DEVICE))).addMethod(getListEndPointNamesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_END_POINT_NAMES))).addMethod(getListLinkIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_LINK_IDS))).addMethod(getListLinksMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_LINKS))).addMethod(getGetLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_LINK))).addMethod(getSetLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_LINK))).addMethod(getRemoveLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_LINK))).addMethod(getGetLinkEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_LINK_EVENTS))).addMethod(getListServiceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SERVICE_IDS))).addMethod(getListServicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SERVICES))).addMethod(getGetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_SERVICE))).addMethod(getSetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_SERVICE))).addMethod(getUnsetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_UNSET_SERVICE))).addMethod(getRemoveServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_SERVICE))).addMethod(getGetServiceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_SERVICE_EVENTS))).addMethod(getSelectServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_SERVICE))).addMethod(getListSliceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SLICE_IDS))).addMethod(getListSlicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SLICES))).addMethod(getGetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_SLICE))).addMethod(getSetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_SLICE))).addMethod(getUnsetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_UNSET_SLICE))).addMethod(getRemoveSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_SLICE))).addMethod(getGetSliceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_SLICE_EVENTS))).addMethod(getSelectSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_SLICE))).addMethod(getListConnectionIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONNECTION_IDS))).addMethod(getListConnectionsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONNECTIONS))).addMethod(getGetConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_CONNECTION))).addMethod(getSetConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_CONNECTION))).addMethod(getRemoveConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_CONNECTION))).addMethod(getGetConnectionEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_CONNECTION_EVENTS))).build(); + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getListContextIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONTEXT_IDS))).addMethod(getListContextsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONTEXTS))).addMethod(getGetContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_CONTEXT))).addMethod(getSetContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_CONTEXT))).addMethod(getRemoveContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_CONTEXT))).addMethod(getGetContextEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_CONTEXT_EVENTS))).addMethod(getListTopologyIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_TOPOLOGY_IDS))).addMethod(getListTopologiesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_TOPOLOGIES))).addMethod(getGetTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY))).addMethod(getGetTopologyDetailsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY_DETAILS))).addMethod(getSetTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_TOPOLOGY))).addMethod(getRemoveTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_TOPOLOGY))).addMethod(getGetTopologyEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY_EVENTS))).addMethod(getListDeviceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_DEVICE_IDS))).addMethod(getListDevicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_DEVICES))).addMethod(getGetDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_DEVICE))).addMethod(getSetDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_DEVICE))).addMethod(getRemoveDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_DEVICE))).addMethod(getGetDeviceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_DEVICE_EVENTS))).addMethod(getSelectDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_DEVICE))).addMethod(getListEndPointNamesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_END_POINT_NAMES))).addMethod(getListLinkIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_LINK_IDS))).addMethod(getListLinksMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_LINKS))).addMethod(getGetLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_LINK))).addMethod(getSetLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_LINK))).addMethod(getRemoveLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_LINK))).addMethod(getGetLinkEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_LINK_EVENTS))).addMethod(getListServiceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SERVICE_IDS))).addMethod(getListServicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SERVICES))).addMethod(getGetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_SERVICE))).addMethod(getSetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_SERVICE))).addMethod(getUnsetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_UNSET_SERVICE))).addMethod(getRemoveServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_SERVICE))).addMethod(getGetServiceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_SERVICE_EVENTS))).addMethod(getSelectServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_SERVICE))).addMethod(getListSliceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SLICE_IDS))).addMethod(getListSlicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SLICES))).addMethod(getGetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_SLICE))).addMethod(getSetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_SLICE))).addMethod(getUnsetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_UNSET_SLICE))).addMethod(getRemoveSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_SLICE))).addMethod(getGetSliceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_SLICE_EVENTS))).addMethod(getSelectSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_SLICE))).addMethod(getListConnectionIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONNECTION_IDS))).addMethod(getListConnectionsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONNECTIONS))).addMethod(getGetConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_CONNECTION))).addMethod(getSetConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_CONNECTION))).addMethod(getRemoveConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_CONNECTION))).addMethod(getGetConnectionEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_CONNECTION_EVENTS))).addMethod(getGetOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_OPTICAL_CONFIG))).addMethod(getSetOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_OPTICAL_CONFIG))).addMethod(getSelectOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_OPTICAL_CONFIG))).addMethod(getSetOpticalLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_OPTICAL_LINK))).addMethod(getGetOpticalLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_OPTICAL_LINK))).addMethod(getGetFiberMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_FIBER))).build(); } private static abstract class ContextServiceBaseDescriptorSupplier implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier { @@ -2309,7 +2585,7 @@ public final class ContextServiceGrpc { synchronized (ContextServiceGrpc.class) { result = serviceDescriptor; if (result == null) { - serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME).setSchemaDescriptor(new ContextServiceFileDescriptorSupplier()).addMethod(getListContextIdsMethod()).addMethod(getListContextsMethod()).addMethod(getGetContextMethod()).addMethod(getSetContextMethod()).addMethod(getRemoveContextMethod()).addMethod(getGetContextEventsMethod()).addMethod(getListTopologyIdsMethod()).addMethod(getListTopologiesMethod()).addMethod(getGetTopologyMethod()).addMethod(getGetTopologyDetailsMethod()).addMethod(getSetTopologyMethod()).addMethod(getRemoveTopologyMethod()).addMethod(getGetTopologyEventsMethod()).addMethod(getListDeviceIdsMethod()).addMethod(getListDevicesMethod()).addMethod(getGetDeviceMethod()).addMethod(getSetDeviceMethod()).addMethod(getRemoveDeviceMethod()).addMethod(getGetDeviceEventsMethod()).addMethod(getSelectDeviceMethod()).addMethod(getListEndPointNamesMethod()).addMethod(getListLinkIdsMethod()).addMethod(getListLinksMethod()).addMethod(getGetLinkMethod()).addMethod(getSetLinkMethod()).addMethod(getRemoveLinkMethod()).addMethod(getGetLinkEventsMethod()).addMethod(getListServiceIdsMethod()).addMethod(getListServicesMethod()).addMethod(getGetServiceMethod()).addMethod(getSetServiceMethod()).addMethod(getUnsetServiceMethod()).addMethod(getRemoveServiceMethod()).addMethod(getGetServiceEventsMethod()).addMethod(getSelectServiceMethod()).addMethod(getListSliceIdsMethod()).addMethod(getListSlicesMethod()).addMethod(getGetSliceMethod()).addMethod(getSetSliceMethod()).addMethod(getUnsetSliceMethod()).addMethod(getRemoveSliceMethod()).addMethod(getGetSliceEventsMethod()).addMethod(getSelectSliceMethod()).addMethod(getListConnectionIdsMethod()).addMethod(getListConnectionsMethod()).addMethod(getGetConnectionMethod()).addMethod(getSetConnectionMethod()).addMethod(getRemoveConnectionMethod()).addMethod(getGetConnectionEventsMethod()).build(); + serviceDescriptor = result = io.grpc.ServiceDescriptor.newBuilder(SERVICE_NAME).setSchemaDescriptor(new ContextServiceFileDescriptorSupplier()).addMethod(getListContextIdsMethod()).addMethod(getListContextsMethod()).addMethod(getGetContextMethod()).addMethod(getSetContextMethod()).addMethod(getRemoveContextMethod()).addMethod(getGetContextEventsMethod()).addMethod(getListTopologyIdsMethod()).addMethod(getListTopologiesMethod()).addMethod(getGetTopologyMethod()).addMethod(getGetTopologyDetailsMethod()).addMethod(getSetTopologyMethod()).addMethod(getRemoveTopologyMethod()).addMethod(getGetTopologyEventsMethod()).addMethod(getListDeviceIdsMethod()).addMethod(getListDevicesMethod()).addMethod(getGetDeviceMethod()).addMethod(getSetDeviceMethod()).addMethod(getRemoveDeviceMethod()).addMethod(getGetDeviceEventsMethod()).addMethod(getSelectDeviceMethod()).addMethod(getListEndPointNamesMethod()).addMethod(getListLinkIdsMethod()).addMethod(getListLinksMethod()).addMethod(getGetLinkMethod()).addMethod(getSetLinkMethod()).addMethod(getRemoveLinkMethod()).addMethod(getGetLinkEventsMethod()).addMethod(getListServiceIdsMethod()).addMethod(getListServicesMethod()).addMethod(getGetServiceMethod()).addMethod(getSetServiceMethod()).addMethod(getUnsetServiceMethod()).addMethod(getRemoveServiceMethod()).addMethod(getGetServiceEventsMethod()).addMethod(getSelectServiceMethod()).addMethod(getListSliceIdsMethod()).addMethod(getListSlicesMethod()).addMethod(getGetSliceMethod()).addMethod(getSetSliceMethod()).addMethod(getUnsetSliceMethod()).addMethod(getRemoveSliceMethod()).addMethod(getGetSliceEventsMethod()).addMethod(getSelectSliceMethod()).addMethod(getListConnectionIdsMethod()).addMethod(getListConnectionsMethod()).addMethod(getGetConnectionMethod()).addMethod(getSetConnectionMethod()).addMethod(getRemoveConnectionMethod()).addMethod(getGetConnectionEventsMethod()).addMethod(getGetOpticalConfigMethod()).addMethod(getSetOpticalConfigMethod()).addMethod(getSelectOpticalConfigMethod()).addMethod(getSetOpticalLinkMethod()).addMethod(getGetOpticalLinkMethod()).addMethod(getGetFiberMethod()).build(); } } } diff --git a/src/policy/target/generated-sources/grpc/context/MutinyContextServiceGrpc.java b/src/policy/target/generated-sources/grpc/context/MutinyContextServiceGrpc.java index 247bf18ae..c6dbb1e92 100644 --- a/src/policy/target/generated-sources/grpc/context/MutinyContextServiceGrpc.java +++ b/src/policy/target/generated-sources/grpc/context/MutinyContextServiceGrpc.java @@ -203,6 +203,35 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.MutinyGrp return io.quarkus.grpc.stubs.ClientCalls.oneToOne(request, delegateStub::removeConnection); } + /** + *
+         *  ------------------------------ Experimental -----------------------------
+         * 
+ */ + public io.smallrye.mutiny.Uni getOpticalConfig(context.ContextOuterClass.Empty request) { + return io.quarkus.grpc.stubs.ClientCalls.oneToOne(request, delegateStub::getOpticalConfig); + } + + public io.smallrye.mutiny.Uni setOpticalConfig(context.ContextOuterClass.OpticalConfig request) { + return io.quarkus.grpc.stubs.ClientCalls.oneToOne(request, delegateStub::setOpticalConfig); + } + + public io.smallrye.mutiny.Uni selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request) { + return io.quarkus.grpc.stubs.ClientCalls.oneToOne(request, delegateStub::selectOpticalConfig); + } + + public io.smallrye.mutiny.Uni setOpticalLink(context.ContextOuterClass.OpticalLink request) { + return io.quarkus.grpc.stubs.ClientCalls.oneToOne(request, delegateStub::setOpticalLink); + } + + public io.smallrye.mutiny.Uni getOpticalLink(context.ContextOuterClass.OpticalLinkId request) { + return io.quarkus.grpc.stubs.ClientCalls.oneToOne(request, delegateStub::getOpticalLink); + } + + public io.smallrye.mutiny.Uni getFiber(context.ContextOuterClass.FiberId request) { + return io.quarkus.grpc.stubs.ClientCalls.oneToOne(request, delegateStub::getFiber); + } + public io.smallrye.mutiny.Multi getContextEvents(context.ContextOuterClass.Empty request) { return io.quarkus.grpc.stubs.ClientCalls.oneToMany(request, delegateStub::getContextEvents); } @@ -414,6 +443,35 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.MutinyGrp throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); } + /** + *
+         *  ------------------------------ Experimental -----------------------------
+         * 
+ */ + public io.smallrye.mutiny.Uni getOpticalConfig(context.ContextOuterClass.Empty request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + public io.smallrye.mutiny.Uni setOpticalConfig(context.ContextOuterClass.OpticalConfig request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + public io.smallrye.mutiny.Uni selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + public io.smallrye.mutiny.Uni setOpticalLink(context.ContextOuterClass.OpticalLink request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + public io.smallrye.mutiny.Uni getOpticalLink(context.ContextOuterClass.OpticalLinkId request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + + public io.smallrye.mutiny.Uni getFiber(context.ContextOuterClass.FiberId request) { + throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); + } + public io.smallrye.mutiny.Multi getContextEvents(context.ContextOuterClass.Empty request) { throw new io.grpc.StatusRuntimeException(io.grpc.Status.UNIMPLEMENTED); } @@ -444,7 +502,7 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.MutinyGrp @java.lang.Override public io.grpc.ServerServiceDefinition bindService() { - return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(context.ContextServiceGrpc.getListContextIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONTEXT_IDS, compression))).addMethod(context.ContextServiceGrpc.getListContextsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONTEXTS, compression))).addMethod(context.ContextServiceGrpc.getGetContextMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_CONTEXT, compression))).addMethod(context.ContextServiceGrpc.getSetContextMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_CONTEXT, compression))).addMethod(context.ContextServiceGrpc.getRemoveContextMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_CONTEXT, compression))).addMethod(context.ContextServiceGrpc.getGetContextEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_CONTEXT_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getListTopologyIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_TOPOLOGY_IDS, compression))).addMethod(context.ContextServiceGrpc.getListTopologiesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_TOPOLOGIES, compression))).addMethod(context.ContextServiceGrpc.getGetTopologyMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY, compression))).addMethod(context.ContextServiceGrpc.getGetTopologyDetailsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY_DETAILS, compression))).addMethod(context.ContextServiceGrpc.getSetTopologyMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_TOPOLOGY, compression))).addMethod(context.ContextServiceGrpc.getRemoveTopologyMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_TOPOLOGY, compression))).addMethod(context.ContextServiceGrpc.getGetTopologyEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getListDeviceIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_DEVICE_IDS, compression))).addMethod(context.ContextServiceGrpc.getListDevicesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_DEVICES, compression))).addMethod(context.ContextServiceGrpc.getGetDeviceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_DEVICE, compression))).addMethod(context.ContextServiceGrpc.getSetDeviceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_DEVICE, compression))).addMethod(context.ContextServiceGrpc.getRemoveDeviceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_DEVICE, compression))).addMethod(context.ContextServiceGrpc.getGetDeviceEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_DEVICE_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getSelectDeviceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_DEVICE, compression))).addMethod(context.ContextServiceGrpc.getListEndPointNamesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_END_POINT_NAMES, compression))).addMethod(context.ContextServiceGrpc.getListLinkIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_LINK_IDS, compression))).addMethod(context.ContextServiceGrpc.getListLinksMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_LINKS, compression))).addMethod(context.ContextServiceGrpc.getGetLinkMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_LINK, compression))).addMethod(context.ContextServiceGrpc.getSetLinkMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_LINK, compression))).addMethod(context.ContextServiceGrpc.getRemoveLinkMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_LINK, compression))).addMethod(context.ContextServiceGrpc.getGetLinkEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_LINK_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getListServiceIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SERVICE_IDS, compression))).addMethod(context.ContextServiceGrpc.getListServicesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SERVICES, compression))).addMethod(context.ContextServiceGrpc.getGetServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getSetServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getUnsetServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_UNSET_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getRemoveServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getGetServiceEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_SERVICE_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getSelectServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getListSliceIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SLICE_IDS, compression))).addMethod(context.ContextServiceGrpc.getListSlicesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SLICES, compression))).addMethod(context.ContextServiceGrpc.getGetSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_SLICE, compression))).addMethod(context.ContextServiceGrpc.getSetSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_SLICE, compression))).addMethod(context.ContextServiceGrpc.getUnsetSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_UNSET_SLICE, compression))).addMethod(context.ContextServiceGrpc.getRemoveSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_SLICE, compression))).addMethod(context.ContextServiceGrpc.getGetSliceEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_SLICE_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getSelectSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_SLICE, compression))).addMethod(context.ContextServiceGrpc.getListConnectionIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONNECTION_IDS, compression))).addMethod(context.ContextServiceGrpc.getListConnectionsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONNECTIONS, compression))).addMethod(context.ContextServiceGrpc.getGetConnectionMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_CONNECTION, compression))).addMethod(context.ContextServiceGrpc.getSetConnectionMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_CONNECTION, compression))).addMethod(context.ContextServiceGrpc.getRemoveConnectionMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_CONNECTION, compression))).addMethod(context.ContextServiceGrpc.getGetConnectionEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_CONNECTION_EVENTS, compression))).build(); + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(context.ContextServiceGrpc.getListContextIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONTEXT_IDS, compression))).addMethod(context.ContextServiceGrpc.getListContextsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONTEXTS, compression))).addMethod(context.ContextServiceGrpc.getGetContextMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_CONTEXT, compression))).addMethod(context.ContextServiceGrpc.getSetContextMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_CONTEXT, compression))).addMethod(context.ContextServiceGrpc.getRemoveContextMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_CONTEXT, compression))).addMethod(context.ContextServiceGrpc.getGetContextEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_CONTEXT_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getListTopologyIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_TOPOLOGY_IDS, compression))).addMethod(context.ContextServiceGrpc.getListTopologiesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_TOPOLOGIES, compression))).addMethod(context.ContextServiceGrpc.getGetTopologyMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY, compression))).addMethod(context.ContextServiceGrpc.getGetTopologyDetailsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY_DETAILS, compression))).addMethod(context.ContextServiceGrpc.getSetTopologyMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_TOPOLOGY, compression))).addMethod(context.ContextServiceGrpc.getRemoveTopologyMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_TOPOLOGY, compression))).addMethod(context.ContextServiceGrpc.getGetTopologyEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getListDeviceIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_DEVICE_IDS, compression))).addMethod(context.ContextServiceGrpc.getListDevicesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_DEVICES, compression))).addMethod(context.ContextServiceGrpc.getGetDeviceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_DEVICE, compression))).addMethod(context.ContextServiceGrpc.getSetDeviceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_DEVICE, compression))).addMethod(context.ContextServiceGrpc.getRemoveDeviceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_DEVICE, compression))).addMethod(context.ContextServiceGrpc.getGetDeviceEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_DEVICE_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getSelectDeviceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_DEVICE, compression))).addMethod(context.ContextServiceGrpc.getListEndPointNamesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_END_POINT_NAMES, compression))).addMethod(context.ContextServiceGrpc.getListLinkIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_LINK_IDS, compression))).addMethod(context.ContextServiceGrpc.getListLinksMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_LINKS, compression))).addMethod(context.ContextServiceGrpc.getGetLinkMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_LINK, compression))).addMethod(context.ContextServiceGrpc.getSetLinkMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_LINK, compression))).addMethod(context.ContextServiceGrpc.getRemoveLinkMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_LINK, compression))).addMethod(context.ContextServiceGrpc.getGetLinkEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_LINK_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getListServiceIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SERVICE_IDS, compression))).addMethod(context.ContextServiceGrpc.getListServicesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SERVICES, compression))).addMethod(context.ContextServiceGrpc.getGetServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getSetServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getUnsetServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_UNSET_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getRemoveServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getGetServiceEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_SERVICE_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getSelectServiceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_SERVICE, compression))).addMethod(context.ContextServiceGrpc.getListSliceIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SLICE_IDS, compression))).addMethod(context.ContextServiceGrpc.getListSlicesMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SLICES, compression))).addMethod(context.ContextServiceGrpc.getGetSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_SLICE, compression))).addMethod(context.ContextServiceGrpc.getSetSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_SLICE, compression))).addMethod(context.ContextServiceGrpc.getUnsetSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_UNSET_SLICE, compression))).addMethod(context.ContextServiceGrpc.getRemoveSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_SLICE, compression))).addMethod(context.ContextServiceGrpc.getGetSliceEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_SLICE_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getSelectSliceMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_SLICE, compression))).addMethod(context.ContextServiceGrpc.getListConnectionIdsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONNECTION_IDS, compression))).addMethod(context.ContextServiceGrpc.getListConnectionsMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONNECTIONS, compression))).addMethod(context.ContextServiceGrpc.getGetConnectionMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_CONNECTION, compression))).addMethod(context.ContextServiceGrpc.getSetConnectionMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_CONNECTION, compression))).addMethod(context.ContextServiceGrpc.getRemoveConnectionMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_CONNECTION, compression))).addMethod(context.ContextServiceGrpc.getGetConnectionEventsMethod(), asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_CONNECTION_EVENTS, compression))).addMethod(context.ContextServiceGrpc.getGetOpticalConfigMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_OPTICAL_CONFIG, compression))).addMethod(context.ContextServiceGrpc.getSetOpticalConfigMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_OPTICAL_CONFIG, compression))).addMethod(context.ContextServiceGrpc.getSelectOpticalConfigMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_OPTICAL_CONFIG, compression))).addMethod(context.ContextServiceGrpc.getSetOpticalLinkMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_SET_OPTICAL_LINK, compression))).addMethod(context.ContextServiceGrpc.getGetOpticalLinkMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_OPTICAL_LINK, compression))).addMethod(context.ContextServiceGrpc.getGetFiberMethod(), asyncUnaryCall(new MethodHandlers(this, METHODID_GET_FIBER, compression))).build(); } } @@ -546,6 +604,18 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.MutinyGrp private static final int METHODID_GET_CONNECTION_EVENTS = 48; + private static final int METHODID_GET_OPTICAL_CONFIG = 49; + + private static final int METHODID_SET_OPTICAL_CONFIG = 50; + + private static final int METHODID_SELECT_OPTICAL_CONFIG = 51; + + private static final int METHODID_SET_OPTICAL_LINK = 52; + + private static final int METHODID_GET_OPTICAL_LINK = 53; + + private static final int METHODID_GET_FIBER = 54; + private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, io.grpc.stub.ServerCalls.ServerStreamingMethod, io.grpc.stub.ServerCalls.ClientStreamingMethod, io.grpc.stub.ServerCalls.BidiStreamingMethod { private final ContextServiceImplBase serviceImpl; @@ -711,6 +781,24 @@ public final class MutinyContextServiceGrpc implements io.quarkus.grpc.MutinyGrp case METHODID_GET_CONNECTION_EVENTS: io.quarkus.grpc.stubs.ServerCalls.oneToMany((context.ContextOuterClass.Empty) request, (io.grpc.stub.StreamObserver) responseObserver, compression, serviceImpl::getConnectionEvents); break; + case METHODID_GET_OPTICAL_CONFIG: + io.quarkus.grpc.stubs.ServerCalls.oneToOne((context.ContextOuterClass.Empty) request, (io.grpc.stub.StreamObserver) responseObserver, compression, serviceImpl::getOpticalConfig); + break; + case METHODID_SET_OPTICAL_CONFIG: + io.quarkus.grpc.stubs.ServerCalls.oneToOne((context.ContextOuterClass.OpticalConfig) request, (io.grpc.stub.StreamObserver) responseObserver, compression, serviceImpl::setOpticalConfig); + break; + case METHODID_SELECT_OPTICAL_CONFIG: + io.quarkus.grpc.stubs.ServerCalls.oneToOne((context.ContextOuterClass.OpticalConfigId) request, (io.grpc.stub.StreamObserver) responseObserver, compression, serviceImpl::selectOpticalConfig); + break; + case METHODID_SET_OPTICAL_LINK: + io.quarkus.grpc.stubs.ServerCalls.oneToOne((context.ContextOuterClass.OpticalLink) request, (io.grpc.stub.StreamObserver) responseObserver, compression, serviceImpl::setOpticalLink); + break; + case METHODID_GET_OPTICAL_LINK: + io.quarkus.grpc.stubs.ServerCalls.oneToOne((context.ContextOuterClass.OpticalLinkId) request, (io.grpc.stub.StreamObserver) responseObserver, compression, serviceImpl::getOpticalLink); + break; + case METHODID_GET_FIBER: + io.quarkus.grpc.stubs.ServerCalls.oneToOne((context.ContextOuterClass.FiberId) request, (io.grpc.stub.StreamObserver) responseObserver, compression, serviceImpl::getFiber); + break; default: throw new java.lang.AssertionError(); } diff --git a/src/policy/target/kubernetes/kubernetes.yml b/src/policy/target/kubernetes/kubernetes.yml index a07d73c02..f19344627 100644 --- a/src/policy/target/kubernetes/kubernetes.yml +++ b/src/policy/target/kubernetes/kubernetes.yml @@ -3,8 +3,8 @@ apiVersion: v1 kind: Service metadata: annotations: - app.quarkus.io/commit-id: 957f904f8ab4154aff01a7bfb3c7dcdecd53259a - app.quarkus.io/build-timestamp: 2024-03-29 - 11:30:06 +0000 + app.quarkus.io/commit-id: 5979d9847bc4313fb93ef1e50de27685d526cd7b + app.quarkus.io/build-timestamp: 2024-04-04 - 14:47:27 +0000 prometheus.io/scrape: "true" prometheus.io/path: /q/metrics prometheus.io/port: "8080" @@ -37,8 +37,8 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - app.quarkus.io/commit-id: 957f904f8ab4154aff01a7bfb3c7dcdecd53259a - app.quarkus.io/build-timestamp: 2024-03-29 - 11:30:06 +0000 + app.quarkus.io/commit-id: 5979d9847bc4313fb93ef1e50de27685d526cd7b + app.quarkus.io/build-timestamp: 2024-04-04 - 14:47:27 +0000 prometheus.io/scrape: "true" prometheus.io/path: /q/metrics prometheus.io/port: "8080" @@ -46,8 +46,8 @@ metadata: labels: app: policyservice app.kubernetes.io/managed-by: quarkus - app.kubernetes.io/name: policyservice app.kubernetes.io/version: 0.1.0 + app.kubernetes.io/name: policyservice name: policyservice spec: replicas: 1 @@ -57,8 +57,8 @@ spec: template: metadata: annotations: - app.quarkus.io/commit-id: 957f904f8ab4154aff01a7bfb3c7dcdecd53259a - app.quarkus.io/build-timestamp: 2024-03-29 - 11:30:06 +0000 + app.quarkus.io/commit-id: 5979d9847bc4313fb93ef1e50de27685d526cd7b + app.quarkus.io/build-timestamp: 2024-04-04 - 14:47:27 +0000 prometheus.io/scrape: "true" prometheus.io/path: /q/metrics prometheus.io/port: "8080" @@ -66,8 +66,8 @@ spec: labels: app: policyservice app.kubernetes.io/managed-by: quarkus - app.kubernetes.io/name: policyservice app.kubernetes.io/version: 0.1.0 + app.kubernetes.io/name: policyservice spec: containers: - env: @@ -75,12 +75,12 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - - name: CONTEXT_SERVICE_HOST - value: contextservice - - name: MONITORING_SERVICE_HOST - value: monitoringservice - name: SERVICE_SERVICE_HOST value: serviceservice + - name: MONITORING_SERVICE_HOST + value: monitoringservice + - name: CONTEXT_SERVICE_HOST + value: contextservice image: labs.etsi.org:5050/tfs/controller/policy:0.1.0 imagePullPolicy: Always livenessProbe: -- GitLab From 2a5918013d10ce4590373805835b47414a66ea4e Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 5 Apr 2024 09:54:13 +0000 Subject: [PATCH 093/156] OFC'24 test: - Reorganized descriptor files - Reorganized node agent config files - Reorganized old node agent deploy scripts - Updated node agents deploy scripts --- src/tests/ofc24/_old/README.md | 21 +++++++++ .../{ => _old}/startExtraNetConfigAgent.sh | 0 src/tests/ofc24/{ => _old}/start_topo.sh | 0 src/tests/ofc24/deploy-node-agents.sh | 46 ++++++++----------- .../{ => descriptors}/7.service-bidir.json | 0 .../{ => descriptors}/7.service-unidir.json | 0 .../descriptors_topology.json | 0 .../{ => descriptors/old}/1.context.json | 0 .../{ => descriptors/old}/2.device1.json | 0 .../{ => descriptors/old}/3.device2.json | 0 .../{ => descriptors/old}/4.device3_R1.json | 0 .../{ => descriptors/old}/5.device4_R2.json | 0 .../ofc24/{ => descriptors/old}/6.links.json | 0 src/tests/ofc24/destroy-node-agents.sh | 22 +++++++++ .../platform_r1.xml | 0 .../platform_r2.xml | 0 .../platform_t1.xml | 0 .../platform_t2.xml | 0 .../startNetconfAgent-mg-on.sh | 15 ++++++ .../startNetconfAgent-tp.sh | 17 +++++++ .../ofc24/tempOC/files/startNetconfAgent.sh | 7 --- 21 files changed, 94 insertions(+), 34 deletions(-) create mode 100644 src/tests/ofc24/_old/README.md rename src/tests/ofc24/{ => _old}/startExtraNetConfigAgent.sh (100%) rename src/tests/ofc24/{ => _old}/start_topo.sh (100%) rename src/tests/ofc24/{ => descriptors}/7.service-bidir.json (100%) rename src/tests/ofc24/{ => descriptors}/7.service-unidir.json (100%) rename src/tests/ofc24/{ => descriptors}/descriptors_topology.json (100%) rename src/tests/ofc24/{ => descriptors/old}/1.context.json (100%) rename src/tests/ofc24/{ => descriptors/old}/2.device1.json (100%) rename src/tests/ofc24/{ => descriptors/old}/3.device2.json (100%) rename src/tests/ofc24/{ => descriptors/old}/4.device3_R1.json (100%) rename src/tests/ofc24/{ => descriptors/old}/5.device4_R2.json (100%) rename src/tests/ofc24/{ => descriptors/old}/6.links.json (100%) create mode 100755 src/tests/ofc24/destroy-node-agents.sh rename src/tests/ofc24/{tempOC/files => node-agents-config}/platform_r1.xml (100%) rename src/tests/ofc24/{tempOC/files => node-agents-config}/platform_r2.xml (100%) rename src/tests/ofc24/{tempOC/files => node-agents-config}/platform_t1.xml (100%) rename src/tests/ofc24/{tempOC/files => node-agents-config}/platform_t2.xml (100%) create mode 100755 src/tests/ofc24/node-agents-config/startNetconfAgent-mg-on.sh create mode 100755 src/tests/ofc24/node-agents-config/startNetconfAgent-tp.sh delete mode 100644 src/tests/ofc24/tempOC/files/startNetconfAgent.sh diff --git a/src/tests/ofc24/_old/README.md b/src/tests/ofc24/_old/README.md new file mode 100644 index 000000000..93e95fc64 --- /dev/null +++ b/src/tests/ofc24/_old/README.md @@ -0,0 +1,21 @@ +# OFC'24 - Test scenario + +## Start Topology +Topology is composed of 2 transponders managed through OpenConfig and 2 Multi-granular ROAMDS +Strat the topology executing the following command: +```bash +sudo ./start_topo.sh +``` + +## Populate the TFS context and topology +Pushing the JSON files following the file indexes, i.e, 1, 2, 3, ... +The last JSON file with ID 7 is the service. +To check the service is onboarded successfully go into the TFS WebUI and check the `Service` tab. + +## Check configuration in devices +Check if the devices are configured properly. +To check that, run, for each device (X={1, 2, 3, 4}): +```bash +screen -r tX +``` +To release the terminal, press `Ctrl + A + D` diff --git a/src/tests/ofc24/startExtraNetConfigAgent.sh b/src/tests/ofc24/_old/startExtraNetConfigAgent.sh similarity index 100% rename from src/tests/ofc24/startExtraNetConfigAgent.sh rename to src/tests/ofc24/_old/startExtraNetConfigAgent.sh diff --git a/src/tests/ofc24/start_topo.sh b/src/tests/ofc24/_old/start_topo.sh similarity index 100% rename from src/tests/ofc24/start_topo.sh rename to src/tests/ofc24/_old/start_topo.sh diff --git a/src/tests/ofc24/deploy-node-agents.sh b/src/tests/ofc24/deploy-node-agents.sh index d0d32e079..1c1e45526 100755 --- a/src/tests/ofc24/deploy-node-agents.sh +++ b/src/tests/ofc24/deploy-node-agents.sh @@ -17,8 +17,8 @@ TEST_NAME="ofc24" echo -echo "Pre-deploy clean-up:" -echo "--------------------" +echo "Clean-up:" +echo "---------" docker rm -f na-t1 na-t2 na-r1 na-r2 docker network rm na-br @@ -34,35 +34,33 @@ echo echo "Create Management Network and Node Agents:" echo "------------------------------------------" docker network create -d bridge --subnet=172.254.253.0/24 --gateway=172.254.253.254 --ip-range=172.254.253.0/24 na-br -docker run -d --name na-t1 --network=na-br --ip 172.254.253.1 \ - --volume "$PWD/src/tests/${TEST_NAME}/tempOC/files/platform_t1.xml:/confd/examples.confd/OC23/demoECOC21.xml" \ +docker run -dit --init --name na-t1 --network=na-br --ip 172.254.253.101 \ + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/startNetconfAgent-tp.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/platform_t1.xml:/confd/examples.confd/OC23/platform.xml" \ asgamb1/oc23bgp.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh - #--volume "$PWD/src/tests/${TEST_NAME}/tempOC/files/startNetconfAgent.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ -docker run -d --name na-t2 --network=na-br --ip 172.254.253.2 \ - --volume "$PWD/src/tests/${TEST_NAME}/tempOC/files/platform_t2.xml:/confd/examples.confd/OC23/demoECOC21.xml" \ +docker run -dit --init --name na-t2 --network=na-br --ip 172.254.253.102 \ + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/startNetconfAgent-tp.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/platform_t2.xml:/confd/examples.confd/OC23/platform.xml" \ asgamb1/oc23bgp.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh - #--volume "$PWD/src/tests/${TEST_NAME}/tempOC/files/startNetconfAgent.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ -docker run -d --name na-r1 --network=na-br --ip 172.254.253.101 \ - --volume "$PWD/src/tests/${TEST_NAME}/tempOC/files/platform_r1.xml:/confd/examples.confd/OC23/init_openconfig-platform.xml" \ +docker run -dit --init --name na-r1 --network=na-br --ip 172.254.253.201 \ + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/startNetconfAgent-mg-on.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/platform_r1.xml:/confd/examples.confd/OC23/platform.xml" \ asgamb1/flexscale-node.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh - #--volume "$PWD/src/tests/${TEST_NAME}/tempOC/files/startNetconfAgent.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ -docker run -d --name na-r2 --network=na-br --ip 172.254.253.102 \ - --volume "$PWD/src/tests/${TEST_NAME}/tempOC/files/platform_r2.xml:/confd/examples.confd/OC23/init_openconfig-platform.xml" \ +docker run -dit --init --name na-r2 --network=na-br --ip 172.254.253.202 \ + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/startNetconfAgent-mg-on.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/platform_r2.xml:/confd/examples.confd/OC23/platform.xml" \ asgamb1/flexscale-node.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh - #--volume "$PWD/src/tests/${TEST_NAME}/tempOC/files/startNetconfAgent.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ echo echo "Waiting for initialization..." echo "-----------------------------" docker ps -a -sleep 5 -docker ps -a while ! docker logs na-t1 2>&1 | grep -q '*** ConfD OpenConfig NETCONF agent ***'; do sleep 1; done while ! docker logs na-t2 2>&1 | grep -q '*** ConfD OpenConfig NETCONF agent ***'; do sleep 1; done while ! docker logs na-r1 2>&1 | grep -q '*** ConfD OpenConfig NETCONF agent ***'; do sleep 1; done while ! docker logs na-r2 2>&1 | grep -q '*** ConfD OpenConfig NETCONF agent ***'; do sleep 1; done -sleep 2 +sleep 3 docker ps -a @@ -70,16 +68,10 @@ echo echo "Dump Node Agent status:" echo "-----------------------" docker ps -a -#docker logs na-t1 -#docker logs na-t2 -#docker logs na-r1 -#docker logs na-r2 - +docker logs na-t1 +docker logs na-t2 +docker logs na-r1 +docker logs na-r2 -#echo -#echo "Post-test clean-up:" -#echo "-------------------" -#docker rm -f na-t1 na-t2 na-r1 na-r2 -#docker network rm na-br echo "Done!" diff --git a/src/tests/ofc24/7.service-bidir.json b/src/tests/ofc24/descriptors/7.service-bidir.json similarity index 100% rename from src/tests/ofc24/7.service-bidir.json rename to src/tests/ofc24/descriptors/7.service-bidir.json diff --git a/src/tests/ofc24/7.service-unidir.json b/src/tests/ofc24/descriptors/7.service-unidir.json similarity index 100% rename from src/tests/ofc24/7.service-unidir.json rename to src/tests/ofc24/descriptors/7.service-unidir.json diff --git a/src/tests/ofc24/descriptors_topology.json b/src/tests/ofc24/descriptors/descriptors_topology.json similarity index 100% rename from src/tests/ofc24/descriptors_topology.json rename to src/tests/ofc24/descriptors/descriptors_topology.json diff --git a/src/tests/ofc24/1.context.json b/src/tests/ofc24/descriptors/old/1.context.json similarity index 100% rename from src/tests/ofc24/1.context.json rename to src/tests/ofc24/descriptors/old/1.context.json diff --git a/src/tests/ofc24/2.device1.json b/src/tests/ofc24/descriptors/old/2.device1.json similarity index 100% rename from src/tests/ofc24/2.device1.json rename to src/tests/ofc24/descriptors/old/2.device1.json diff --git a/src/tests/ofc24/3.device2.json b/src/tests/ofc24/descriptors/old/3.device2.json similarity index 100% rename from src/tests/ofc24/3.device2.json rename to src/tests/ofc24/descriptors/old/3.device2.json diff --git a/src/tests/ofc24/4.device3_R1.json b/src/tests/ofc24/descriptors/old/4.device3_R1.json similarity index 100% rename from src/tests/ofc24/4.device3_R1.json rename to src/tests/ofc24/descriptors/old/4.device3_R1.json diff --git a/src/tests/ofc24/5.device4_R2.json b/src/tests/ofc24/descriptors/old/5.device4_R2.json similarity index 100% rename from src/tests/ofc24/5.device4_R2.json rename to src/tests/ofc24/descriptors/old/5.device4_R2.json diff --git a/src/tests/ofc24/6.links.json b/src/tests/ofc24/descriptors/old/6.links.json similarity index 100% rename from src/tests/ofc24/6.links.json rename to src/tests/ofc24/descriptors/old/6.links.json diff --git a/src/tests/ofc24/destroy-node-agents.sh b/src/tests/ofc24/destroy-node-agents.sh new file mode 100755 index 000000000..19e7fc9a9 --- /dev/null +++ b/src/tests/ofc24/destroy-node-agents.sh @@ -0,0 +1,22 @@ +#!/bin/bash +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +echo +echo "Clean-up:" +echo "---------" +docker rm -f na-t1 na-t2 na-r1 na-r2 +docker network rm na-br + +echo "Done!" diff --git a/src/tests/ofc24/tempOC/files/platform_r1.xml b/src/tests/ofc24/node-agents-config/platform_r1.xml similarity index 100% rename from src/tests/ofc24/tempOC/files/platform_r1.xml rename to src/tests/ofc24/node-agents-config/platform_r1.xml diff --git a/src/tests/ofc24/tempOC/files/platform_r2.xml b/src/tests/ofc24/node-agents-config/platform_r2.xml similarity index 100% rename from src/tests/ofc24/tempOC/files/platform_r2.xml rename to src/tests/ofc24/node-agents-config/platform_r2.xml diff --git a/src/tests/ofc24/tempOC/files/platform_t1.xml b/src/tests/ofc24/node-agents-config/platform_t1.xml similarity index 100% rename from src/tests/ofc24/tempOC/files/platform_t1.xml rename to src/tests/ofc24/node-agents-config/platform_t1.xml diff --git a/src/tests/ofc24/tempOC/files/platform_t2.xml b/src/tests/ofc24/node-agents-config/platform_t2.xml similarity index 100% rename from src/tests/ofc24/tempOC/files/platform_t2.xml rename to src/tests/ofc24/node-agents-config/platform_t2.xml diff --git a/src/tests/ofc24/node-agents-config/startNetconfAgent-mg-on.sh b/src/tests/ofc24/node-agents-config/startNetconfAgent-mg-on.sh new file mode 100755 index 000000000..fe5ad5618 --- /dev/null +++ b/src/tests/ofc24/node-agents-config/startNetconfAgent-mg-on.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +echo 'Cleaning...' +make clean + +echo 'Rebuilding...' +make all + +echo 'Initializing database...' +cp platform.xml confd-cdb/ + +echo 'Starting ConfD...' +make start2 + +echo 'ConfD Ready!!' diff --git a/src/tests/ofc24/node-agents-config/startNetconfAgent-tp.sh b/src/tests/ofc24/node-agents-config/startNetconfAgent-tp.sh new file mode 100755 index 000000000..afc28cee7 --- /dev/null +++ b/src/tests/ofc24/node-agents-config/startNetconfAgent-tp.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +echo 'Cleaning...' +make clean + +echo 'Rebuilding...' +make all + +echo 'Initializing database...' +cp platform.xml confd-cdb/ +cp interfaces.xml confd-cdb/ +cp bgp.xml confd-cdb/ + +echo 'Starting ConfD...' +make start2 + +echo 'ConfD Ready!!' diff --git a/src/tests/ofc24/tempOC/files/startNetconfAgent.sh b/src/tests/ofc24/tempOC/files/startNetconfAgent.sh deleted file mode 100644 index 10b721883..000000000 --- a/src/tests/ofc24/tempOC/files/startNetconfAgent.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -make clean -make all -#make init -cp init_openconfig-platform.xml confd-cdb/ -#cp init_flex-scale-mg-on.xml confd-cdb/ -make start2 -- GitLab From 3f31baf859619c85d452523ff5184e6110398924 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 5 Apr 2024 10:12:21 +0000 Subject: [PATCH 094/156] GitLab CI/CD pipeline - OFC'24: - Updated pipeline manifest - Updated TFS deploy specs --- src/tests/ofc24/.gitlab-ci.yml | 28 +++++++++++++++++++++++----- src/tests/ofc24/deploy_specs.sh | 2 +- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/tests/ofc24/.gitlab-ci.yml b/src/tests/ofc24/.gitlab-ci.yml index 0b5593b16..6d5257964 100644 --- a/src/tests/ofc24/.gitlab-ci.yml +++ b/src/tests/ofc24/.gitlab-ci.yml @@ -13,9 +13,9 @@ # limitations under the License. # Build, tag, and push the Docker image to the GitLab Docker registry -build ofc22: +build ofc24: variables: - TEST_NAME: 'ofc22' + TEST_NAME: 'ofc24' stage: build before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY @@ -36,13 +36,13 @@ build ofc22: - .gitlab-ci.yml # Deploy TeraFlowSDN and Execute end-2-end test -end2end_test ofc22: +end2end_test ofc24: variables: - TEST_NAME: 'ofc22' + TEST_NAME: 'ofc24' stage: end2end_test # Disable to force running it after all other tasks #needs: - # - build ofc22 + # - build ofc24 before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: @@ -53,6 +53,9 @@ end2end_test ofc22: - microk8s status --wait-ready - kubectl get pods --all-namespaces + # Deploy Optical Device Node Agents + - ./src/tests/${TEST_NAME}/deploy-node-agents.sh + # Configure TeraFlowSDN deployment # Uncomment if DEBUG log level is needed for the components #- yq -i '((select(.kind=="Deployment").spec.template.spec.containers.[] | select(.name=="server").env.[]) | select(.name=="LOG_LEVEL").value) |= "DEBUG"' manifests/contextservice.yaml @@ -87,6 +90,7 @@ end2end_test ofc22: --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest after_script: + # Dump TeraFlowSDN component logs - source src/tests/${TEST_NAME}/deploy_specs.sh - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/contextservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/deviceservice -c server @@ -94,8 +98,22 @@ end2end_test ofc22: - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/serviceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/sliceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/opticalcontrollerservice -c server - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi + + # Dump Optical Device Node Agents container status and logs + - docker ps -a + - docker logs na-t1 + - docker logs na-t2 + - docker logs na-r1 + - docker logs na-r2 + + # Destroy Optical Device Node Agents + - ./src/tests/${TEST_NAME}/destroy-node-agents.sh + + # Clean old docker images - docker images --filter="dangling=true" --quiet | xargs -r docker rmi + #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)' diff --git a/src/tests/ofc24/deploy_specs.sh b/src/tests/ofc24/deploy_specs.sh index ca5494de2..e7458dc9d 100755 --- a/src/tests/ofc24/deploy_specs.sh +++ b/src/tests/ofc24/deploy_specs.sh @@ -63,7 +63,7 @@ export TFS_K8S_NAMESPACE="tfs" export TFS_EXTRA_MANIFESTS="manifests/nginx_ingress_http.yaml" # Uncomment to monitor performance of components -export TFS_EXTRA_MANIFESTS="${TFS_EXTRA_MANIFESTS} manifests/servicemonitors.yaml" +#export TFS_EXTRA_MANIFESTS="${TFS_EXTRA_MANIFESTS} manifests/servicemonitors.yaml" # Uncomment when deploying Optical CyberSecurity #export TFS_EXTRA_MANIFESTS="${TFS_EXTRA_MANIFESTS} manifests/cachingservice.yaml" -- GitLab From 94219359fe6d02a76291edf7a3f411fc521cec9e Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 5 Apr 2024 10:30:38 +0000 Subject: [PATCH 095/156] GitLab CI/CD pipeline - OFC'24: - Activate test in pipeline --- src/tests/.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/.gitlab-ci.yml b/src/tests/.gitlab-ci.yml index 41b8bb36c..b7345bbd1 100644 --- a/src/tests/.gitlab-ci.yml +++ b/src/tests/.gitlab-ci.yml @@ -19,4 +19,4 @@ include: - local: '/src/tests/ecoc22/.gitlab-ci.yml' #- local: '/src/tests/nfvsdn22/.gitlab-ci.yml' #- local: '/src/tests/ofc23/.gitlab-ci.yml' - #- local: '/src/tests/ofc24/.gitlab-ci.yml' + - local: '/src/tests/ofc24/.gitlab-ci.yml' -- GitLab From 68bb8fdf52e87ee0e344fa436023b673cce057a4 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 5 Apr 2024 10:38:28 +0000 Subject: [PATCH 096/156] GitLab CI/CD pipeline - OFC'24: - Updated descriptor file names - Updated descriptor paths in Dockerfile --- src/tests/ofc24/Dockerfile | 4 +++- .../descriptors/{7.service-bidir.json => service-bidir.json} | 0 .../{7.service-unidir.json => service-unidir.json} | 0 .../descriptors/{descriptors_topology.json => topology.json} | 0 4 files changed, 3 insertions(+), 1 deletion(-) rename src/tests/ofc24/descriptors/{7.service-bidir.json => service-bidir.json} (100%) rename src/tests/ofc24/descriptors/{7.service-unidir.json => service-unidir.json} (100%) rename src/tests/ofc24/descriptors/{descriptors_topology.json => topology.json} (100%) diff --git a/src/tests/ofc24/Dockerfile b/src/tests/ofc24/Dockerfile index 8efa0c72c..df42fe338 100644 --- a/src/tests/ofc24/Dockerfile +++ b/src/tests/ofc24/Dockerfile @@ -82,7 +82,9 @@ COPY src/slice/__init__.py slice/__init__.py COPY src/slice/client/. slice/client/ COPY src/tests/*.py ./tests/ COPY src/tests/ofc24/__init__.py ./tests/ofc24/__init__.py -COPY src/tests/ofc24/descriptors_topology.json ./tests/ofc24/descriptors_topology.json +COPY src/tests/ofc24/descriptors/topology.json ./tests/ofc24/descriptors/topology.json +COPY src/tests/ofc24/descriptors/service-unidir.json ./tests/ofc24/descriptors/service-unidir.json +COPY src/tests/ofc24/descriptors/service-bidir.json ./tests/ofc24/descriptors/service-bidir.json COPY src/tests/ofc24/tests/. ./tests/ofc24/tests/ COPY src/tests/tools/. ./tests/tools/ diff --git a/src/tests/ofc24/descriptors/7.service-bidir.json b/src/tests/ofc24/descriptors/service-bidir.json similarity index 100% rename from src/tests/ofc24/descriptors/7.service-bidir.json rename to src/tests/ofc24/descriptors/service-bidir.json diff --git a/src/tests/ofc24/descriptors/7.service-unidir.json b/src/tests/ofc24/descriptors/service-unidir.json similarity index 100% rename from src/tests/ofc24/descriptors/7.service-unidir.json rename to src/tests/ofc24/descriptors/service-unidir.json diff --git a/src/tests/ofc24/descriptors/descriptors_topology.json b/src/tests/ofc24/descriptors/topology.json similarity index 100% rename from src/tests/ofc24/descriptors/descriptors_topology.json rename to src/tests/ofc24/descriptors/topology.json -- GitLab From 3e6e31fd85fafd18b9bab54284ab9037e1d83eea Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 5 Apr 2024 10:46:11 +0000 Subject: [PATCH 097/156] GitLab CI/CD pipeline - OFC'24: - Fixed missing file required in Dockerfile --- src/tests/ofc24/__init__.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/tests/ofc24/__init__.py diff --git a/src/tests/ofc24/__init__.py b/src/tests/ofc24/__init__.py new file mode 100644 index 000000000..1549d9811 --- /dev/null +++ b/src/tests/ofc24/__init__.py @@ -0,0 +1,14 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + -- GitLab From ab161a185b061531429cc1e6e5f35a4c30b84269 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 5 Apr 2024 11:31:42 +0000 Subject: [PATCH 098/156] GitLab CI/CD pipeline - OFC'24: - Fixed deployment of dataplane node agents - Added testsfor bidir and unidir services to Dockerfile - Updated descriptors in functional tests - Separated functional tests for bidir and unidir services - Removed unneeded KPI-related test methods --- src/tests/ofc24/.gitlab-ci.yml | 42 ++++++++++- src/tests/ofc24/Dockerfile | 10 ++- .../ofc24/tests/test_functional_bootstrap.py | 2 +- .../ofc24/tests/test_functional_cleanup.py | 2 +- ...> test_functional_create_service_bidir.py} | 42 +---------- .../test_functional_create_service_unidir.py | 68 +++++++++++++++++ ...> test_functional_delete_service_bidir.py} | 4 +- .../test_functional_delete_service_unidir.py | 74 +++++++++++++++++++ 8 files changed, 197 insertions(+), 47 deletions(-) rename src/tests/ofc24/tests/{test_functional_create_service.py => test_functional_create_service_bidir.py} (61%) create mode 100644 src/tests/ofc24/tests/test_functional_create_service_unidir.py rename src/tests/ofc24/tests/{test_functional_delete_service.py => test_functional_delete_service_bidir.py} (95%) create mode 100644 src/tests/ofc24/tests/test_functional_delete_service_unidir.py diff --git a/src/tests/ofc24/.gitlab-ci.yml b/src/tests/ofc24/.gitlab-ci.yml index 6d5257964..6dc32a181 100644 --- a/src/tests/ofc24/.gitlab-ci.yml +++ b/src/tests/ofc24/.gitlab-ci.yml @@ -45,16 +45,55 @@ end2end_test ofc24: # - build ofc24 before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + - docker rm -f na-t1 na-t2 na-r1 na-r2 + - docker network rm na-br + script: # Download Docker image to run the test - docker pull "${CI_REGISTRY_IMAGE}/${TEST_NAME}:latest" + - docker pull asgamb1/oc23bgp.img:latest + - docker pull asgamb1/flexscale-node.img:latest # Check MicroK8s is ready - microk8s status --wait-ready - kubectl get pods --all-namespaces # Deploy Optical Device Node Agents - - ./src/tests/${TEST_NAME}/deploy-node-agents.sh + - > + docker network create -d bridge --subnet=172.254.253.0/24 --gateway=172.254.253.254 \ + --ip-range=172.254.253.0/24 na-br + - > + docker run -dit --init --name na-t1 --network=na-br --ip 172.254.253.101 \ + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/startNetconfAgent-tp.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/platform_t1.xml:/confd/examples.confd/OC23/platform.xml" \ + asgamb1/oc23bgp.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh + - > + docker run -dit --init --name na-t2 --network=na-br --ip 172.254.253.102 \ + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/startNetconfAgent-tp.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/platform_t2.xml:/confd/examples.confd/OC23/platform.xml" \ + asgamb1/oc23bgp.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh + - > + docker run -dit --init --name na-r1 --network=na-br --ip 172.254.253.201 \ + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/startNetconfAgent-mg-on.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/platform_r1.xml:/confd/examples.confd/OC23/platform.xml" \ + asgamb1/flexscale-node.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh + - > + docker run -dit --init --name na-r2 --network=na-br --ip 172.254.253.202 \ + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/startNetconfAgent-mg-on.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/platform_r2.xml:/confd/examples.confd/OC23/platform.xml" \ + asgamb1/flexscale-node.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh + + + # Wait for initialization of Optical Device Node Agents + - sleep 3 + - docker ps -a + - while ! docker logs na-t1 2>&1 | grep -q '*** ConfD OpenConfig NETCONF agent ***'; do sleep 1; done + - while ! docker logs na-t2 2>&1 | grep -q '*** ConfD OpenConfig NETCONF agent ***'; do sleep 1; done + - while ! docker logs na-r1 2>&1 | grep -q '*** ConfD OpenConfig NETCONF agent ***'; do sleep 1; done + - while ! docker logs na-r2 2>&1 | grep -q '*** ConfD OpenConfig NETCONF agent ***'; do sleep 1; done + - sleep 3 + - docker ps -a + # Configure TeraFlowSDN deployment # Uncomment if DEBUG log level is needed for the components @@ -89,6 +128,7 @@ end2end_test ofc24: --volume "$PWD/tfs_runtime_env_vars.sh:/var/teraflow/tfs_runtime_env_vars.sh" --volume "$PWD/src/tests/${TEST_NAME}:/opt/results" $CI_REGISTRY_IMAGE/${TEST_NAME}:latest + after_script: # Dump TeraFlowSDN component logs - source src/tests/${TEST_NAME}/deploy_specs.sh diff --git a/src/tests/ofc24/Dockerfile b/src/tests/ofc24/Dockerfile index df42fe338..db1d1d9ef 100644 --- a/src/tests/ofc24/Dockerfile +++ b/src/tests/ofc24/Dockerfile @@ -92,10 +92,12 @@ RUN tee ./run_tests.sh < None: - """ - This test validates that KPI values have been inserted into the monitoring database. - We short k KPI descriptors to test. - """ - response = monitoring_client.GetKpiDescriptorList(Empty()) - kpi_descriptors = random.choices(response.kpi_descriptor_list, k=2) - - for kpi_descriptor in kpi_descriptors: - MSG = 'KPI(kpi_uuid={:s}, device_uuid={:s}, endpoint_uuid={:s}, service_uuid={:s}, kpi_sample_type={:s})...' - LOGGER.info(MSG.format( - str(kpi_descriptor.kpi_id.kpi_id.uuid), str(kpi_descriptor.device_id.device_uuid.uuid), - str(kpi_descriptor.endpoint_id.endpoint_uuid.uuid), str(kpi_descriptor.service_id.service_uuid.uuid), - str(KpiSampleType.Name(kpi_descriptor.kpi_sample_type)))) - response = monitoring_client.GetInstantKpi(kpi_descriptor.kpi_id) - kpi_uuid = response.kpi_id.kpi_id.uuid - assert kpi_uuid == kpi_descriptor.kpi_id.kpi_id.uuid - kpi_value_type = response.kpi_value.WhichOneof('value') - if kpi_value_type is None: - MSG = ' KPI({:s}): No instant value found' - LOGGER.warning(MSG.format(str(kpi_uuid))) - else: - kpi_timestamp = response.timestamp.timestamp - assert kpi_timestamp > 0 - assert kpi_value_type == 'floatVal' - kpi_value = getattr(response.kpi_value, kpi_value_type) - MSG = ' KPI({:s}): timestamp={:s} value_type={:s} value={:s}' - LOGGER.info(MSG.format(str(kpi_uuid), str(kpi_timestamp), str(kpi_value_type), str(kpi_value))) diff --git a/src/tests/ofc24/tests/test_functional_create_service_unidir.py b/src/tests/ofc24/tests/test_functional_create_service_unidir.py new file mode 100644 index 000000000..35d9664f7 --- /dev/null +++ b/src/tests/ofc24/tests/test_functional_create_service_unidir.py @@ -0,0 +1,68 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging, os +from common.Constants import DEFAULT_CONTEXT_NAME +from common.proto.context_pb2 import ContextId, ServiceTypeEnum +from common.tools.descriptor.Loader import DescriptorLoader +from common.tools.grpc.Tools import grpc_message_to_json_string +from common.tools.object_factory.Context import json_context_id +from context.client.ContextClient import ContextClient +from tests.Fixtures import context_client, monitoring_client # pylint: disable=unused-import +from tests.tools.mock_osm.MockOSM import MockOSM +from .Fixtures import osm_wim # pylint: disable=unused-import +from .Objects import WIM_SERVICE_CONNECTION_POINTS, WIM_SERVICE_TYPE + +LOGGER = logging.getLogger(__name__) +LOGGER.setLevel(logging.DEBUG) + +DESCRIPTOR_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'descriptors', 'service-bidir.json') +ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) + +def test_service_creation_unidir(context_client : ContextClient, osm_wim : MockOSM): # pylint: disable=redefined-outer-name + # Load descriptors and validate the base scenario + descriptor_loader = DescriptorLoader(descriptors_file=DESCRIPTOR_FILE, context_client=context_client) + descriptor_loader.validate() + + # Verify the scenario has no services/slices + response = context_client.GetContext(ADMIN_CONTEXT_ID) + assert len(response.service_ids) == 0 + assert len(response.slice_ids) == 0 + + # Create Connectivity Service + service_uuid = osm_wim.create_connectivity_service(WIM_SERVICE_TYPE, WIM_SERVICE_CONNECTION_POINTS) + osm_wim.get_connectivity_service_status(service_uuid) + + # Ensure slices and services are created + response = context_client.ListSlices(ADMIN_CONTEXT_ID) + LOGGER.info('Slices[{:d}] = {:s}'.format(len(response.slices), grpc_message_to_json_string(response))) + assert len(response.slices) == 1 # OSM slice + + response = context_client.ListServices(ADMIN_CONTEXT_ID) + LOGGER.info('Services[{:d}] = {:s}'.format(len(response.services), grpc_message_to_json_string(response))) + assert len(response.services) == 2 # 1xL3NM + 1xTAPI + + for service in response.services: + service_id = service.service_id + response = context_client.ListConnections(service_id) + LOGGER.info(' ServiceId[{:s}] => Connections[{:d}] = {:s}'.format( + grpc_message_to_json_string(service_id), len(response.connections), grpc_message_to_json_string(response))) + + if service.service_type == ServiceTypeEnum.SERVICETYPE_L3NM: + assert len(response.connections) == 1 # 1 connection per service + elif service.service_type == ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE: + assert len(response.connections) == 1 # 1 connection per service + else: + str_service = grpc_message_to_json_string(service) + raise Exception('Unexpected ServiceType: {:s}'.format(str_service)) diff --git a/src/tests/ofc24/tests/test_functional_delete_service.py b/src/tests/ofc24/tests/test_functional_delete_service_bidir.py similarity index 95% rename from src/tests/ofc24/tests/test_functional_delete_service.py rename to src/tests/ofc24/tests/test_functional_delete_service_bidir.py index daff29064..64a6161f6 100644 --- a/src/tests/ofc24/tests/test_functional_delete_service.py +++ b/src/tests/ofc24/tests/test_functional_delete_service_bidir.py @@ -26,10 +26,10 @@ from .Fixtures import osm_wim # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) -DESCRIPTOR_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'descriptors_emulated.json') +DESCRIPTOR_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'descriptors', 'service-bidir.json') ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) -def test_service_removal(context_client : ContextClient, osm_wim : MockOSM): # pylint: disable=redefined-outer-name +def test_service_removal_bidir(context_client : ContextClient, osm_wim : MockOSM): # pylint: disable=redefined-outer-name # Ensure slices and services are created response = context_client.ListSlices(ADMIN_CONTEXT_ID) LOGGER.info('Slices[{:d}] = {:s}'.format(len(response.slices), grpc_message_to_json_string(response))) diff --git a/src/tests/ofc24/tests/test_functional_delete_service_unidir.py b/src/tests/ofc24/tests/test_functional_delete_service_unidir.py new file mode 100644 index 000000000..ebdb60255 --- /dev/null +++ b/src/tests/ofc24/tests/test_functional_delete_service_unidir.py @@ -0,0 +1,74 @@ +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import logging, os +from common.Constants import DEFAULT_CONTEXT_NAME +from common.proto.context_pb2 import ContextId, ServiceTypeEnum +from common.tools.descriptor.Loader import DescriptorLoader +from common.tools.grpc.Tools import grpc_message_to_json_string +from common.tools.object_factory.Context import json_context_id +from context.client.ContextClient import ContextClient +from tests.Fixtures import context_client # pylint: disable=unused-import +from tests.tools.mock_osm.MockOSM import MockOSM +from .Fixtures import osm_wim # pylint: disable=unused-import + +LOGGER = logging.getLogger(__name__) +LOGGER.setLevel(logging.DEBUG) + +DESCRIPTOR_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'descriptors', 'service-unidir.json') +ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) + +def test_service_removal_unidir(context_client : ContextClient, osm_wim : MockOSM): # pylint: disable=redefined-outer-name + # Ensure slices and services are created + response = context_client.ListSlices(ADMIN_CONTEXT_ID) + LOGGER.info('Slices[{:d}] = {:s}'.format(len(response.slices), grpc_message_to_json_string(response))) + assert len(response.slices) == 1 # OSM slice + + response = context_client.ListServices(ADMIN_CONTEXT_ID) + LOGGER.info('Services[{:d}] = {:s}'.format(len(response.services), grpc_message_to_json_string(response))) + assert len(response.services) == 2 # 1xL3NM + 1xTAPI + + service_uuids = set() + for service in response.services: + service_id = service.service_id + response = context_client.ListConnections(service_id) + LOGGER.info(' ServiceId[{:s}] => Connections[{:d}] = {:s}'.format( + grpc_message_to_json_string(service_id), len(response.connections), grpc_message_to_json_string(response))) + + if service.service_type == ServiceTypeEnum.SERVICETYPE_L3NM: + assert len(response.connections) == 1 # 1 connection per service + service_uuid = service_id.service_uuid.uuid + service_uuids.add(service_uuid) + osm_wim.conn_info[service_uuid] = {} + elif service.service_type == ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE: + assert len(response.connections) == 1 # 1 connection per service + else: + str_service = grpc_message_to_json_string(service) + raise Exception('Unexpected ServiceType: {:s}'.format(str_service)) + + # Identify service to delete + assert len(service_uuids) == 1 # assume a single L3NM service has been created + service_uuid = set(service_uuids).pop() + + # Delete Connectivity Service + osm_wim.delete_connectivity_service(service_uuid) + + # Verify the scenario has no services/slices + response = context_client.GetContext(ADMIN_CONTEXT_ID) + assert len(response.service_ids) == 0 + assert len(response.slice_ids) == 0 + + # Load descriptors and validate the base scenario + descriptor_loader = DescriptorLoader(descriptors_file=DESCRIPTOR_FILE, context_client=context_client) + descriptor_loader.validate() -- GitLab From 4bc7d644ffe03da28ee9882bda5faa786fe3b882 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 5 Apr 2024 11:49:37 +0000 Subject: [PATCH 099/156] GitLab CI/CD pipeline - OFC'24: - Preliminar code for create/delete bidir and unidir services - Removed unneeded files in Dockerfile --- src/tests/ofc24/Dockerfile | 5 -- .../test_functional_create_service_bidir.py | 54 ++++++------ .../test_functional_create_service_unidir.py | 54 ++++++------ .../test_functional_delete_service_bidir.py | 82 +++++++++++-------- .../test_functional_delete_service_unidir.py | 82 +++++++++++-------- 5 files changed, 156 insertions(+), 121 deletions(-) diff --git a/src/tests/ofc24/Dockerfile b/src/tests/ofc24/Dockerfile index db1d1d9ef..f9db8c367 100644 --- a/src/tests/ofc24/Dockerfile +++ b/src/tests/ofc24/Dockerfile @@ -70,10 +70,6 @@ COPY src/context/__init__.py context/__init__.py COPY src/context/client/. context/client/ COPY src/device/__init__.py device/__init__.py COPY src/device/client/. device/client/ -#COPY src/monitoring/__init__.py monitoring/__init__.py -#COPY src/monitoring/client/. monitoring/client/ -#COPY src/monitoring/__init__.py monitoring/__init__.py -#COPY src/monitoring/client/. monitoring/client/ COPY src/e2e_orchestrator/__init__.py e2e_orchestrator/__init__.py COPY src/e2e_orchestrator/client/. e2e_orchestrator/client/ COPY src/service/__init__.py service/__init__.py @@ -86,7 +82,6 @@ COPY src/tests/ofc24/descriptors/topology.json ./tests/ofc24/descriptors/topolog COPY src/tests/ofc24/descriptors/service-unidir.json ./tests/ofc24/descriptors/service-unidir.json COPY src/tests/ofc24/descriptors/service-bidir.json ./tests/ofc24/descriptors/service-bidir.json COPY src/tests/ofc24/tests/. ./tests/ofc24/tests/ -COPY src/tests/tools/. ./tests/tools/ RUN tee ./run_tests.sh < Connections[{:d}] = {:s}'.format( + LOGGER.warning(' ServiceId[{:s}] => Connections[{:d}] = {:s}'.format( grpc_message_to_json_string(service_id), len(response.connections), grpc_message_to_json_string(response))) - if service.service_type == ServiceTypeEnum.SERVICETYPE_L3NM: - assert len(response.connections) == 1 # 1 connection per service - elif service.service_type == ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE: - assert len(response.connections) == 1 # 1 connection per service - else: - str_service = grpc_message_to_json_string(service) - raise Exception('Unexpected ServiceType: {:s}'.format(str_service)) + #if service.service_type == ServiceTypeEnum.SERVICETYPE_L3NM: + # assert len(response.connections) == 1 # 1 connection per service + #elif service.service_type == ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE: + # assert len(response.connections) == 1 # 1 connection per service + #else: + # str_service = grpc_message_to_json_string(service) + # raise Exception('Unexpected ServiceType: {:s}'.format(str_service)) diff --git a/src/tests/ofc24/tests/test_functional_create_service_unidir.py b/src/tests/ofc24/tests/test_functional_create_service_unidir.py index 35d9664f7..1cc0f43ce 100644 --- a/src/tests/ofc24/tests/test_functional_create_service_unidir.py +++ b/src/tests/ofc24/tests/test_functional_create_service_unidir.py @@ -15,14 +15,13 @@ import logging, os from common.Constants import DEFAULT_CONTEXT_NAME from common.proto.context_pb2 import ContextId, ServiceTypeEnum -from common.tools.descriptor.Loader import DescriptorLoader +from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient -from tests.Fixtures import context_client, monitoring_client # pylint: disable=unused-import -from tests.tools.mock_osm.MockOSM import MockOSM -from .Fixtures import osm_wim # pylint: disable=unused-import -from .Objects import WIM_SERVICE_CONNECTION_POINTS, WIM_SERVICE_TYPE +from device.client.DeviceClient import DeviceClient +from service.client.ServiceClient import ServiceClient +from tests.Fixtures import context_client, device_client, service_client # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) @@ -30,39 +29,44 @@ LOGGER.setLevel(logging.DEBUG) DESCRIPTOR_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'descriptors', 'service-bidir.json') ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) -def test_service_creation_unidir(context_client : ContextClient, osm_wim : MockOSM): # pylint: disable=redefined-outer-name +def test_service_creation_unidir( + context_client : ContextClient, # pylint: disable=redefined-outer-name + device_client : DeviceClient, # pylint: disable=redefined-outer-name + service_client : ServiceClient, # pylint: disable=redefined-outer-name +): # Load descriptors and validate the base scenario - descriptor_loader = DescriptorLoader(descriptors_file=DESCRIPTOR_FILE, context_client=context_client) + descriptor_loader = DescriptorLoader( + descriptors_file=DESCRIPTOR_FILE, context_client=context_client, device_client=device_client, + service_client=service_client + ) + results = descriptor_loader.process() + check_descriptor_load_results(results, descriptor_loader) descriptor_loader.validate() # Verify the scenario has no services/slices response = context_client.GetContext(ADMIN_CONTEXT_ID) - assert len(response.service_ids) == 0 - assert len(response.slice_ids) == 0 - - # Create Connectivity Service - service_uuid = osm_wim.create_connectivity_service(WIM_SERVICE_TYPE, WIM_SERVICE_CONNECTION_POINTS) - osm_wim.get_connectivity_service_status(service_uuid) + #assert len(response.service_ids) == 0 + #assert len(response.slice_ids) == 0 # Ensure slices and services are created response = context_client.ListSlices(ADMIN_CONTEXT_ID) - LOGGER.info('Slices[{:d}] = {:s}'.format(len(response.slices), grpc_message_to_json_string(response))) - assert len(response.slices) == 1 # OSM slice + LOGGER.warning('Slices[{:d}] = {:s}'.format(len(response.slices), grpc_message_to_json_string(response))) + #assert len(response.slices) == 1 # OSM slice response = context_client.ListServices(ADMIN_CONTEXT_ID) - LOGGER.info('Services[{:d}] = {:s}'.format(len(response.services), grpc_message_to_json_string(response))) - assert len(response.services) == 2 # 1xL3NM + 1xTAPI + LOGGER.warning('Services[{:d}] = {:s}'.format(len(response.services), grpc_message_to_json_string(response))) + #assert len(response.services) == 2 # 1xL3NM + 1xTAPI for service in response.services: service_id = service.service_id response = context_client.ListConnections(service_id) - LOGGER.info(' ServiceId[{:s}] => Connections[{:d}] = {:s}'.format( + LOGGER.warning(' ServiceId[{:s}] => Connections[{:d}] = {:s}'.format( grpc_message_to_json_string(service_id), len(response.connections), grpc_message_to_json_string(response))) - if service.service_type == ServiceTypeEnum.SERVICETYPE_L3NM: - assert len(response.connections) == 1 # 1 connection per service - elif service.service_type == ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE: - assert len(response.connections) == 1 # 1 connection per service - else: - str_service = grpc_message_to_json_string(service) - raise Exception('Unexpected ServiceType: {:s}'.format(str_service)) + #if service.service_type == ServiceTypeEnum.SERVICETYPE_L3NM: + # assert len(response.connections) == 1 # 1 connection per service + #elif service.service_type == ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE: + # assert len(response.connections) == 1 # 1 connection per service + #else: + # str_service = grpc_message_to_json_string(service) + # raise Exception('Unexpected ServiceType: {:s}'.format(str_service)) diff --git a/src/tests/ofc24/tests/test_functional_delete_service_bidir.py b/src/tests/ofc24/tests/test_functional_delete_service_bidir.py index 64a6161f6..ee0572df2 100644 --- a/src/tests/ofc24/tests/test_functional_delete_service_bidir.py +++ b/src/tests/ofc24/tests/test_functional_delete_service_bidir.py @@ -14,14 +14,14 @@ import logging, os from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceTypeEnum +from common.proto.context_pb2 import ContextId, ServiceId, ServiceTypeEnum from common.tools.descriptor.Loader import DescriptorLoader from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient -from tests.Fixtures import context_client # pylint: disable=unused-import -from tests.tools.mock_osm.MockOSM import MockOSM -from .Fixtures import osm_wim # pylint: disable=unused-import +from device.client.DeviceClient import DeviceClient +from service.client.ServiceClient import ServiceClient +from tests.Fixtures import context_client, device_client, service_client # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) @@ -29,46 +29,62 @@ LOGGER.setLevel(logging.DEBUG) DESCRIPTOR_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'descriptors', 'service-bidir.json') ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) -def test_service_removal_bidir(context_client : ContextClient, osm_wim : MockOSM): # pylint: disable=redefined-outer-name +def test_service_removal_bidir( + context_client : ContextClient, # pylint: disable=redefined-outer-name + device_client : DeviceClient, # pylint: disable=redefined-outer-name + service_client : ServiceClient, # pylint: disable=redefined-outer-name +): + # Load descriptors and validate the base scenario + descriptor_loader = DescriptorLoader( + descriptors_file=DESCRIPTOR_FILE, context_client=context_client, device_client=device_client, + service_client=service_client + ) + descriptor_loader.validate() + + # Verify the scenario has no services/slices + response = context_client.GetContext(ADMIN_CONTEXT_ID) + #assert len(response.service_ids) == 0 + #assert len(response.slice_ids) == 0 + # Ensure slices and services are created response = context_client.ListSlices(ADMIN_CONTEXT_ID) - LOGGER.info('Slices[{:d}] = {:s}'.format(len(response.slices), grpc_message_to_json_string(response))) - assert len(response.slices) == 1 # OSM slice + LOGGER.warning('Slices[{:d}] = {:s}'.format(len(response.slices), grpc_message_to_json_string(response))) + #assert len(response.slices) == 1 # OSM slice response = context_client.ListServices(ADMIN_CONTEXT_ID) - LOGGER.info('Services[{:d}] = {:s}'.format(len(response.services), grpc_message_to_json_string(response))) - assert len(response.services) == 2 # 1xL3NM + 1xTAPI + LOGGER.warning('Services[{:d}] = {:s}'.format(len(response.services), grpc_message_to_json_string(response))) + #assert len(response.services) == 2 # 1xL3NM + 1xTAPI - service_uuids = set() + #service_uuids = set() for service in response.services: service_id = service.service_id response = context_client.ListConnections(service_id) - LOGGER.info(' ServiceId[{:s}] => Connections[{:d}] = {:s}'.format( + LOGGER.warning(' ServiceId[{:s}] => Connections[{:d}] = {:s}'.format( grpc_message_to_json_string(service_id), len(response.connections), grpc_message_to_json_string(response))) - if service.service_type == ServiceTypeEnum.SERVICETYPE_L3NM: - assert len(response.connections) == 1 # 1 connection per service - service_uuid = service_id.service_uuid.uuid - service_uuids.add(service_uuid) - osm_wim.conn_info[service_uuid] = {} - elif service.service_type == ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE: - assert len(response.connections) == 1 # 1 connection per service - else: - str_service = grpc_message_to_json_string(service) - raise Exception('Unexpected ServiceType: {:s}'.format(str_service)) + #if service.service_type == ServiceTypeEnum.SERVICETYPE_L3NM: + # assert len(response.connections) == 1 # 1 connection per service + # service_uuid = service_id.service_uuid.uuid + # service_uuids.add(service_uuid) + # osm_wim.conn_info[service_uuid] = {} + #elif service.service_type == ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE: + # assert len(response.connections) == 1 # 1 connection per service + #else: + # str_service = grpc_message_to_json_string(service) + # raise Exception('Unexpected ServiceType: {:s}'.format(str_service)) - # Identify service to delete - assert len(service_uuids) == 1 # assume a single L3NM service has been created - service_uuid = set(service_uuids).pop() + ## Identify service to delete + #assert len(service_uuids) == 1 # assume a single L3NM service has been created + #service_uuid = set(service_uuids).pop() - # Delete Connectivity Service - osm_wim.delete_connectivity_service(service_uuid) + ## Delete Service + #service_client.DeleteService(ServiceId(json_service_id(service_uuid, context_uuid))) - # Verify the scenario has no services/slices - response = context_client.GetContext(ADMIN_CONTEXT_ID) - assert len(response.service_ids) == 0 - assert len(response.slice_ids) == 0 + ## Verify the scenario has no services/slices + #response = context_client.GetContext(ADMIN_CONTEXT_ID) + #assert len(response.service_ids) == 0 + #assert len(response.slice_ids) == 0 - # Load descriptors and validate the base scenario - descriptor_loader = DescriptorLoader(descriptors_file=DESCRIPTOR_FILE, context_client=context_client) - descriptor_loader.validate() + ## Load descriptors and validate the base scenario + #descriptor_loader = DescriptorLoader(descriptors_file=DESCRIPTOR_FILE, context_client=context_client) + #descriptor_loader.validate() diff --git a/src/tests/ofc24/tests/test_functional_delete_service_unidir.py b/src/tests/ofc24/tests/test_functional_delete_service_unidir.py index ebdb60255..0861b103c 100644 --- a/src/tests/ofc24/tests/test_functional_delete_service_unidir.py +++ b/src/tests/ofc24/tests/test_functional_delete_service_unidir.py @@ -14,14 +14,14 @@ import logging, os from common.Constants import DEFAULT_CONTEXT_NAME -from common.proto.context_pb2 import ContextId, ServiceTypeEnum +from common.proto.context_pb2 import ContextId, ServiceId, ServiceTypeEnum from common.tools.descriptor.Loader import DescriptorLoader from common.tools.grpc.Tools import grpc_message_to_json_string from common.tools.object_factory.Context import json_context_id from context.client.ContextClient import ContextClient -from tests.Fixtures import context_client # pylint: disable=unused-import -from tests.tools.mock_osm.MockOSM import MockOSM -from .Fixtures import osm_wim # pylint: disable=unused-import +from device.client.DeviceClient import DeviceClient +from service.client.ServiceClient import ServiceClient +from tests.Fixtures import context_client, device_client, service_client # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) @@ -29,46 +29,62 @@ LOGGER.setLevel(logging.DEBUG) DESCRIPTOR_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'descriptors', 'service-unidir.json') ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME)) -def test_service_removal_unidir(context_client : ContextClient, osm_wim : MockOSM): # pylint: disable=redefined-outer-name +def test_service_removal_unidir( + context_client : ContextClient, # pylint: disable=redefined-outer-name + device_client : DeviceClient, # pylint: disable=redefined-outer-name + service_client : ServiceClient, # pylint: disable=redefined-outer-name +): + # Load descriptors and validate the base scenario + descriptor_loader = DescriptorLoader( + descriptors_file=DESCRIPTOR_FILE, context_client=context_client, device_client=device_client, + service_client=service_client + ) + descriptor_loader.validate() + + # Verify the scenario has no services/slices + response = context_client.GetContext(ADMIN_CONTEXT_ID) + #assert len(response.service_ids) == 0 + #assert len(response.slice_ids) == 0 + # Ensure slices and services are created response = context_client.ListSlices(ADMIN_CONTEXT_ID) - LOGGER.info('Slices[{:d}] = {:s}'.format(len(response.slices), grpc_message_to_json_string(response))) - assert len(response.slices) == 1 # OSM slice + LOGGER.warning('Slices[{:d}] = {:s}'.format(len(response.slices), grpc_message_to_json_string(response))) + #assert len(response.slices) == 1 # OSM slice response = context_client.ListServices(ADMIN_CONTEXT_ID) - LOGGER.info('Services[{:d}] = {:s}'.format(len(response.services), grpc_message_to_json_string(response))) - assert len(response.services) == 2 # 1xL3NM + 1xTAPI + LOGGER.warning('Services[{:d}] = {:s}'.format(len(response.services), grpc_message_to_json_string(response))) + #assert len(response.services) == 2 # 1xL3NM + 1xTAPI - service_uuids = set() + #service_uuids = set() for service in response.services: service_id = service.service_id response = context_client.ListConnections(service_id) - LOGGER.info(' ServiceId[{:s}] => Connections[{:d}] = {:s}'.format( + LOGGER.warning(' ServiceId[{:s}] => Connections[{:d}] = {:s}'.format( grpc_message_to_json_string(service_id), len(response.connections), grpc_message_to_json_string(response))) - if service.service_type == ServiceTypeEnum.SERVICETYPE_L3NM: - assert len(response.connections) == 1 # 1 connection per service - service_uuid = service_id.service_uuid.uuid - service_uuids.add(service_uuid) - osm_wim.conn_info[service_uuid] = {} - elif service.service_type == ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE: - assert len(response.connections) == 1 # 1 connection per service - else: - str_service = grpc_message_to_json_string(service) - raise Exception('Unexpected ServiceType: {:s}'.format(str_service)) + #if service.service_type == ServiceTypeEnum.SERVICETYPE_L3NM: + # assert len(response.connections) == 1 # 1 connection per service + # service_uuid = service_id.service_uuid.uuid + # service_uuids.add(service_uuid) + # osm_wim.conn_info[service_uuid] = {} + #elif service.service_type == ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE: + # assert len(response.connections) == 1 # 1 connection per service + #else: + # str_service = grpc_message_to_json_string(service) + # raise Exception('Unexpected ServiceType: {:s}'.format(str_service)) - # Identify service to delete - assert len(service_uuids) == 1 # assume a single L3NM service has been created - service_uuid = set(service_uuids).pop() + ## Identify service to delete + #assert len(service_uuids) == 1 # assume a single L3NM service has been created + #service_uuid = set(service_uuids).pop() - # Delete Connectivity Service - osm_wim.delete_connectivity_service(service_uuid) + ## Delete Service + #service_client.DeleteService(ServiceId(json_service_id(service_uuid, context_uuid))) - # Verify the scenario has no services/slices - response = context_client.GetContext(ADMIN_CONTEXT_ID) - assert len(response.service_ids) == 0 - assert len(response.slice_ids) == 0 + ## Verify the scenario has no services/slices + #response = context_client.GetContext(ADMIN_CONTEXT_ID) + #assert len(response.service_ids) == 0 + #assert len(response.slice_ids) == 0 - # Load descriptors and validate the base scenario - descriptor_loader = DescriptorLoader(descriptors_file=DESCRIPTOR_FILE, context_client=context_client) - descriptor_loader.validate() + ## Load descriptors and validate the base scenario + #descriptor_loader = DescriptorLoader(descriptors_file=DESCRIPTOR_FILE, context_client=context_client) + #descriptor_loader.validate() -- GitLab From c999bcf7a08f869d537072d9a9ff7f3729981cc4 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 5 Apr 2024 11:54:39 +0000 Subject: [PATCH 100/156] GitLab CI/CD pipeline - OFC'24: - Updated destroy of pipeline manifest --- src/tests/ofc24/.gitlab-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/tests/ofc24/.gitlab-ci.yml b/src/tests/ofc24/.gitlab-ci.yml index 6dc32a181..8ce528244 100644 --- a/src/tests/ofc24/.gitlab-ci.yml +++ b/src/tests/ofc24/.gitlab-ci.yml @@ -46,7 +46,7 @@ end2end_test ofc24: before_script: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY - docker rm -f na-t1 na-t2 na-r1 na-r2 - - docker network rm na-br + - docker network rm -f na-br script: # Download Docker image to run the test @@ -149,7 +149,8 @@ end2end_test ofc24: - docker logs na-r2 # Destroy Optical Device Node Agents - - ./src/tests/${TEST_NAME}/destroy-node-agents.sh + - docker rm -f na-t1 na-t2 na-r1 na-r2 + - docker network rm -f na-br # Clean old docker images - docker images --filter="dangling=true" --quiet | xargs -r docker rmi -- GitLab From ceebb3b77688f54a1b53cfa2de45f6375aaac84d Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 5 Apr 2024 12:42:00 +0000 Subject: [PATCH 101/156] GitLab CI/CD pipeline - OFC'24: - Fixed wrong multi-line commands in pipeline descriptor --- src/tests/ofc24/.gitlab-ci.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/tests/ofc24/.gitlab-ci.yml b/src/tests/ofc24/.gitlab-ci.yml index 8ce528244..f169bf7ee 100644 --- a/src/tests/ofc24/.gitlab-ci.yml +++ b/src/tests/ofc24/.gitlab-ci.yml @@ -60,27 +60,27 @@ end2end_test ofc24: # Deploy Optical Device Node Agents - > - docker network create -d bridge --subnet=172.254.253.0/24 --gateway=172.254.253.254 \ + docker network create -d bridge --subnet=172.254.253.0/24 --gateway=172.254.253.254 --ip-range=172.254.253.0/24 na-br - > - docker run -dit --init --name na-t1 --network=na-br --ip 172.254.253.101 \ - --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/startNetconfAgent-tp.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ - --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/platform_t1.xml:/confd/examples.confd/OC23/platform.xml" \ + docker run -dit --init --name na-t1 --network=na-br --ip 172.254.253.101 + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/startNetconfAgent-tp.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/platform_t1.xml:/confd/examples.confd/OC23/platform.xml" asgamb1/oc23bgp.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh - > - docker run -dit --init --name na-t2 --network=na-br --ip 172.254.253.102 \ - --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/startNetconfAgent-tp.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ - --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/platform_t2.xml:/confd/examples.confd/OC23/platform.xml" \ + docker run -dit --init --name na-t2 --network=na-br --ip 172.254.253.102 + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/startNetconfAgent-tp.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/platform_t2.xml:/confd/examples.confd/OC23/platform.xml" asgamb1/oc23bgp.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh - > - docker run -dit --init --name na-r1 --network=na-br --ip 172.254.253.201 \ - --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/startNetconfAgent-mg-on.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ - --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/platform_r1.xml:/confd/examples.confd/OC23/platform.xml" \ + docker run -dit --init --name na-r1 --network=na-br --ip 172.254.253.201 + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/startNetconfAgent-mg-on.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/platform_r1.xml:/confd/examples.confd/OC23/platform.xml" asgamb1/flexscale-node.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh - > - docker run -dit --init --name na-r2 --network=na-br --ip 172.254.253.202 \ - --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/startNetconfAgent-mg-on.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" \ - --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/platform_r2.xml:/confd/examples.confd/OC23/platform.xml" \ + docker run -dit --init --name na-r2 --network=na-br --ip 172.254.253.202 + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/startNetconfAgent-mg-on.sh:/confd/examples.confd/OC23/startNetconfAgent.sh" + --volume "$PWD/src/tests/${TEST_NAME}/node-agents-config/platform_r2.xml:/confd/examples.confd/OC23/platform.xml" asgamb1/flexscale-node.img:latest /confd/examples.confd/OC23/startNetconfAgent.sh -- GitLab From 2d54c725320ceac1cf7be7d11418699654ecc2be Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 5 Apr 2024 13:14:49 +0000 Subject: [PATCH 102/156] GitLab CI/CD pipeline - OFC'22: - Corrected kubectl logs for ZTP component --- src/tests/ofc22/.gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/ofc22/.gitlab-ci.yml b/src/tests/ofc22/.gitlab-ci.yml index 013a389bc..810e59169 100644 --- a/src/tests/ofc22/.gitlab-ci.yml +++ b/src/tests/ofc22/.gitlab-ci.yml @@ -96,7 +96,7 @@ end2end_test ofc22: - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/sliceservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/nbiservice -c server - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/monitoringservice -c server - - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/ztpservice -c server + - kubectl --namespace $TFS_K8S_NAMESPACE logs deployment/ztpservice -c ztpservice - if docker ps -a | grep ${TEST_NAME}; then docker rm -f ${TEST_NAME}; fi - docker images --filter="dangling=true" --quiet | xargs -r docker rmi #coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' -- GitLab From 736b888aaec0de7cbe9cb8393e3b333713b163f0 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 5 Apr 2024 14:07:26 +0000 Subject: [PATCH 103/156] GitLab CI/CD pipeline - OFC'22, ECOC'22, OFC'24: - Corrected Dockerfile required files --- src/tests/ecoc22/Dockerfile | 2 -- src/tests/ofc22/Dockerfile | 2 -- src/tests/ofc24/Dockerfile | 2 ++ 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/src/tests/ecoc22/Dockerfile b/src/tests/ecoc22/Dockerfile index 3ac134a38..28fc91d5e 100644 --- a/src/tests/ecoc22/Dockerfile +++ b/src/tests/ecoc22/Dockerfile @@ -72,8 +72,6 @@ COPY src/device/__init__.py device/__init__.py COPY src/device/client/. device/client/ COPY src/monitoring/__init__.py monitoring/__init__.py COPY src/monitoring/client/. monitoring/client/ -COPY src/monitoring/__init__.py monitoring/__init__.py -COPY src/monitoring/client/. monitoring/client/ COPY src/e2e_orchestrator/__init__.py e2e_orchestrator/__init__.py COPY src/e2e_orchestrator/client/. e2e_orchestrator/client/ COPY src/service/__init__.py service/__init__.py diff --git a/src/tests/ofc22/Dockerfile b/src/tests/ofc22/Dockerfile index 4817bd93a..4cba83466 100644 --- a/src/tests/ofc22/Dockerfile +++ b/src/tests/ofc22/Dockerfile @@ -72,8 +72,6 @@ COPY src/device/__init__.py device/__init__.py COPY src/device/client/. device/client/ COPY src/monitoring/__init__.py monitoring/__init__.py COPY src/monitoring/client/. monitoring/client/ -COPY src/monitoring/__init__.py monitoring/__init__.py -COPY src/monitoring/client/. monitoring/client/ COPY src/e2e_orchestrator/__init__.py e2e_orchestrator/__init__.py COPY src/e2e_orchestrator/client/. e2e_orchestrator/client/ COPY src/service/__init__.py service/__init__.py diff --git a/src/tests/ofc24/Dockerfile b/src/tests/ofc24/Dockerfile index f9db8c367..bef7d25fe 100644 --- a/src/tests/ofc24/Dockerfile +++ b/src/tests/ofc24/Dockerfile @@ -70,6 +70,8 @@ COPY src/context/__init__.py context/__init__.py COPY src/context/client/. context/client/ COPY src/device/__init__.py device/__init__.py COPY src/device/client/. device/client/ +COPY src/monitoring/__init__.py monitoring/__init__.py +COPY src/monitoring/client/. monitoring/client/ COPY src/e2e_orchestrator/__init__.py e2e_orchestrator/__init__.py COPY src/e2e_orchestrator/client/. e2e_orchestrator/client/ COPY src/service/__init__.py service/__init__.py -- GitLab From 0cf73ab700e789cb9b5f3fb0cc364acffb4a1226 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 5 Apr 2024 17:24:35 +0000 Subject: [PATCH 104/156] NBI component: - Updated README.md file - Fixed libyang version in Dockerfile - Fixed libyang version in install_requirements.sh - Added folder libyang to global gitignore - Added generation of .gitignore file for libyang/build --- .gitignore | 3 +++ install_requirements.sh | 3 +++ src/nbi/Dockerfile | 3 +++ src/nbi/README.md | 3 +++ 4 files changed, 12 insertions(+) diff --git a/.gitignore b/.gitignore index a9144d669..20b98c30c 100644 --- a/.gitignore +++ b/.gitignore @@ -171,5 +171,8 @@ local_k8s_deployment.sh # asdf configuration .tool-versions +# libyang build files +libyang/ + # Other logs **/logs/*.log.* diff --git a/install_requirements.sh b/install_requirements.sh index c59ea7f13..65f60c121 100755 --- a/install_requirements.sh +++ b/install_requirements.sh @@ -32,8 +32,11 @@ sudo apt-get --yes --quiet --quiet update sudo apt-get --yes --quiet --quiet install build-essential cmake libpcre2-dev python3-dev python3-cffi mkdir libyang git clone https://github.com/CESNET/libyang.git libyang +git fetch +git checkout v2.1.148 mkdir libyang/build cd libyang/build +echo "*" > .gitignore cmake -D CMAKE_BUILD_TYPE:String="Release" .. make sudo make install diff --git a/src/nbi/Dockerfile b/src/nbi/Dockerfile index eda4d2956..cb81256da 100644 --- a/src/nbi/Dockerfile +++ b/src/nbi/Dockerfile @@ -61,6 +61,9 @@ RUN apt-get --yes --quiet --quiet update && \ rm -rf /var/lib/apt/lists/* RUN mkdir -p /var/libyang RUN git clone https://github.com/CESNET/libyang.git /var/libyang +WORKDIR /var/libyang +RUN git fetch +RUN git checkout v2.1.148 RUN mkdir -p /var/libyang/build WORKDIR /var/libyang/build RUN cmake -D CMAKE_BUILD_TYPE:String="Release" .. diff --git a/src/nbi/README.md b/src/nbi/README.md index c5ed72704..32902a0b3 100644 --- a/src/nbi/README.md +++ b/src/nbi/README.md @@ -18,6 +18,9 @@ sudo apt-get install python3-dev gcc python3-cffi ```bash mkdir ~/tfs-ctrl/libyang git clone https://github.com/CESNET/libyang.git ~/tfs-ctrl/libyang +cd ~/tfs-ctrl/libyang +git fetch +git checkout v2.1.148 mkdir ~/tfs-ctrl/libyang/build cd ~/tfs-ctrl/libyang/build cmake -D CMAKE_BUILD_TYPE:String="Release" .. -- GitLab From 50e456a0b6e1f69de9f6a3b4e3e4f1445acf3490 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 5 Apr 2024 17:47:11 +0000 Subject: [PATCH 105/156] GitLab CI/CD pipeline - OFC'24: - Added missing script headers --- .../node-agents-config/startNetconfAgent-mg-on.sh | 13 +++++++++++++ .../node-agents-config/startNetconfAgent-tp.sh | 13 +++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/tests/ofc24/node-agents-config/startNetconfAgent-mg-on.sh b/src/tests/ofc24/node-agents-config/startNetconfAgent-mg-on.sh index fe5ad5618..e54496b40 100755 --- a/src/tests/ofc24/node-agents-config/startNetconfAgent-mg-on.sh +++ b/src/tests/ofc24/node-agents-config/startNetconfAgent-mg-on.sh @@ -1,4 +1,17 @@ #!/bin/bash +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. echo 'Cleaning...' make clean diff --git a/src/tests/ofc24/node-agents-config/startNetconfAgent-tp.sh b/src/tests/ofc24/node-agents-config/startNetconfAgent-tp.sh index afc28cee7..4e2ec0686 100755 --- a/src/tests/ofc24/node-agents-config/startNetconfAgent-tp.sh +++ b/src/tests/ofc24/node-agents-config/startNetconfAgent-tp.sh @@ -1,4 +1,17 @@ #!/bin/bash +# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. echo 'Cleaning...' make clean -- GitLab From 500bdb62becfcb4f7dad31a7a2883db167ac54f9 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 5 Apr 2024 18:15:23 +0000 Subject: [PATCH 106/156] GitLab CI/CD pipeline - OFC'24: - Corrected IP addresses and ports of node agents in topology descriptor --- src/tests/ofc24/descriptors/topology.json | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/tests/ofc24/descriptors/topology.json b/src/tests/ofc24/descriptors/topology.json index 6ae521c76..85bbad55e 100644 --- a/src/tests/ofc24/descriptors/topology.json +++ b/src/tests/ofc24/descriptors/topology.json @@ -16,8 +16,8 @@ }} ], "device_config": {"config_rules": [ - {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.15"}}, - {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "2023"}}, + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "172.254.253.101"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "2022"}}, {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { "username": "admin", "password": "admin", "force_running": false, "hostkey_verify": false, "look_for_keys": false, "allow_agent": false, "commit_per_rule": false, @@ -36,8 +36,8 @@ }} ], "device_config": {"config_rules": [ - {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.15"}}, - {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "2024"}}, + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "172.254.253.102"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "2022"}}, {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { "username": "admin", "password": "admin", "force_running": false, "hostkey_verify": false, "look_for_keys": false, "allow_agent": false, "commit_per_rule": false, @@ -68,8 +68,8 @@ }} ], "device_config": {"config_rules": [ - {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.15"}}, - {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "2025"}}, + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "172.254.253.201"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "2022"}}, {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { "username": "admin", "password": "admin", "force_running": false, "hostkey_verify": false, "look_for_keys": false, "allow_agent": false, "commit_per_rule": false, @@ -105,8 +105,8 @@ }} ], "device_config": {"config_rules": [ - {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "10.0.2.15"}}, - {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "2026"}}, + {"action": 1, "custom": {"resource_key": "_connect/address", "resource_value": "172.254.253.202"}}, + {"action": 1, "custom": {"resource_key": "_connect/port", "resource_value": "2022"}}, {"action": 1, "custom": {"resource_key": "_connect/settings", "resource_value": { "username": "admin", "password": "admin", "force_running": false, "hostkey_verify": false, "look_for_keys": false, "allow_agent": false, "commit_per_rule": false, -- GitLab From 5a4fc3a6785f8fe3d0cda951bc8a5fcdf9f39e2a Mon Sep 17 00:00:00 2001 From: kpoulakakis Date: Mon, 8 Apr 2024 11:19:09 +0300 Subject: [PATCH 107/156] refactor: add headers for the new files. --- .../tfs/policy/policy/AddPolicyDeviceImpl.java | 16 ++++++++++++++++ .../tfs/policy/policy/AddPolicyServiceImpl.java | 16 ++++++++++++++++ .../tfs/policy/policy/CommonAlarmService.java | 16 ++++++++++++++++ .../policy/policy/CommonPolicyServiceImpl.java | 16 ++++++++++++++++ .../etsi/tfs/policy/policy/DeletePolicyImpl.java | 3 --- src/policy/target/kubernetes/kubernetes.yml | 16 ++++++++-------- 6 files changed, 72 insertions(+), 11 deletions(-) delete mode 100644 src/policy/src/main/java/org/etsi/tfs/policy/policy/DeletePolicyImpl.java diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyDeviceImpl.java b/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyDeviceImpl.java index 1d6302a28..4795273c6 100644 --- a/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyDeviceImpl.java +++ b/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyDeviceImpl.java @@ -1,3 +1,19 @@ +/* +* Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + package org.etsi.tfs.policy.policy; import static org.etsi.tfs.policy.common.ApplicationProperties.INVALID_MESSAGE; diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java b/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java index 0ee7ba3ee..5932a6412 100644 --- a/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java +++ b/src/policy/src/main/java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java @@ -1,3 +1,19 @@ +/* +* Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + package org.etsi.tfs.policy.policy; import static org.etsi.tfs.policy.common.ApplicationProperties.INVALID_MESSAGE; diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/policy/CommonAlarmService.java b/src/policy/src/main/java/org/etsi/tfs/policy/policy/CommonAlarmService.java index a5bb7df21..3cfe6491e 100644 --- a/src/policy/src/main/java/org/etsi/tfs/policy/policy/CommonAlarmService.java +++ b/src/policy/src/main/java/org/etsi/tfs/policy/policy/CommonAlarmService.java @@ -1,3 +1,19 @@ +/* +* Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + package org.etsi.tfs.policy.policy; import static org.etsi.tfs.policy.common.ApplicationProperties.PROVISIONED_POLICYRULE_STATE; diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/policy/CommonPolicyServiceImpl.java b/src/policy/src/main/java/org/etsi/tfs/policy/policy/CommonPolicyServiceImpl.java index 263619f81..5ebceba17 100644 --- a/src/policy/src/main/java/org/etsi/tfs/policy/policy/CommonPolicyServiceImpl.java +++ b/src/policy/src/main/java/org/etsi/tfs/policy/policy/CommonPolicyServiceImpl.java @@ -1,3 +1,19 @@ +/* +* Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/) +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + package org.etsi.tfs.policy.policy; import static org.etsi.tfs.policy.common.ApplicationProperties.ACTIVE_POLICYRULE_STATE; diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/policy/DeletePolicyImpl.java b/src/policy/src/main/java/org/etsi/tfs/policy/policy/DeletePolicyImpl.java deleted file mode 100644 index d78d00b83..000000000 --- a/src/policy/src/main/java/org/etsi/tfs/policy/policy/DeletePolicyImpl.java +++ /dev/null @@ -1,3 +0,0 @@ -package org.etsi.tfs.policy.policy; - -public class DeletePolicyImpl {} diff --git a/src/policy/target/kubernetes/kubernetes.yml b/src/policy/target/kubernetes/kubernetes.yml index f19344627..4f581f0c9 100644 --- a/src/policy/target/kubernetes/kubernetes.yml +++ b/src/policy/target/kubernetes/kubernetes.yml @@ -3,8 +3,8 @@ apiVersion: v1 kind: Service metadata: annotations: - app.quarkus.io/commit-id: 5979d9847bc4313fb93ef1e50de27685d526cd7b - app.quarkus.io/build-timestamp: 2024-04-04 - 14:47:27 +0000 + app.quarkus.io/commit-id: 182b55a46135040b71a5980de9f72d94a85db2e8 + app.quarkus.io/build-timestamp: 2024-04-08 - 08:15:43 +0000 prometheus.io/scrape: "true" prometheus.io/path: /q/metrics prometheus.io/port: "8080" @@ -37,8 +37,8 @@ apiVersion: apps/v1 kind: Deployment metadata: annotations: - app.quarkus.io/commit-id: 5979d9847bc4313fb93ef1e50de27685d526cd7b - app.quarkus.io/build-timestamp: 2024-04-04 - 14:47:27 +0000 + app.quarkus.io/commit-id: 182b55a46135040b71a5980de9f72d94a85db2e8 + app.quarkus.io/build-timestamp: 2024-04-08 - 08:15:43 +0000 prometheus.io/scrape: "true" prometheus.io/path: /q/metrics prometheus.io/port: "8080" @@ -46,8 +46,8 @@ metadata: labels: app: policyservice app.kubernetes.io/managed-by: quarkus - app.kubernetes.io/version: 0.1.0 app.kubernetes.io/name: policyservice + app.kubernetes.io/version: 0.1.0 name: policyservice spec: replicas: 1 @@ -57,8 +57,8 @@ spec: template: metadata: annotations: - app.quarkus.io/commit-id: 5979d9847bc4313fb93ef1e50de27685d526cd7b - app.quarkus.io/build-timestamp: 2024-04-04 - 14:47:27 +0000 + app.quarkus.io/commit-id: 182b55a46135040b71a5980de9f72d94a85db2e8 + app.quarkus.io/build-timestamp: 2024-04-08 - 08:15:43 +0000 prometheus.io/scrape: "true" prometheus.io/path: /q/metrics prometheus.io/port: "8080" @@ -66,8 +66,8 @@ spec: labels: app: policyservice app.kubernetes.io/managed-by: quarkus - app.kubernetes.io/version: 0.1.0 app.kubernetes.io/name: policyservice + app.kubernetes.io/version: 0.1.0 spec: containers: - env: -- GitLab From 60dd4d21c5ebdc626b202bf39d4fbd8538896ef1 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Mon, 8 Apr 2024 15:40:33 +0000 Subject: [PATCH 108/156] Service component: - Enhanced collection of Optical Controller settings --- src/service/service/tools/OpticalTools.py | 75 +++++++++++++++-------- 1 file changed, 51 insertions(+), 24 deletions(-) diff --git a/src/service/service/tools/OpticalTools.py b/src/service/service/tools/OpticalTools.py index 206524371..20cd6b42a 100644 --- a/src/service/service/tools/OpticalTools.py +++ b/src/service/service/tools/OpticalTools.py @@ -13,35 +13,58 @@ # limitations under the License. # -import json -import requests -import uuid -from common.Constants import * +import functools, json, logging, requests, uuid from typing import List +from common.Constants import ServiceNameEnum from common.proto.context_pb2 import( Device, DeviceId, Service, Connection, EndPointId, TopologyId, ContextId, Uuid, ConfigRule, ConfigActionEnum, ConfigRule_Custom ) from common.proto.pathcomp_pb2 import PathCompReply from common.Settings import ( - ENVVAR_SUFIX_SERVICE_HOST, ENVVAR_SUFIX_SERVICE_PORT_GRPC, find_environment_variables, get_env_var_name + ENVVAR_SUFIX_SERVICE_BASEURL_HTTP, ENVVAR_SUFIX_SERVICE_HOST, ENVVAR_SUFIX_SERVICE_PORT_GRPC, + find_environment_variables, get_env_var_name +) +from service.service.tools.replies import ( + reply_uni_txt, optical_band_uni_txt, reply_bid_txt, optical_band_bid_txt ) -from service.service.tools.replies import reply_uni_txt, optical_band_uni_txt, reply_bid_txt, optical_band_bid_txt log = logging.getLogger(__name__) -testing = False +TESTING = False + +get_optical_controller_setting = functools.partial(get_env_var_name, ServiceNameEnum.OPTICALCONTROLLER) +VAR_NAME_OPTICAL_CTRL_BASEURL_HTTP = get_optical_controller_setting(ENVVAR_SUFIX_SERVICE_BASEURL_HTTP) +VAR_NAME_OPTICAL_CTRL_SCHEMA = get_optical_controller_setting('SCHEMA') +VAR_NAME_OPTICAL_CTRL_HOST = get_optical_controller_setting(ENVVAR_SUFIX_SERVICE_HOST) +VAR_NAME_OPTICAL_CTRL_PORT = get_optical_controller_setting(ENVVAR_SUFIX_SERVICE_PORT_GRPC) + +OPTICAL_CTRL_BASE_URL = '{:s}://{:s}:{:s}/OpticalTFS' + +def get_optical_controller_base_url() -> str: + settings = find_environment_variables([ + VAR_NAME_OPTICAL_CTRL_BASEURL_HTTP, + VAR_NAME_OPTICAL_CTRL_SCHEMA, + VAR_NAME_OPTICAL_CTRL_HOST, + VAR_NAME_OPTICAL_CTRL_PORT, + ]) + base_url = settings.get(VAR_NAME_OPTICAL_CTRL_BASEURL_HTTP) + if base_url is not None: + log.debug('Optical Controller: base_url={:s}'.format(str(base_url))) + return base_url + + host = settings.get(VAR_NAME_OPTICAL_CTRL_HOST) + port = int(settings.get(VAR_NAME_OPTICAL_CTRL_PORT, 80)) + + MSG = 'Optical Controller not found: settings={:s}' + if host is None: raise Exception(MSG.format(str(settings))) + if port is None: raise Exception(MSG.format(str(settings))) -VAR_NAME_OPTICAL_CONTROLLER_HOST = get_env_var_name(ServiceNameEnum.OPTICALCONTROLLER, ENVVAR_SUFIX_SERVICE_HOST) -VAR_NAME_OPTICAL_CONTROLLER_PORT = get_env_var_name(ServiceNameEnum.OPTICALCONTROLLER, ENVVAR_SUFIX_SERVICE_PORT_GRPC) + schema = settings.get(VAR_NAME_OPTICAL_CTRL_SCHEMA, 'http') + base_url = OPTICAL_CTRL_BASE_URL.format(schema, host, port) + log.debug('Optical Controller: base_url={:s}'.format(str(base_url))) + return base_url -opticalcontrollers_url = find_environment_variables([ - VAR_NAME_OPTICAL_CONTROLLER_HOST, - VAR_NAME_OPTICAL_CONTROLLER_PORT, -]) -OPTICAL_IP = opticalcontrollers_url.get(VAR_NAME_OPTICAL_CONTROLLER_HOST) -OPTICAL_PORT = opticalcontrollers_url.get(VAR_NAME_OPTICAL_CONTROLLER_PORT) -log.info(str(OPTICAL_IP), str(OPTICAL_PORT)) def get_uuids_from_names(devices: List[Device], device_name: str, port_name: str): device_uuid = "" @@ -79,17 +102,18 @@ def get_device_name_from_uuid(devices: List[Device], device_uuid: str): def add_lightpath(src, dst, bitrate, bidir, ob_band) -> str: - if not testing: + if not TESTING: urlx = "" headers = {"Content-Type": "application/json"} + base_url = get_optical_controller_base_url() if ob_band is None: if bidir is None: bidir = 1 - urlx = "http://{}:{}/OpticalTFS/AddFlexLightpath/{}/{}/{}/{}".format(OPTICAL_IP, OPTICAL_PORT, src, dst, bitrate, bidir) + urlx = "{:s}/AddFlexLightpath/{:s}/{:s}/{:s}/{:s}".format(base_url, src, dst, bitrate, bidir) else: if bidir is None: bidir = 1 - urlx = "http://{}:{}/OpticalTFS/AddFlexLightpath/{}/{}/{}/{}/{}".format(OPTICAL_IP, OPTICAL_PORT, src, dst, bitrate, bidir, ob_band) + urlx = "{:s}/AddFlexLightpath/{:s}/{:s}/{:s}/{:s}/{:s}".format(base_url, src, dst, bitrate, bidir, ob_band) r = requests.put(urlx, headers=headers) reply = r.text return reply @@ -101,8 +125,9 @@ def add_lightpath(src, dst, bitrate, bidir, ob_band) -> str: def get_optical_band(idx) -> str: - if not testing: - urlx = "http://{}:{}/OpticalTFS/GetOpticalBand/{}".format(OPTICAL_IP, OPTICAL_PORT, idx) + if not TESTING: + base_url = get_optical_controller_base_url() + urlx = "{:s}/GetOpticalBand/{:s}".format(base_url, idx) headers = {"Content-Type": "application/json"} r = requests.get(urlx, headers=headers) reply = r.text @@ -116,8 +141,9 @@ def get_optical_band(idx) -> str: def delete_lightpath(flow_id, src, dst, bitrate) -> str: reply = "200" - if not testing: - urlx = "http://{}:{}/OpticalTFS/DelLightpath/{}/{}/{}/{}".format(OPTICAL_IP, OPTICAL_PORT, flow_id, src, dst, bitrate) + if not TESTING: + base_url = get_optical_controller_base_url() + urlx = "{:s}/DelLightpath/{:s}/{:s}/{:s}/{:s}".format(base_url, flow_id, src, dst, bitrate) headers = {"Content-Type": "application/json"} r = requests.delete(urlx, headers=headers) @@ -126,7 +152,8 @@ def delete_lightpath(flow_id, src, dst, bitrate) -> str: def get_lightpaths() -> str: - urlx = "http://{}:{}/OpticalTFS/GetLightpaths".format(OPTICAL_IP, OPTICAL_PORT) + base_url = get_optical_controller_base_url() + urlx = "{:s}/GetLightpaths".format(base_url) headers = {"Content-Type": "application/json"} r = requests.get(urlx, headers=headers) -- GitLab From ab3876874c0f2a88abecdb6fbf9f656c10ed65c2 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Fri, 5 Apr 2024 17:24:35 +0000 Subject: [PATCH 109/156] NBI component: - Updated README.md file - Fixed libyang version in Dockerfile - Fixed libyang version in install_requirements.sh - Added folder libyang to global gitignore - Added generation of .gitignore file for libyang/build --- .gitignore | 3 +++ install_requirements.sh | 3 +++ src/nbi/Dockerfile | 3 +++ src/nbi/README.md | 3 +++ 4 files changed, 12 insertions(+) diff --git a/.gitignore b/.gitignore index a9144d669..20b98c30c 100644 --- a/.gitignore +++ b/.gitignore @@ -171,5 +171,8 @@ local_k8s_deployment.sh # asdf configuration .tool-versions +# libyang build files +libyang/ + # Other logs **/logs/*.log.* diff --git a/install_requirements.sh b/install_requirements.sh index c59ea7f13..65f60c121 100755 --- a/install_requirements.sh +++ b/install_requirements.sh @@ -32,8 +32,11 @@ sudo apt-get --yes --quiet --quiet update sudo apt-get --yes --quiet --quiet install build-essential cmake libpcre2-dev python3-dev python3-cffi mkdir libyang git clone https://github.com/CESNET/libyang.git libyang +git fetch +git checkout v2.1.148 mkdir libyang/build cd libyang/build +echo "*" > .gitignore cmake -D CMAKE_BUILD_TYPE:String="Release" .. make sudo make install diff --git a/src/nbi/Dockerfile b/src/nbi/Dockerfile index eda4d2956..cb81256da 100644 --- a/src/nbi/Dockerfile +++ b/src/nbi/Dockerfile @@ -61,6 +61,9 @@ RUN apt-get --yes --quiet --quiet update && \ rm -rf /var/lib/apt/lists/* RUN mkdir -p /var/libyang RUN git clone https://github.com/CESNET/libyang.git /var/libyang +WORKDIR /var/libyang +RUN git fetch +RUN git checkout v2.1.148 RUN mkdir -p /var/libyang/build WORKDIR /var/libyang/build RUN cmake -D CMAKE_BUILD_TYPE:String="Release" .. diff --git a/src/nbi/README.md b/src/nbi/README.md index c5ed72704..32902a0b3 100644 --- a/src/nbi/README.md +++ b/src/nbi/README.md @@ -18,6 +18,9 @@ sudo apt-get install python3-dev gcc python3-cffi ```bash mkdir ~/tfs-ctrl/libyang git clone https://github.com/CESNET/libyang.git ~/tfs-ctrl/libyang +cd ~/tfs-ctrl/libyang +git fetch +git checkout v2.1.148 mkdir ~/tfs-ctrl/libyang/build cd ~/tfs-ctrl/libyang/build cmake -D CMAKE_BUILD_TYPE:String="Release" .. -- GitLab From 5377075da4798b96b470a2f218bb0a7e55e2ee33 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Mon, 8 Apr 2024 16:36:02 +0000 Subject: [PATCH 110/156] GitLab CI/CD pipeline - OFC'24: - Correct order of TFS components being deployed when optical controller is activated --- src/tests/ofc24/deploy_specs.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/tests/ofc24/deploy_specs.sh b/src/tests/ofc24/deploy_specs.sh index e7458dc9d..4ade75923 100755 --- a/src/tests/ofc24/deploy_specs.sh +++ b/src/tests/ofc24/deploy_specs.sh @@ -30,7 +30,14 @@ export TFS_COMPONENTS="context device pathcomp service slice nbi webui" #export TFS_COMPONENTS="${TFS_COMPONENTS} bgpls_speaker" # Uncomment to activate Optical Controller -export TFS_COMPONENTS="${TFS_COMPONENTS} opticalcontroller" +# To manage optical connections, "service" requires "opticalcontroller" to be deployed +# before "service", thus we "hack" the TFS_COMPONENTS environment variable prepending the +# "opticalcontroller" only if "service" is already in TFS_COMPONENTS, and re-export it. +if [[ "$TFS_COMPONENTS" == *"service"* ]]; then + BEFORE="${TFS_COMPONENTS% service*}" + AFTER="${TFS_COMPONENTS#* service}" + export TFS_COMPONENTS="${BEFORE} opticalcontroller service ${AFTER}" +fi # Uncomment to activate ZTP #export TFS_COMPONENTS="${TFS_COMPONENTS} ztp" -- GitLab From afff124ff02a3f296d398c4d31920b5ade33abcb Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Mon, 8 Apr 2024 17:03:40 +0000 Subject: [PATCH 111/156] Renamed TeraFlowSDN Debug-API to TFS-API --- manifests/nginx_ingress_http.yaml | 2 +- ...pi.sh => run_tests_locally-nbi-tfs-api.sh} | 2 +- .../drivers/flexscale/FlexScaleDriver.py | 8 +-- .../drivers/ietf_l2vpn/IetfL2VpnDriver.py | 8 +-- .../{TfsDebugApiClient.py => TfsApiClient.py} | 6 +-- src/nbi/.gitlab-ci.yml | 2 +- src/nbi/service/__main__.py | 4 +- .../{debug_api => tfs_api}/Resources.py | 0 .../{debug_api => tfs_api}/Tools.py | 0 .../{debug_api => tfs_api}/__init__.py | 4 +- src/nbi/tests/PrepareTestScenario.py | 4 +- ...ebug_api_dummy.json => tfs_api_dummy.json} | 0 .../{test_debug_api.py => test_tfs_api.py} | 50 +++++++++---------- src/webui/service/templates/main/debug.html | 8 +-- 14 files changed, 49 insertions(+), 49 deletions(-) rename scripts/{run_tests_locally-nbi-debug-api.sh => run_tests_locally-nbi-tfs-api.sh} (96%) rename src/device/service/drivers/ietf_l2vpn/{TfsDebugApiClient.py => TfsApiClient.py} (97%) rename src/nbi/service/rest_server/nbi_plugins/{debug_api => tfs_api}/Resources.py (100%) rename src/nbi/service/rest_server/nbi_plugins/{debug_api => tfs_api}/Tools.py (100%) rename src/nbi/service/rest_server/nbi_plugins/{debug_api => tfs_api}/__init__.py (97%) rename src/nbi/tests/data/{debug_api_dummy.json => tfs_api_dummy.json} (100%) rename src/nbi/tests/{test_debug_api.py => test_tfs_api.py} (83%) diff --git a/manifests/nginx_ingress_http.yaml b/manifests/nginx_ingress_http.yaml index 91440fb7a..2b63e5c1c 100644 --- a/manifests/nginx_ingress_http.yaml +++ b/manifests/nginx_ingress_http.yaml @@ -43,7 +43,7 @@ spec: name: nbiservice port: number: 8080 - - path: /()(debug-api/.*) + - path: /()(tfs-api/.*) pathType: Prefix backend: service: diff --git a/scripts/run_tests_locally-nbi-debug-api.sh b/scripts/run_tests_locally-nbi-tfs-api.sh similarity index 96% rename from scripts/run_tests_locally-nbi-debug-api.sh rename to scripts/run_tests_locally-nbi-tfs-api.sh index 218bad8c5..ee195963b 100755 --- a/scripts/run_tests_locally-nbi-debug-api.sh +++ b/scripts/run_tests_locally-nbi-tfs-api.sh @@ -22,4 +22,4 @@ RCFILE=$PROJECTDIR/coverage/.coveragerc # Run unitary tests and analyze coverage of code at same time # helpful pytest flags: --log-level=INFO -o log_cli=true --verbose --maxfail=1 --durations=0 coverage run --rcfile=$RCFILE --append -m pytest --log-level=INFO --verbose \ - nbi/tests/test_debug_api.py + nbi/tests/test_tfs_api.py diff --git a/src/device/service/drivers/flexscale/FlexScaleDriver.py b/src/device/service/drivers/flexscale/FlexScaleDriver.py index f91ee1ceb..25a94cad2 100644 --- a/src/device/service/drivers/flexscale/FlexScaleDriver.py +++ b/src/device/service/drivers/flexscale/FlexScaleDriver.py @@ -21,7 +21,7 @@ from device.service.driver_api._Driver import _Driver from . import ALL_RESOURCE_KEYS from .Tools import find_key, add_lightpath, del_lightpath, get_lightpaths from device.service.driver_api._Driver import _Driver, RESOURCE_ENDPOINTS -from device.service.drivers.ietf_l2vpn.TfsDebugApiClient import TfsDebugApiClient +from device.service.drivers.ietf_l2vpn.TfsApiClient import TfsApiClient from device.service.driver_api.ImportTopologyEnum import ImportTopologyEnum, get_import_topology LOGGER = logging.getLogger(__name__) @@ -40,7 +40,7 @@ class FlexScaleDriver(_Driver): password = self.settings.get('password') self.__auth = HTTPBasicAuth(username, password) if username is not None and password is not None else None scheme = self.settings.get('scheme', 'http') - self.dac = TfsDebugApiClient(self.address, int(self.port), scheme=scheme, username=username, password=password) + self.tac = TfsApiClient(self.address, int(self.port), scheme=scheme, username=username, password=password) self.__flexscale_root = '{:s}://{:s}:{:d}'.format(scheme, self.address, int(self.port)) self.__timeout = int(self.settings.get('timeout', 120)) @@ -90,8 +90,8 @@ class FlexScaleDriver(_Driver): chk_string(str_resource_name, resource_key, allow_empty=False) if resource_key == RESOURCE_ENDPOINTS: - # return endpoints through debug-api and list-devices method - results.extend(self.dac.get_devices_endpoints(self.__import_topology)) + # return endpoints through TFS NBI API and list-devices method + results.extend(self.tac.get_devices_endpoints(self.__import_topology)) # results.extend(get_lightpaths( # self.__flexscale_root, resource_key, timeout=self.__timeout, auth=self.__auth)) diff --git a/src/device/service/drivers/ietf_l2vpn/IetfL2VpnDriver.py b/src/device/service/drivers/ietf_l2vpn/IetfL2VpnDriver.py index c79dde99a..07036fcf3 100644 --- a/src/device/service/drivers/ietf_l2vpn/IetfL2VpnDriver.py +++ b/src/device/service/drivers/ietf_l2vpn/IetfL2VpnDriver.py @@ -20,7 +20,7 @@ from common.tools.object_factory.EndPoint import json_endpoint_id from common.type_checkers.Checkers import chk_string, chk_type from device.service.driver_api._Driver import _Driver, RESOURCE_ENDPOINTS, RESOURCE_SERVICES from device.service.driver_api.ImportTopologyEnum import ImportTopologyEnum, get_import_topology -from device.service.drivers.ietf_l2vpn.TfsDebugApiClient import TfsDebugApiClient +from device.service.drivers.ietf_l2vpn.TfsApiClient import TfsApiClient from .Tools import connection_point, wim_mapping from .WimconnectorIETFL2VPN import WimconnectorIETFL2VPN @@ -56,7 +56,7 @@ class IetfL2VpnDriver(_Driver): wim_account = {'user': username, 'password': password} # Mapping updated dynamically with each request config = {'mapping_not_needed': False, 'service_endpoint_mapping': []} - self.dac = TfsDebugApiClient(self.address, int(self.port), scheme=scheme, username=username, password=password) + self.tac = TfsApiClient(self.address, int(self.port), scheme=scheme, username=username, password=password) self.wim = WimconnectorIETFL2VPN(wim, wim_account, config=config) self.conn_info = {} # internal database emulating OSM storage provided to WIM Connectors @@ -101,8 +101,8 @@ class IetfL2VpnDriver(_Driver): try: chk_string(str_resource_name, resource_key, allow_empty=False) if resource_key == RESOURCE_ENDPOINTS: - # return endpoints through debug-api and list-devices method - results.extend(self.dac.get_devices_endpoints(self.__import_topology)) + # return endpoints through TFS NBI API and list-devices method + results.extend(self.tac.get_devices_endpoints(self.__import_topology)) elif resource_key == RESOURCE_SERVICES: # return all services through reply = self.wim.get_all_active_connectivity_services() diff --git a/src/device/service/drivers/ietf_l2vpn/TfsDebugApiClient.py b/src/device/service/drivers/ietf_l2vpn/TfsApiClient.py similarity index 97% rename from src/device/service/drivers/ietf_l2vpn/TfsDebugApiClient.py rename to src/device/service/drivers/ietf_l2vpn/TfsApiClient.py index 06c55c5dc..70e7ec295 100644 --- a/src/device/service/drivers/ietf_l2vpn/TfsDebugApiClient.py +++ b/src/device/service/drivers/ietf_l2vpn/TfsApiClient.py @@ -17,8 +17,8 @@ from requests.auth import HTTPBasicAuth from typing import Dict, List, Optional from device.service.driver_api.ImportTopologyEnum import ImportTopologyEnum -GET_DEVICES_URL = '{:s}://{:s}:{:d}/restconf/debug-api/devices' -GET_LINKS_URL = '{:s}://{:s}:{:d}/restconf/debug-api/links' +GET_DEVICES_URL = '{:s}://{:s}:{:d}/tfs-api/devices' +GET_LINKS_URL = '{:s}://{:s}:{:d}/tfs-api/links' TIMEOUT = 30 HTTP_OK_CODES = { @@ -51,7 +51,7 @@ MSG_ERROR = 'Could not retrieve devices in remote TeraFlowSDN instance({:s}). st LOGGER = logging.getLogger(__name__) -class TfsDebugApiClient: +class TfsApiClient: def __init__( self, address : str, port : int, scheme : str = 'http', username : Optional[str] = None, password : Optional[str] = None diff --git a/src/nbi/.gitlab-ci.yml b/src/nbi/.gitlab-ci.yml index 2f7110202..219e90132 100644 --- a/src/nbi/.gitlab-ci.yml +++ b/src/nbi/.gitlab-ci.yml @@ -66,7 +66,7 @@ unit_test nbi: - sleep 5 - docker ps -a - docker logs $IMAGE_NAME - - docker exec -i $IMAGE_NAME bash -c "coverage run --append -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_debug_api.py --junitxml=/opt/results/${IMAGE_NAME}_report_debug_api.xml" + - docker exec -i $IMAGE_NAME bash -c "coverage run --append -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_tfs_api.py --junitxml=/opt/results/${IMAGE_NAME}_report_tfs_api.xml" - docker exec -i $IMAGE_NAME bash -c "coverage run --append -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_ietf_l2vpn.py --junitxml=/opt/results/${IMAGE_NAME}_report_ietf_l2vpn.xml" - docker exec -i $IMAGE_NAME bash -c "coverage run --append -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_ietf_network.py --junitxml=/opt/results/${IMAGE_NAME}_report_ietf_network.xml" - docker exec -i $IMAGE_NAME bash -c "coverage run --append -m pytest --log-level=INFO --verbose $IMAGE_NAME/tests/test_ietf_l3vpn.py --junitxml=/opt/results/${IMAGE_NAME}_report_ietf_l3vpn.xml" diff --git a/src/nbi/service/__main__.py b/src/nbi/service/__main__.py index 8834e45a2..1ccacd6d3 100644 --- a/src/nbi/service/__main__.py +++ b/src/nbi/service/__main__.py @@ -20,12 +20,12 @@ from common.Settings import ( wait_for_environment_variables) from .NbiService import NbiService from .rest_server.RestServer import RestServer -from .rest_server.nbi_plugins.debug_api import register_debug_api from .rest_server.nbi_plugins.etsi_bwm import register_etsi_bwm_api from .rest_server.nbi_plugins.ietf_l2vpn import register_ietf_l2vpn from .rest_server.nbi_plugins.ietf_l3vpn import register_ietf_l3vpn from .rest_server.nbi_plugins.ietf_network import register_ietf_network from .rest_server.nbi_plugins.ietf_network_slice import register_ietf_nss +from .rest_server.nbi_plugins.tfs_api import register_tfs_api terminate = threading.Event() LOGGER = None @@ -62,12 +62,12 @@ def main(): grpc_service.start() rest_server = RestServer() - register_debug_api(rest_server) register_etsi_bwm_api(rest_server) register_ietf_l2vpn(rest_server) # Registering L2VPN entrypoint register_ietf_l3vpn(rest_server) # Registering L3VPN entrypoint register_ietf_network(rest_server) register_ietf_nss(rest_server) # Registering NSS entrypoint + register_tfs_api(rest_server) rest_server.start() # Wait for Ctrl+C or termination signal diff --git a/src/nbi/service/rest_server/nbi_plugins/debug_api/Resources.py b/src/nbi/service/rest_server/nbi_plugins/tfs_api/Resources.py similarity index 100% rename from src/nbi/service/rest_server/nbi_plugins/debug_api/Resources.py rename to src/nbi/service/rest_server/nbi_plugins/tfs_api/Resources.py diff --git a/src/nbi/service/rest_server/nbi_plugins/debug_api/Tools.py b/src/nbi/service/rest_server/nbi_plugins/tfs_api/Tools.py similarity index 100% rename from src/nbi/service/rest_server/nbi_plugins/debug_api/Tools.py rename to src/nbi/service/rest_server/nbi_plugins/tfs_api/Tools.py diff --git a/src/nbi/service/rest_server/nbi_plugins/debug_api/__init__.py b/src/nbi/service/rest_server/nbi_plugins/tfs_api/__init__.py similarity index 97% rename from src/nbi/service/rest_server/nbi_plugins/debug_api/__init__.py rename to src/nbi/service/rest_server/nbi_plugins/tfs_api/__init__.py index 1ccf93144..cc622e1f9 100644 --- a/src/nbi/service/rest_server/nbi_plugins/debug_api/__init__.py +++ b/src/nbi/service/rest_server/nbi_plugins/tfs_api/__init__.py @@ -25,7 +25,7 @@ from .Resources import ( Topologies, Topology, TopologyIds ) -URL_PREFIX = '/debug-api' +URL_PREFIX = '/tfs-api' # Use 'path' type since some identifiers might contain char '/' and Flask is unable to recognize them in 'string' type. RESOURCES = [ @@ -64,6 +64,6 @@ RESOURCES = [ ('api.policyrule', PolicyRule, '/policyrule/'), ] -def register_debug_api(rest_server : RestServer): +def register_tfs_api(rest_server : RestServer): for endpoint_name, resource_class, resource_url in RESOURCES: rest_server.add_resource(resource_class, URL_PREFIX + resource_url, endpoint=endpoint_name) diff --git a/src/nbi/tests/PrepareTestScenario.py b/src/nbi/tests/PrepareTestScenario.py index 461245e09..ab477fb0b 100644 --- a/src/nbi/tests/PrepareTestScenario.py +++ b/src/nbi/tests/PrepareTestScenario.py @@ -21,11 +21,11 @@ from common.Settings import ( ) from context.client.ContextClient import ContextClient from nbi.service.rest_server.RestServer import RestServer -from nbi.service.rest_server.nbi_plugins.debug_api import register_debug_api from nbi.service.rest_server.nbi_plugins.etsi_bwm import register_etsi_bwm_api from nbi.service.rest_server.nbi_plugins.ietf_l2vpn import register_ietf_l2vpn from nbi.service.rest_server.nbi_plugins.ietf_l3vpn import register_ietf_l3vpn from nbi.service.rest_server.nbi_plugins.ietf_network import register_ietf_network +from nbi.service.rest_server.nbi_plugins.tfs_api import register_tfs_api from nbi.tests.MockService_Dependencies import MockService_Dependencies from service.client.ServiceClient import ServiceClient from slice.client.SliceClient import SliceClient @@ -49,11 +49,11 @@ def mock_service(): @pytest.fixture(scope='session') def nbi_service_rest(mock_service : MockService_Dependencies): # pylint: disable=redefined-outer-name, unused-argument _rest_server = RestServer() - register_debug_api(_rest_server) register_etsi_bwm_api(_rest_server) register_ietf_l2vpn(_rest_server) register_ietf_l3vpn(_rest_server) register_ietf_network(_rest_server) + register_tfs_api(_rest_server) _rest_server.start() time.sleep(1) # bring time for the server to start yield _rest_server diff --git a/src/nbi/tests/data/debug_api_dummy.json b/src/nbi/tests/data/tfs_api_dummy.json similarity index 100% rename from src/nbi/tests/data/debug_api_dummy.json rename to src/nbi/tests/data/tfs_api_dummy.json diff --git a/src/nbi/tests/test_debug_api.py b/src/nbi/tests/test_tfs_api.py similarity index 83% rename from src/nbi/tests/test_debug_api.py rename to src/nbi/tests/test_tfs_api.py index f19531eae..91aa64b4e 100644 --- a/src/nbi/tests/test_debug_api.py +++ b/src/nbi/tests/test_tfs_api.py @@ -39,7 +39,7 @@ from .PrepareTestScenario import ( # pylint: disable=unused-import LOGGER = logging.getLogger(__name__) LOGGER.setLevel(logging.DEBUG) -DESCRIPTOR_FILE = 'nbi/tests/data/debug_api_dummy.json' +DESCRIPTOR_FILE = 'nbi/tests/data/tfs_api_dummy.json' JSON_ADMIN_CONTEXT_ID = json_context_id(DEFAULT_CONTEXT_NAME) ADMIN_CONTEXT_ID = ContextId(**JSON_ADMIN_CONTEXT_ID) @@ -64,16 +64,16 @@ def test_prepare_environment(context_client : ContextClient) -> None: # pylint: # ----- Context -------------------------------------------------------------------------------------------------------- def test_rest_get_context_ids(nbi_service_rest: RestServer): # pylint: disable=redefined-outer-name, unused-argument - reply = do_rest_get_request('/debug-api/context_ids') + reply = do_rest_get_request('/tfs-api/context_ids') validate_context_ids(reply) def test_rest_get_contexts(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument - reply = do_rest_get_request('/debug-api/contexts') + reply = do_rest_get_request('/tfs-api/contexts') validate_contexts(reply) def test_rest_get_context(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument context_uuid = urllib.parse.quote(DEFAULT_CONTEXT_NAME) - reply = do_rest_get_request('/debug-api/context/{:s}'.format(context_uuid)) + reply = do_rest_get_request('/tfs-api/context/{:s}'.format(context_uuid)) validate_context(reply) @@ -81,50 +81,50 @@ def test_rest_get_context(nbi_service_rest : RestServer): # pylint: disable=rede def test_rest_get_topology_ids(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument context_uuid = urllib.parse.quote(DEFAULT_CONTEXT_NAME) - reply = do_rest_get_request('/debug-api/context/{:s}/topology_ids'.format(context_uuid)) + reply = do_rest_get_request('/tfs-api/context/{:s}/topology_ids'.format(context_uuid)) validate_topology_ids(reply) def test_rest_get_topologies(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument context_uuid = urllib.parse.quote(DEFAULT_CONTEXT_NAME) - reply = do_rest_get_request('/debug-api/context/{:s}/topologies'.format(context_uuid)) + reply = do_rest_get_request('/tfs-api/context/{:s}/topologies'.format(context_uuid)) validate_topologies(reply) def test_rest_get_topology(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument context_uuid = urllib.parse.quote(DEFAULT_CONTEXT_NAME) topology_uuid = urllib.parse.quote(DEFAULT_TOPOLOGY_NAME) - reply = do_rest_get_request('/debug-api/context/{:s}/topology/{:s}'.format(context_uuid, topology_uuid)) + reply = do_rest_get_request('/tfs-api/context/{:s}/topology/{:s}'.format(context_uuid, topology_uuid)) validate_topology(reply, num_devices=3, num_links=6) # ----- Device --------------------------------------------------------------------------------------------------------- def test_rest_get_device_ids(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument - reply = do_rest_get_request('/debug-api/device_ids') + reply = do_rest_get_request('/tfs-api/device_ids') validate_device_ids(reply) def test_rest_get_devices(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument - reply = do_rest_get_request('/debug-api/devices') + reply = do_rest_get_request('/tfs-api/devices') validate_devices(reply) def test_rest_get_device(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument device_uuid = urllib.parse.quote('R1', safe='') - reply = do_rest_get_request('/debug-api/device/{:s}'.format(device_uuid)) + reply = do_rest_get_request('/tfs-api/device/{:s}'.format(device_uuid)) validate_device(reply) # ----- Link ----------------------------------------------------------------------------------------------------------- def test_rest_get_link_ids(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument - reply = do_rest_get_request('/debug-api/link_ids') + reply = do_rest_get_request('/tfs-api/link_ids') validate_link_ids(reply) def test_rest_get_links(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument - reply = do_rest_get_request('/debug-api/links') + reply = do_rest_get_request('/tfs-api/links') validate_links(reply) def test_rest_get_link(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument link_uuid = urllib.parse.quote('R1/502==R2/501', safe='') - reply = do_rest_get_request('/debug-api/link/{:s}'.format(link_uuid)) + reply = do_rest_get_request('/tfs-api/link/{:s}'.format(link_uuid)) validate_link(reply) @@ -132,18 +132,18 @@ def test_rest_get_link(nbi_service_rest : RestServer): # pylint: disable=redefin def test_rest_get_service_ids(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument context_uuid = urllib.parse.quote(DEFAULT_CONTEXT_NAME) - reply = do_rest_get_request('/debug-api/context/{:s}/service_ids'.format(context_uuid)) + reply = do_rest_get_request('/tfs-api/context/{:s}/service_ids'.format(context_uuid)) validate_service_ids(reply) def test_rest_get_services(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument context_uuid = urllib.parse.quote(DEFAULT_CONTEXT_NAME) - reply = do_rest_get_request('/debug-api/context/{:s}/services'.format(context_uuid)) + reply = do_rest_get_request('/tfs-api/context/{:s}/services'.format(context_uuid)) validate_services(reply) def test_rest_get_service(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument context_uuid = urllib.parse.quote(DEFAULT_CONTEXT_NAME) service_uuid = urllib.parse.quote('SVC:R1/200==R2/200', safe='') - reply = do_rest_get_request('/debug-api/context/{:s}/service/{:s}'.format(context_uuid, service_uuid)) + reply = do_rest_get_request('/tfs-api/context/{:s}/service/{:s}'.format(context_uuid, service_uuid)) validate_service(reply) @@ -151,18 +151,18 @@ def test_rest_get_service(nbi_service_rest : RestServer): # pylint: disable=rede def test_rest_get_slice_ids(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument context_uuid = urllib.parse.quote(DEFAULT_CONTEXT_NAME) - reply = do_rest_get_request('/debug-api/context/{:s}/slice_ids'.format(context_uuid)) + reply = do_rest_get_request('/tfs-api/context/{:s}/slice_ids'.format(context_uuid)) validate_slice_ids(reply) def test_rest_get_slices(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument context_uuid = urllib.parse.quote(DEFAULT_CONTEXT_NAME) - reply = do_rest_get_request('/debug-api/context/{:s}/slices'.format(context_uuid)) + reply = do_rest_get_request('/tfs-api/context/{:s}/slices'.format(context_uuid)) validate_slices(reply) def test_rest_get_slice(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument context_uuid = urllib.parse.quote(DEFAULT_CONTEXT_NAME) slice_uuid = urllib.parse.quote('SLC:R1-R2-R3', safe='') - reply = do_rest_get_request('/debug-api/context/{:s}/slice/{:s}'.format(context_uuid, slice_uuid)) + reply = do_rest_get_request('/tfs-api/context/{:s}/slice/{:s}'.format(context_uuid, slice_uuid)) validate_slice(reply) @@ -171,33 +171,33 @@ def test_rest_get_slice(nbi_service_rest : RestServer): # pylint: disable=redefi def test_rest_get_connection_ids(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument context_uuid = urllib.parse.quote(DEFAULT_CONTEXT_NAME) service_uuid = urllib.parse.quote('SVC:R1/200==R2/200', safe='') - reply = do_rest_get_request('/debug-api/context/{:s}/service/{:s}/connection_ids'.format(context_uuid, service_uuid)) + reply = do_rest_get_request('/tfs-api/context/{:s}/service/{:s}/connection_ids'.format(context_uuid, service_uuid)) validate_connection_ids(reply) def test_rest_get_connections(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument context_uuid = urllib.parse.quote(DEFAULT_CONTEXT_NAME) service_uuid = urllib.parse.quote('SVC:R1/200==R2/200', safe='') - reply = do_rest_get_request('/debug-api/context/{:s}/service/{:s}/connections'.format(context_uuid, service_uuid)) + reply = do_rest_get_request('/tfs-api/context/{:s}/service/{:s}/connections'.format(context_uuid, service_uuid)) validate_connections(reply) def test_rest_get_connection(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument connection_uuid = urllib.parse.quote('CON:R1/200==R2/200:1', safe='') - reply = do_rest_get_request('/debug-api/connection/{:s}'.format(connection_uuid)) + reply = do_rest_get_request('/tfs-api/connection/{:s}'.format(connection_uuid)) validate_connection(reply) # ----- Policy --------------------------------------------------------------------------------------------------------- #def test_rest_get_policyrule_ids(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument -# reply = do_rest_get_request('/debug-api/policyrule_ids') +# reply = do_rest_get_request('/tfs-api/policyrule_ids') # validate_policyrule_ids(reply) #def test_rest_get_policyrules(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument -# reply = do_rest_get_request('/debug-api/policyrules') +# reply = do_rest_get_request('/tfs-api/policyrules') # validate_policyrules(reply) #def test_rest_get_policyrule(nbi_service_rest : RestServer): # pylint: disable=redefined-outer-name, unused-argument # policyrule_uuid_quoted = urllib.parse.quote(policyrule_uuid, safe='') -# reply = do_rest_get_request('/debug-api/policyrule/{:s}'.format(policyrule_uuid_quoted)) +# reply = do_rest_get_request('/tfs-api/policyrule/{:s}'.format(policyrule_uuid_quoted)) # validate_policyrule(reply) diff --git a/src/webui/service/templates/main/debug.html b/src/webui/service/templates/main/debug.html index a6964d588..f6ec5a501 100644 --- a/src/webui/service/templates/main/debug.html +++ b/src/webui/service/templates/main/debug.html @@ -20,10 +20,10 @@

Debug API

{% endblock %} -- GitLab From aa7cb3a03cd723f9b109c709bdcb08e53d064a0b Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Mon, 8 Apr 2024 17:20:32 +0000 Subject: [PATCH 112/156] Renamed FLEXSCALE SBI Driver to Optical TFS SBI Driver --- proto/context.proto | 2 +- src/common/type_checkers/Assertions.py | 2 +- .../database/models/enums/DeviceDriver.py | 2 +- src/device/service/drivers/__init__.py | 6 +++--- .../drivers/ietf_l2vpn/TfsDebugApiClient.py | 4 +++- .../OpticalTfsDriver.py} | 20 +++++++++---------- .../{flexscale => optical_tfs}/Tools.py | 0 .../{flexscale => optical_tfs}/__init__.py | 0 .../java/org/etsi/tfs/policy/Serializer.java | 8 ++++---- .../context/model/DeviceDriverEnum.java | 2 +- .../org/etsi/tfs/policy/SerializerTest.java | 2 +- .../service_handler_api/FilterFields.py | 2 +- .../service/service_handlers/__init__.py | 2 +- .../MockTfsOpticalSdnCtrl.py} | 0 .../data.py | 0 .../run.sh | 2 +- src/webui/service/device/forms.py | 2 +- src/webui/service/device/routes.py | 4 ++-- src/webui/service/templates/device/add.html | 2 +- .../java/org/etsi/tfs/ztp/Serializer.java | 8 ++++---- .../ztp/context/model/DeviceDriverEnum.java | 2 +- .../java/org/etsi/tfs/ztp/SerializerTest.java | 2 +- 22 files changed, 38 insertions(+), 36 deletions(-) rename src/device/service/drivers/{flexscale/FlexScaleDriver.py => optical_tfs/OpticalTfsDriver.py} (90%) rename src/device/service/drivers/{flexscale => optical_tfs}/Tools.py (100%) rename src/device/service/drivers/{flexscale => optical_tfs}/__init__.py (100%) rename src/tests/tools/{mock_flexscale_opt_ctrl/MockFlexscaleOptCtrl.py => mock_tfs_optical_sdn_ctrl/MockTfsOpticalSdnCtrl.py} (100%) rename src/tests/tools/{mock_flexscale_opt_ctrl => mock_tfs_optical_sdn_ctrl}/data.py (100%) rename src/tests/tools/{mock_flexscale_opt_ctrl => mock_tfs_optical_sdn_ctrl}/run.sh (95%) diff --git a/proto/context.proto b/proto/context.proto index 8a6b019dc..a4cc4c6a7 100644 --- a/proto/context.proto +++ b/proto/context.proto @@ -211,7 +211,7 @@ enum DeviceDriverEnum { DEVICEDRIVER_XR = 6; DEVICEDRIVER_IETF_L2VPN = 7; DEVICEDRIVER_GNMI_OPENCONFIG = 8; - DEVICEDRIVER_FLEXSCALE = 9; + DEVICEDRIVER_OPTICAL_TFS = 9; DEVICEDRIVER_IETF_ACTN = 10; DEVICEDRIVER_OC = 11; } diff --git a/src/common/type_checkers/Assertions.py b/src/common/type_checkers/Assertions.py index 87d8e54ee..ac1462ac4 100644 --- a/src/common/type_checkers/Assertions.py +++ b/src/common/type_checkers/Assertions.py @@ -46,7 +46,7 @@ def validate_device_driver_enum(message): 'DEVICEDRIVER_XR', 'DEVICEDRIVER_IETF_L2VPN', 'DEVICEDRIVER_GNMI_OPENCONFIG', - 'DEVICEDRIVER_FLEXSCALE', + 'DEVICEDRIVER_OPTICAL_TFS', 'DEVICEDRIVER_IETF_ACTN', ] diff --git a/src/context/service/database/models/enums/DeviceDriver.py b/src/context/service/database/models/enums/DeviceDriver.py index 2ccdda272..194d66fed 100644 --- a/src/context/service/database/models/enums/DeviceDriver.py +++ b/src/context/service/database/models/enums/DeviceDriver.py @@ -31,7 +31,7 @@ class ORM_DeviceDriverEnum(enum.Enum): XR = DeviceDriverEnum.DEVICEDRIVER_XR IETF_L2VPN = DeviceDriverEnum.DEVICEDRIVER_IETF_L2VPN GNMI_OPENCONFIG = DeviceDriverEnum.DEVICEDRIVER_GNMI_OPENCONFIG - FLEXSCALE = DeviceDriverEnum.DEVICEDRIVER_FLEXSCALE + OPTICAL_TFS = DeviceDriverEnum.DEVICEDRIVER_OPTICAL_TFS IETF_ACTN = DeviceDriverEnum.DEVICEDRIVER_IETF_ACTN OC = DeviceDriverEnum.DEVICEDRIVER_OC diff --git a/src/device/service/drivers/__init__.py b/src/device/service/drivers/__init__.py index beb3db38e..97cf166e6 100644 --- a/src/device/service/drivers/__init__.py +++ b/src/device/service/drivers/__init__.py @@ -156,12 +156,12 @@ if LOAD_ALL_DEVICE_DRIVERS: ])) if LOAD_ALL_DEVICE_DRIVERS: - from .flexscale.FlexScaleDriver import FlexScaleDriver # pylint: disable=wrong-import-position + from .optical_tfs.OpticalTfsDriver import OpticalTfsDriver # pylint: disable=wrong-import-position DRIVERS.append( - (FlexScaleDriver, [ + (OpticalTfsDriver, [ { FilterFieldEnum.DEVICE_TYPE: DeviceTypeEnum.OPEN_LINE_SYSTEM, - FilterFieldEnum.DRIVER: DeviceDriverEnum.DEVICEDRIVER_FLEXSCALE, + FilterFieldEnum.DRIVER: DeviceDriverEnum.DEVICEDRIVER_OPTICAL_TFS, } ])) diff --git a/src/device/service/drivers/ietf_l2vpn/TfsDebugApiClient.py b/src/device/service/drivers/ietf_l2vpn/TfsDebugApiClient.py index 06c55c5dc..a160e14bb 100644 --- a/src/device/service/drivers/ietf_l2vpn/TfsDebugApiClient.py +++ b/src/device/service/drivers/ietf_l2vpn/TfsDebugApiClient.py @@ -44,7 +44,9 @@ MAPPING_DRIVER = { 'DEVICEDRIVER_XR' : 6, 'DEVICEDRIVER_IETF_L2VPN' : 7, 'DEVICEDRIVER_GNMI_OPENCONFIG' : 8, - 'DEVICEDRIVER_FLEXSCALE' : 9, + 'DEVICEDRIVER_OPTICAL_TFS' : 9, + 'DEVICEDRIVER_IETF_ACTN' : 10, + 'DEVICEDRIVER_OC' : 11, } MSG_ERROR = 'Could not retrieve devices in remote TeraFlowSDN instance({:s}). status_code={:s} reply={:s}' diff --git a/src/device/service/drivers/flexscale/FlexScaleDriver.py b/src/device/service/drivers/optical_tfs/OpticalTfsDriver.py similarity index 90% rename from src/device/service/drivers/flexscale/FlexScaleDriver.py rename to src/device/service/drivers/optical_tfs/OpticalTfsDriver.py index f91ee1ceb..0bac68fc9 100644 --- a/src/device/service/drivers/flexscale/FlexScaleDriver.py +++ b/src/device/service/drivers/optical_tfs/OpticalTfsDriver.py @@ -26,11 +26,11 @@ from device.service.driver_api.ImportTopologyEnum import ImportTopologyEnum, get LOGGER = logging.getLogger(__name__) -DRIVER_NAME = 'flexscale' +DRIVER_NAME = 'optical_tfs' METRICS_POOL = MetricsPool('Device', 'Driver', labels={'driver': DRIVER_NAME}) -class FlexScaleDriver(_Driver): +class OpticalTfsDriver(_Driver): def __init__(self, address: str, port: int, **settings) -> None: super().__init__(DRIVER_NAME, address, port, **settings) self.__lock = threading.Lock() @@ -41,7 +41,7 @@ class FlexScaleDriver(_Driver): self.__auth = HTTPBasicAuth(username, password) if username is not None and password is not None else None scheme = self.settings.get('scheme', 'http') self.dac = TfsDebugApiClient(self.address, int(self.port), scheme=scheme, username=username, password=password) - self.__flexscale_root = '{:s}://{:s}:{:d}'.format(scheme, self.address, int(self.port)) + self.__base_url = '{:s}://{:s}:{:d}'.format(scheme, self.address, int(self.port)) self.__timeout = int(self.settings.get('timeout', 120)) # Options are: @@ -54,7 +54,7 @@ class FlexScaleDriver(_Driver): def Connect(self) -> bool: - url = self.__flexscale_root + '/OpticalTFS/GetLightpaths' + url = self.__base_url + '/OpticalTFS/GetLightpaths' with self.__lock: if self.__started.is_set(): return True try: @@ -94,7 +94,7 @@ class FlexScaleDriver(_Driver): results.extend(self.dac.get_devices_endpoints(self.__import_topology)) # results.extend(get_lightpaths( - # self.__flexscale_root, resource_key, timeout=self.__timeout, auth=self.__auth)) + # self.__base_url, resource_key, timeout=self.__timeout, auth=self.__auth)) return results @metered_subclass_method(METRICS_POOL) @@ -110,7 +110,7 @@ class FlexScaleDriver(_Driver): dst_node = find_key(resource, 'dst_node') bitrate = find_key(resource, 'bitrate') - response = add_lightpath(self.__flexscale_root, src_node, dst_node, bitrate, + response = add_lightpath(self.__base_url, src_node, dst_node, bitrate, auth=self.__auth, timeout=self.__timeout) results.extend(response) @@ -129,23 +129,23 @@ class FlexScaleDriver(_Driver): dst_node = find_key(resource, 'dst_node') bitrate = find_key(resource, 'bitrate') - response = del_lightpath(self.__flexscale_root, flow_id, src_node, dst_node, bitrate) + response = del_lightpath(self.__base_url, flow_id, src_node, dst_node, bitrate) results.extend(response) return results @metered_subclass_method(METRICS_POOL) def SubscribeState(self, subscriptions : List[Tuple[str, float, float]]) -> List[Union[bool, Exception]]: - # FlexScale does not support monitoring by now + # Optical TFS does not support monitoring by now return [False for _ in subscriptions] @metered_subclass_method(METRICS_POOL) def UnsubscribeState(self, subscriptions : List[Tuple[str, float, float]]) -> List[Union[bool, Exception]]: - # FlexScale does not support monitoring by now + # Optical TFS does not support monitoring by now return [False for _ in subscriptions] def GetState( self, blocking=False, terminate : Optional[threading.Event] = None ) -> Iterator[Tuple[float, str, Any]]: - # FlexScale does not support monitoring by now + # Optical TFS does not support monitoring by now return [] diff --git a/src/device/service/drivers/flexscale/Tools.py b/src/device/service/drivers/optical_tfs/Tools.py similarity index 100% rename from src/device/service/drivers/flexscale/Tools.py rename to src/device/service/drivers/optical_tfs/Tools.py diff --git a/src/device/service/drivers/flexscale/__init__.py b/src/device/service/drivers/optical_tfs/__init__.py similarity index 100% rename from src/device/service/drivers/flexscale/__init__.py rename to src/device/service/drivers/optical_tfs/__init__.py diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/Serializer.java b/src/policy/src/main/java/org/etsi/tfs/policy/Serializer.java index 570a7fb9e..e9024d86f 100644 --- a/src/policy/src/main/java/org/etsi/tfs/policy/Serializer.java +++ b/src/policy/src/main/java/org/etsi/tfs/policy/Serializer.java @@ -2300,8 +2300,8 @@ public class Serializer { return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_IETF_L2VPN; case GNMI_OPENCONFIG: return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_GNMI_OPENCONFIG; - case FLEXSCALE: - return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_FLEXSCALE; + case OPTICAL_TFS: + return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_OPTICAL_TFS; case IETF_ACTN: return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_IETF_ACTN; case UNDEFINED: @@ -2329,8 +2329,8 @@ public class Serializer { return DeviceDriverEnum.IETF_L2VPN; case DEVICEDRIVER_GNMI_OPENCONFIG: return DeviceDriverEnum.GNMI_OPENCONFIG; - case DEVICEDRIVER_FLEXSCALE: - return DeviceDriverEnum.FLEXSCALE; + case DEVICEDRIVER_OPTICAL_TFS: + return DeviceDriverEnum.OPTICAL_TFS; case DEVICEDRIVER_IETF_ACTN: return DeviceDriverEnum.IETF_ACTN; case DEVICEDRIVER_UNDEFINED: diff --git a/src/policy/src/main/java/org/etsi/tfs/policy/context/model/DeviceDriverEnum.java b/src/policy/src/main/java/org/etsi/tfs/policy/context/model/DeviceDriverEnum.java index 72a1d7136..ce1d6a3f6 100644 --- a/src/policy/src/main/java/org/etsi/tfs/policy/context/model/DeviceDriverEnum.java +++ b/src/policy/src/main/java/org/etsi/tfs/policy/context/model/DeviceDriverEnum.java @@ -26,6 +26,6 @@ public enum DeviceDriverEnum { XR, IETF_L2VPN, GNMI_OPENCONFIG, - FLEXSCALE, + OPTICAL_TFS, IETF_ACTN } diff --git a/src/policy/src/test/java/org/etsi/tfs/policy/SerializerTest.java b/src/policy/src/test/java/org/etsi/tfs/policy/SerializerTest.java index 396706f36..37c7ddbdf 100644 --- a/src/policy/src/test/java/org/etsi/tfs/policy/SerializerTest.java +++ b/src/policy/src/test/java/org/etsi/tfs/policy/SerializerTest.java @@ -3618,7 +3618,7 @@ class SerializerTest { DeviceDriverEnum.GNMI_OPENCONFIG, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_GNMI_OPENCONFIG), Arguments.of( - DeviceDriverEnum.FLEXSCALE, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_FLEXSCALE), + DeviceDriverEnum.OPTICAL_TFS, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_OPTICAL_TFS), Arguments.of( DeviceDriverEnum.IETF_ACTN, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_IETF_ACTN), Arguments.of( diff --git a/src/service/service/service_handler_api/FilterFields.py b/src/service/service/service_handler_api/FilterFields.py index 633f41b63..be7a4506e 100644 --- a/src/service/service/service_handler_api/FilterFields.py +++ b/src/service/service/service_handler_api/FilterFields.py @@ -39,7 +39,7 @@ DEVICE_DRIVER_VALUES = { DeviceDriverEnum.DEVICEDRIVER_XR, DeviceDriverEnum.DEVICEDRIVER_IETF_L2VPN, DeviceDriverEnum.DEVICEDRIVER_GNMI_OPENCONFIG, - DeviceDriverEnum.DEVICEDRIVER_FLEXSCALE, + DeviceDriverEnum.DEVICEDRIVER_OPTICAL_TFS, DeviceDriverEnum.DEVICEDRIVER_IETF_ACTN, DeviceDriverEnum.DEVICEDRIVER_OC } diff --git a/src/service/service/service_handlers/__init__.py b/src/service/service/service_handlers/__init__.py index f0628110f..0f35e063c 100644 --- a/src/service/service/service_handlers/__init__.py +++ b/src/service/service/service_handlers/__init__.py @@ -98,7 +98,7 @@ SERVICE_HANDLERS = [ (E2EOrchestratorServiceHandler, [ { FilterFieldEnum.SERVICE_TYPE : ServiceTypeEnum.SERVICETYPE_E2E, - FilterFieldEnum.DEVICE_DRIVER : [DeviceDriverEnum.DEVICEDRIVER_FLEXSCALE], + FilterFieldEnum.DEVICE_DRIVER : [DeviceDriverEnum.DEVICEDRIVER_OPTICAL_TFS], } ]), (OCServiceHandler, [ diff --git a/src/tests/tools/mock_flexscale_opt_ctrl/MockFlexscaleOptCtrl.py b/src/tests/tools/mock_tfs_optical_sdn_ctrl/MockTfsOpticalSdnCtrl.py similarity index 100% rename from src/tests/tools/mock_flexscale_opt_ctrl/MockFlexscaleOptCtrl.py rename to src/tests/tools/mock_tfs_optical_sdn_ctrl/MockTfsOpticalSdnCtrl.py diff --git a/src/tests/tools/mock_flexscale_opt_ctrl/data.py b/src/tests/tools/mock_tfs_optical_sdn_ctrl/data.py similarity index 100% rename from src/tests/tools/mock_flexscale_opt_ctrl/data.py rename to src/tests/tools/mock_tfs_optical_sdn_ctrl/data.py diff --git a/src/tests/tools/mock_flexscale_opt_ctrl/run.sh b/src/tests/tools/mock_tfs_optical_sdn_ctrl/run.sh similarity index 95% rename from src/tests/tools/mock_flexscale_opt_ctrl/run.sh rename to src/tests/tools/mock_tfs_optical_sdn_ctrl/run.sh index 183df7a03..4dc59b046 100755 --- a/src/tests/tools/mock_flexscale_opt_ctrl/run.sh +++ b/src/tests/tools/mock_tfs_optical_sdn_ctrl/run.sh @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -python MockFlexscaleOptCtrl.py +python MockTfsOpticalSdnCtrl.py diff --git a/src/webui/service/device/forms.py b/src/webui/service/device/forms.py index 4c04bbfe1..45cece44f 100644 --- a/src/webui/service/device/forms.py +++ b/src/webui/service/device/forms.py @@ -31,7 +31,7 @@ class AddDeviceForm(FlaskForm): device_drivers_xr = BooleanField('XR') device_drivers_ietf_l2vpn = BooleanField('IETF L2VPN') device_drivers_gnmi_openconfig = BooleanField('GNMI OPENCONFIG') - device_drivers_flexscale = BooleanField('FLEXSCALE') + device_drivers_optical_tfs = BooleanField('OPTICAL TFS') device_drivers_ietf_actn = BooleanField('IETF ACTN') device_config_address = StringField('connect/address',default='127.0.0.1',validators=[DataRequired(), Length(min=5)]) diff --git a/src/webui/service/device/routes.py b/src/webui/service/device/routes.py index 8b8bc236a..e6f3cd7b8 100644 --- a/src/webui/service/device/routes.py +++ b/src/webui/service/device/routes.py @@ -125,8 +125,8 @@ def add(): device_drivers.append(DeviceDriverEnum.DEVICEDRIVER_IETF_L2VPN) if form.device_drivers_gnmi_openconfig.data: device_drivers.append(DeviceDriverEnum.DEVICEDRIVER_GNMI_OPENCONFIG) - if form.device_drivers_flexscale.data: - device_drivers.append(DeviceDriverEnum.DEVICEDRIVER_FLEXSCALE) + if form.device_drivers_optical_tfs.data: + device_drivers.append(DeviceDriverEnum.DEVICEDRIVER_OPTICAL_TFS) if form.device_drivers_ietf_actn.data: device_drivers.append(DeviceDriverEnum.DEVICEDRIVER_IETF_ACTN) device_obj.device_drivers.extend(device_drivers) # pylint: disable=no-member diff --git a/src/webui/service/templates/device/add.html b/src/webui/service/templates/device/add.html index c4d7f1685..3785b3e30 100644 --- a/src/webui/service/templates/device/add.html +++ b/src/webui/service/templates/device/add.html @@ -93,7 +93,7 @@ {{ form.device_drivers_ietf_l2vpn }} {{ form.device_drivers_ietf_l2vpn.label(class="col-sm-3 col-form-label") }} {{ form.device_drivers_gnmi_openconfig }} {{ form.device_drivers_gnmi_openconfig.label(class="col-sm-3 col-form-label") }}
- {{ form.device_drivers_flexscale }} {{ form.device_drivers_flexscale.label(class="col-sm-3 col-form-label") }} + {{ form.device_drivers_optical_tfs }} {{ form.device_drivers_optical_tfs.label(class="col-sm-3 col-form-label") }} {{ form.device_drivers_ietf_actn }} {{ form.device_drivers_ietf_actn.label(class="col-sm-3 col-form-label") }} {% endif %} diff --git a/src/ztp/src/main/java/org/etsi/tfs/ztp/Serializer.java b/src/ztp/src/main/java/org/etsi/tfs/ztp/Serializer.java index 6106c95ff..725a8f12f 100644 --- a/src/ztp/src/main/java/org/etsi/tfs/ztp/Serializer.java +++ b/src/ztp/src/main/java/org/etsi/tfs/ztp/Serializer.java @@ -865,8 +865,8 @@ public class Serializer { return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_IETF_L2VPN; case GNMI_OPENCONFIG: return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_GNMI_OPENCONFIG; - case FLEXSCALE: - return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_FLEXSCALE; + case OPTICAL_TFS: + return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_OPTICAL_TFS; case IETF_ACTN: return ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_IETF_ACTN; case UNDEFINED: @@ -894,8 +894,8 @@ public class Serializer { return DeviceDriverEnum.IETF_L2VPN; case DEVICEDRIVER_GNMI_OPENCONFIG: return DeviceDriverEnum.GNMI_OPENCONFIG; - case DEVICEDRIVER_FLEXSCALE: - return DeviceDriverEnum.FLEXSCALE; + case DEVICEDRIVER_OPTICAL_TFS: + return DeviceDriverEnum.OPTICAL_TFS; case DEVICEDRIVER_IETF_ACTN: return DeviceDriverEnum.IETF_ACTN; case DEVICEDRIVER_UNDEFINED: diff --git a/src/ztp/src/main/java/org/etsi/tfs/ztp/context/model/DeviceDriverEnum.java b/src/ztp/src/main/java/org/etsi/tfs/ztp/context/model/DeviceDriverEnum.java index 8e89be8a6..ec4119303 100644 --- a/src/ztp/src/main/java/org/etsi/tfs/ztp/context/model/DeviceDriverEnum.java +++ b/src/ztp/src/main/java/org/etsi/tfs/ztp/context/model/DeviceDriverEnum.java @@ -26,6 +26,6 @@ public enum DeviceDriverEnum { XR, IETF_L2VPN, GNMI_OPENCONFIG, - FLEXSCALE, + OPTICAL_TFS, IETF_ACTN } diff --git a/src/ztp/src/test/java/org/etsi/tfs/ztp/SerializerTest.java b/src/ztp/src/test/java/org/etsi/tfs/ztp/SerializerTest.java index f1cb798b2..52b50db1b 100644 --- a/src/ztp/src/test/java/org/etsi/tfs/ztp/SerializerTest.java +++ b/src/ztp/src/test/java/org/etsi/tfs/ztp/SerializerTest.java @@ -1227,7 +1227,7 @@ class SerializerTest { DeviceDriverEnum.GNMI_OPENCONFIG, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_GNMI_OPENCONFIG), Arguments.of( - DeviceDriverEnum.FLEXSCALE, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_FLEXSCALE), + DeviceDriverEnum.OPTICAL_TFS, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_OPTICAL_TFS), Arguments.of( DeviceDriverEnum.IETF_ACTN, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_IETF_ACTN), Arguments.of( -- GitLab From c61310adfaea187e28a41c11f6811885050ec1b3 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Mon, 8 Apr 2024 17:34:23 +0000 Subject: [PATCH 113/156] Service component: - Corrected format of optical controller URL's port number --- src/service/service/tools/OpticalTools.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/service/service/tools/OpticalTools.py b/src/service/service/tools/OpticalTools.py index 20cd6b42a..ad2f8cbec 100644 --- a/src/service/service/tools/OpticalTools.py +++ b/src/service/service/tools/OpticalTools.py @@ -39,7 +39,7 @@ VAR_NAME_OPTICAL_CTRL_SCHEMA = get_optical_controller_setting('SCHEMA') VAR_NAME_OPTICAL_CTRL_HOST = get_optical_controller_setting(ENVVAR_SUFIX_SERVICE_HOST) VAR_NAME_OPTICAL_CTRL_PORT = get_optical_controller_setting(ENVVAR_SUFIX_SERVICE_PORT_GRPC) -OPTICAL_CTRL_BASE_URL = '{:s}://{:s}:{:s}/OpticalTFS' +OPTICAL_CTRL_BASE_URL = '{:s}://{:s}:{:d}/OpticalTFS' def get_optical_controller_base_url() -> str: settings = find_environment_variables([ -- GitLab From 1f0e6b57acb8d37f9957aa2c4f6fcea611551987 Mon Sep 17 00:00:00 2001 From: gifrerenom Date: Mon, 8 Apr 2024 17:39:22 +0000 Subject: [PATCH 114/156] ZTP and Policy components: - Rebuilt gRPC proto files --- .../org/etsi/tfs/policy/SerializerTest.java | 3 +- .../generated-sources/grpc/acl/Acl.java | 1101 +- .../grpc/context/ContextOuterClass.java | 20975 +++++++++------- .../grpc/context/ContextServiceGrpc.java | 134 +- .../ContextPolicyServiceGrpc.java | 37 +- .../generated-sources/grpc/device/Device.java | 305 +- .../grpc/device/DeviceServiceGrpc.java | 34 +- .../grpc/monitoring/Monitoring.java | 5813 +++-- .../monitoring/MonitoringServiceGrpc.java | 60 +- .../generated-sources/grpc/policy/Policy.java | 2246 +- .../grpc/policy/PolicyAction.java | 403 +- .../grpc/policy/PolicyCondition.java | 285 +- .../grpc/policy/PolicyServiceGrpc.java | 40 +- .../grpc/service/ServiceServiceGrpc.java | 32 +- .../java/org/etsi/tfs/ztp/SerializerTest.java | 3 +- .../generated-sources/grpc/acl/Acl.java | 1101 +- .../grpc/context/ContextOuterClass.java | 20975 +++++++++------- .../grpc/context/ContextServiceGrpc.java | 134 +- .../generated-sources/grpc/device/Device.java | 305 +- .../grpc/device/DeviceServiceGrpc.java | 34 +- .../grpc/monitoring/Monitoring.java | 5813 +++-- .../monitoring/MonitoringServiceGrpc.java | 60 +- .../generated-sources/grpc/ztp/Ztp.java | 1315 +- .../grpc/ztp/ZtpServiceGrpc.java | 36 +- src/ztp/target/kubernetes/kubernetes.yml | 26 +- 25 files changed, 34922 insertions(+), 26348 deletions(-) diff --git a/src/policy/src/test/java/org/etsi/tfs/policy/SerializerTest.java b/src/policy/src/test/java/org/etsi/tfs/policy/SerializerTest.java index 37c7ddbdf..0d89e6b40 100644 --- a/src/policy/src/test/java/org/etsi/tfs/policy/SerializerTest.java +++ b/src/policy/src/test/java/org/etsi/tfs/policy/SerializerTest.java @@ -3618,7 +3618,8 @@ class SerializerTest { DeviceDriverEnum.GNMI_OPENCONFIG, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_GNMI_OPENCONFIG), Arguments.of( - DeviceDriverEnum.OPTICAL_TFS, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_OPTICAL_TFS), + DeviceDriverEnum.OPTICAL_TFS, + ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_OPTICAL_TFS), Arguments.of( DeviceDriverEnum.IETF_ACTN, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_IETF_ACTN), Arguments.of( diff --git a/src/policy/target/generated-sources/grpc/acl/Acl.java b/src/policy/target/generated-sources/grpc/acl/Acl.java index cba5f55d7..f1895fa72 100644 --- a/src/policy/target/generated-sources/grpc/acl/Acl.java +++ b/src/policy/target/generated-sources/grpc/acl/Acl.java @@ -485,6 +485,86 @@ public final class Acl { return new AclMatch(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private AclMatch(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 8: + { + dscp_ = input.readUInt32(); + break; + } + case 16: + { + protocol_ = input.readUInt32(); + break; + } + case 26: + { + java.lang.String s = input.readStringRequireUtf8(); + srcAddress_ = s; + break; + } + case 34: + { + java.lang.String s = input.readStringRequireUtf8(); + dstAddress_ = s; + break; + } + case 40: + { + srcPort_ = input.readUInt32(); + break; + } + case 48: + { + dstPort_ = input.readUInt32(); + break; + } + case 56: + { + startMplsLabel_ = input.readUInt32(); + break; + } + case 64: + { + endMplsLabel_ = input.readUInt32(); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return acl.Acl.internal_static_acl_AclMatch_descriptor; } @@ -496,7 +576,7 @@ public final class Acl { public static final int DSCP_FIELD_NUMBER = 1; - private int dscp_ = 0; + private int dscp_; /** * uint32 dscp = 1; @@ -509,7 +589,7 @@ public final class Acl { public static final int PROTOCOL_FIELD_NUMBER = 2; - private int protocol_ = 0; + private int protocol_; /** * uint32 protocol = 2; @@ -522,8 +602,7 @@ public final class Acl { public static final int SRC_ADDRESS_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private volatile java.lang.Object srcAddress_ = ""; + private volatile java.lang.Object srcAddress_; /** * string src_address = 3; @@ -560,8 +639,7 @@ public final class Acl { public static final int DST_ADDRESS_FIELD_NUMBER = 4; - @SuppressWarnings("serial") - private volatile java.lang.Object dstAddress_ = ""; + private volatile java.lang.Object dstAddress_; /** * string dst_address = 4; @@ -598,7 +676,7 @@ public final class Acl { public static final int SRC_PORT_FIELD_NUMBER = 5; - private int srcPort_ = 0; + private int srcPort_; /** * uint32 src_port = 5; @@ -611,7 +689,7 @@ public final class Acl { public static final int DST_PORT_FIELD_NUMBER = 6; - private int dstPort_ = 0; + private int dstPort_; /** * uint32 dst_port = 6; @@ -624,7 +702,7 @@ public final class Acl { public static final int START_MPLS_LABEL_FIELD_NUMBER = 7; - private int startMplsLabel_ = 0; + private int startMplsLabel_; /** * uint32 start_mpls_label = 7; @@ -637,7 +715,7 @@ public final class Acl { public static final int END_MPLS_LABEL_FIELD_NUMBER = 8; - private int endMplsLabel_ = 0; + private int endMplsLabel_; /** * uint32 end_mpls_label = 8; @@ -669,10 +747,10 @@ public final class Acl { if (protocol_ != 0) { output.writeUInt32(2, protocol_); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcAddress_)) { + if (!getSrcAddressBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, srcAddress_); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstAddress_)) { + if (!getDstAddressBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 4, dstAddress_); } if (srcPort_ != 0) { @@ -687,7 +765,7 @@ public final class Acl { if (endMplsLabel_ != 0) { output.writeUInt32(8, endMplsLabel_); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -702,10 +780,10 @@ public final class Acl { if (protocol_ != 0) { size += com.google.protobuf.CodedOutputStream.computeUInt32Size(2, protocol_); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcAddress_)) { + if (!getSrcAddressBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, srcAddress_); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstAddress_)) { + if (!getDstAddressBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, dstAddress_); } if (srcPort_ != 0) { @@ -720,7 +798,7 @@ public final class Acl { if (endMplsLabel_ != 0) { size += com.google.protobuf.CodedOutputStream.computeUInt32Size(8, endMplsLabel_); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -750,7 +828,7 @@ public final class Acl { return false; if (getEndMplsLabel() != other.getEndMplsLabel()) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -778,7 +856,7 @@ public final class Acl { hash = (53 * hash) + getStartMplsLabel(); hash = (37 * hash) + END_MPLS_LABEL_FIELD_NUMBER; hash = (53 * hash) + getEndMplsLabel(); - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -872,16 +950,22 @@ public final class Acl { // Construct using acl.Acl.AclMatch.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; dscp_ = 0; protocol_ = 0; srcAddress_ = ""; @@ -915,39 +999,46 @@ public final class Acl { @java.lang.Override public acl.Acl.AclMatch buildPartial() { acl.Acl.AclMatch result = new acl.Acl.AclMatch(this); - if (bitField0_ != 0) { - buildPartial0(result); - } + result.dscp_ = dscp_; + result.protocol_ = protocol_; + result.srcAddress_ = srcAddress_; + result.dstAddress_ = dstAddress_; + result.srcPort_ = srcPort_; + result.dstPort_ = dstPort_; + result.startMplsLabel_ = startMplsLabel_; + result.endMplsLabel_ = endMplsLabel_; onBuilt(); return result; } - private void buildPartial0(acl.Acl.AclMatch result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.dscp_ = dscp_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.protocol_ = protocol_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.srcAddress_ = srcAddress_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.dstAddress_ = dstAddress_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - result.srcPort_ = srcPort_; - } - if (((from_bitField0_ & 0x00000020) != 0)) { - result.dstPort_ = dstPort_; - } - if (((from_bitField0_ & 0x00000040) != 0)) { - result.startMplsLabel_ = startMplsLabel_; - } - if (((from_bitField0_ & 0x00000080) != 0)) { - result.endMplsLabel_ = endMplsLabel_; - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -971,12 +1062,10 @@ public final class Acl { } if (!other.getSrcAddress().isEmpty()) { srcAddress_ = other.srcAddress_; - bitField0_ |= 0x00000004; onChanged(); } if (!other.getDstAddress().isEmpty()) { dstAddress_ = other.dstAddress_; - bitField0_ |= 0x00000008; onChanged(); } if (other.getSrcPort() != 0) { @@ -991,7 +1080,7 @@ public final class Acl { if (other.getEndMplsLabel() != 0) { setEndMplsLabel(other.getEndMplsLabel()); } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -1003,96 +1092,20 @@ public final class Acl { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + acl.Acl.AclMatch parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 8: - { - dscp_ = input.readUInt32(); - bitField0_ |= 0x00000001; - break; - } - // case 8 - case 16: - { - protocol_ = input.readUInt32(); - bitField0_ |= 0x00000002; - break; - } - // case 16 - case 26: - { - srcAddress_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000004; - break; - } - // case 26 - case 34: - { - dstAddress_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000008; - break; - } - // case 34 - case 40: - { - srcPort_ = input.readUInt32(); - bitField0_ |= 0x00000010; - break; - } - // case 40 - case 48: - { - dstPort_ = input.readUInt32(); - bitField0_ |= 0x00000020; - break; - } - // case 48 - case 56: - { - startMplsLabel_ = input.readUInt32(); - bitField0_ |= 0x00000040; - break; - } - // case 56 - case 64: - { - endMplsLabel_ = input.readUInt32(); - bitField0_ |= 0x00000080; - break; - } - // case 64 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (acl.Acl.AclMatch) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } - private int bitField0_; - private int dscp_; /** @@ -1111,7 +1124,6 @@ public final class Acl { */ public Builder setDscp(int value) { dscp_ = value; - bitField0_ |= 0x00000001; onChanged(); return this; } @@ -1121,7 +1133,6 @@ public final class Acl { * @return This builder for chaining. */ public Builder clearDscp() { - bitField0_ = (bitField0_ & ~0x00000001); dscp_ = 0; onChanged(); return this; @@ -1145,7 +1156,6 @@ public final class Acl { */ public Builder setProtocol(int value) { protocol_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -1155,7 +1165,6 @@ public final class Acl { * @return This builder for chaining. */ public Builder clearProtocol() { - bitField0_ = (bitField0_ & ~0x00000002); protocol_ = 0; onChanged(); return this; @@ -1204,7 +1213,6 @@ public final class Acl { throw new NullPointerException(); } srcAddress_ = value; - bitField0_ |= 0x00000004; onChanged(); return this; } @@ -1215,7 +1223,6 @@ public final class Acl { */ public Builder clearSrcAddress() { srcAddress_ = getDefaultInstance().getSrcAddress(); - bitField0_ = (bitField0_ & ~0x00000004); onChanged(); return this; } @@ -1231,7 +1238,6 @@ public final class Acl { } checkByteStringIsUtf8(value); srcAddress_ = value; - bitField0_ |= 0x00000004; onChanged(); return this; } @@ -1279,7 +1285,6 @@ public final class Acl { throw new NullPointerException(); } dstAddress_ = value; - bitField0_ |= 0x00000008; onChanged(); return this; } @@ -1290,7 +1295,6 @@ public final class Acl { */ public Builder clearDstAddress() { dstAddress_ = getDefaultInstance().getDstAddress(); - bitField0_ = (bitField0_ & ~0x00000008); onChanged(); return this; } @@ -1306,7 +1310,6 @@ public final class Acl { } checkByteStringIsUtf8(value); dstAddress_ = value; - bitField0_ |= 0x00000008; onChanged(); return this; } @@ -1329,7 +1332,6 @@ public final class Acl { */ public Builder setSrcPort(int value) { srcPort_ = value; - bitField0_ |= 0x00000010; onChanged(); return this; } @@ -1339,7 +1341,6 @@ public final class Acl { * @return This builder for chaining. */ public Builder clearSrcPort() { - bitField0_ = (bitField0_ & ~0x00000010); srcPort_ = 0; onChanged(); return this; @@ -1363,7 +1364,6 @@ public final class Acl { */ public Builder setDstPort(int value) { dstPort_ = value; - bitField0_ |= 0x00000020; onChanged(); return this; } @@ -1373,7 +1373,6 @@ public final class Acl { * @return This builder for chaining. */ public Builder clearDstPort() { - bitField0_ = (bitField0_ & ~0x00000020); dstPort_ = 0; onChanged(); return this; @@ -1397,7 +1396,6 @@ public final class Acl { */ public Builder setStartMplsLabel(int value) { startMplsLabel_ = value; - bitField0_ |= 0x00000040; onChanged(); return this; } @@ -1407,7 +1405,6 @@ public final class Acl { * @return This builder for chaining. */ public Builder clearStartMplsLabel() { - bitField0_ = (bitField0_ & ~0x00000040); startMplsLabel_ = 0; onChanged(); return this; @@ -1431,7 +1428,6 @@ public final class Acl { */ public Builder setEndMplsLabel(int value) { endMplsLabel_ = value; - bitField0_ |= 0x00000080; onChanged(); return this; } @@ -1441,7 +1437,6 @@ public final class Acl { * @return This builder for chaining. */ public Builder clearEndMplsLabel() { - bitField0_ = (bitField0_ & ~0x00000080); endMplsLabel_ = 0; onChanged(); return this; @@ -1474,17 +1469,7 @@ public final class Acl { @java.lang.Override public AclMatch parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new AclMatch(input, extensionRegistry); } }; @@ -1555,6 +1540,56 @@ public final class Acl { return new AclAction(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private AclAction(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 8: + { + int rawValue = input.readEnum(); + forwardAction_ = rawValue; + break; + } + case 16: + { + int rawValue = input.readEnum(); + logAction_ = rawValue; + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return acl.Acl.internal_static_acl_AclAction_descriptor; } @@ -1566,7 +1601,7 @@ public final class Acl { public static final int FORWARD_ACTION_FIELD_NUMBER = 1; - private int forwardAction_ = 0; + private int forwardAction_; /** * .acl.AclForwardActionEnum forward_action = 1; @@ -1583,13 +1618,14 @@ public final class Acl { */ @java.lang.Override public acl.Acl.AclForwardActionEnum getForwardAction() { - acl.Acl.AclForwardActionEnum result = acl.Acl.AclForwardActionEnum.forNumber(forwardAction_); + @SuppressWarnings("deprecation") + acl.Acl.AclForwardActionEnum result = acl.Acl.AclForwardActionEnum.valueOf(forwardAction_); return result == null ? acl.Acl.AclForwardActionEnum.UNRECOGNIZED : result; } public static final int LOG_ACTION_FIELD_NUMBER = 2; - private int logAction_ = 0; + private int logAction_; /** * .acl.AclLogActionEnum log_action = 2; @@ -1606,7 +1642,8 @@ public final class Acl { */ @java.lang.Override public acl.Acl.AclLogActionEnum getLogAction() { - acl.Acl.AclLogActionEnum result = acl.Acl.AclLogActionEnum.forNumber(logAction_); + @SuppressWarnings("deprecation") + acl.Acl.AclLogActionEnum result = acl.Acl.AclLogActionEnum.valueOf(logAction_); return result == null ? acl.Acl.AclLogActionEnum.UNRECOGNIZED : result; } @@ -1631,7 +1668,7 @@ public final class Acl { if (logAction_ != acl.Acl.AclLogActionEnum.ACLLOGACTION_UNDEFINED.getNumber()) { output.writeEnum(2, logAction_); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -1646,7 +1683,7 @@ public final class Acl { if (logAction_ != acl.Acl.AclLogActionEnum.ACLLOGACTION_UNDEFINED.getNumber()) { size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, logAction_); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -1664,7 +1701,7 @@ public final class Acl { return false; if (logAction_ != other.logAction_) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -1680,7 +1717,7 @@ public final class Acl { hash = (53 * hash) + forwardAction_; hash = (37 * hash) + LOG_ACTION_FIELD_NUMBER; hash = (53 * hash) + logAction_; - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -1774,16 +1811,22 @@ public final class Acl { // Construct using acl.Acl.AclAction.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; forwardAction_ = 0; logAction_ = 0; return this; @@ -1811,21 +1854,40 @@ public final class Acl { @java.lang.Override public acl.Acl.AclAction buildPartial() { acl.Acl.AclAction result = new acl.Acl.AclAction(this); - if (bitField0_ != 0) { - buildPartial0(result); - } + result.forwardAction_ = forwardAction_; + result.logAction_ = logAction_; onBuilt(); return result; } - private void buildPartial0(acl.Acl.AclAction result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.forwardAction_ = forwardAction_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.logAction_ = logAction_; - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -1847,7 +1909,7 @@ public final class Acl { if (other.logAction_ != 0) { setLogActionValue(other.getLogActionValue()); } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -1859,54 +1921,20 @@ public final class Acl { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + acl.Acl.AclAction parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 8: - { - forwardAction_ = input.readEnum(); - bitField0_ |= 0x00000001; - break; - } - // case 8 - case 16: - { - logAction_ = input.readEnum(); - bitField0_ |= 0x00000002; - break; - } - // case 16 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (acl.Acl.AclAction) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } - private int bitField0_; - private int forwardAction_ = 0; /** @@ -1925,7 +1953,6 @@ public final class Acl { */ public Builder setForwardActionValue(int value) { forwardAction_ = value; - bitField0_ |= 0x00000001; onChanged(); return this; } @@ -1936,7 +1963,8 @@ public final class Acl { */ @java.lang.Override public acl.Acl.AclForwardActionEnum getForwardAction() { - acl.Acl.AclForwardActionEnum result = acl.Acl.AclForwardActionEnum.forNumber(forwardAction_); + @SuppressWarnings("deprecation") + acl.Acl.AclForwardActionEnum result = acl.Acl.AclForwardActionEnum.valueOf(forwardAction_); return result == null ? acl.Acl.AclForwardActionEnum.UNRECOGNIZED : result; } @@ -1949,7 +1977,6 @@ public final class Acl { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000001; forwardAction_ = value.getNumber(); onChanged(); return this; @@ -1960,7 +1987,6 @@ public final class Acl { * @return This builder for chaining. */ public Builder clearForwardAction() { - bitField0_ = (bitField0_ & ~0x00000001); forwardAction_ = 0; onChanged(); return this; @@ -1984,7 +2010,6 @@ public final class Acl { */ public Builder setLogActionValue(int value) { logAction_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -1995,7 +2020,8 @@ public final class Acl { */ @java.lang.Override public acl.Acl.AclLogActionEnum getLogAction() { - acl.Acl.AclLogActionEnum result = acl.Acl.AclLogActionEnum.forNumber(logAction_); + @SuppressWarnings("deprecation") + acl.Acl.AclLogActionEnum result = acl.Acl.AclLogActionEnum.valueOf(logAction_); return result == null ? acl.Acl.AclLogActionEnum.UNRECOGNIZED : result; } @@ -2008,7 +2034,6 @@ public final class Acl { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; logAction_ = value.getNumber(); onChanged(); return this; @@ -2019,7 +2044,6 @@ public final class Acl { * @return This builder for chaining. */ public Builder clearLogAction() { - bitField0_ = (bitField0_ & ~0x00000002); logAction_ = 0; onChanged(); return this; @@ -2052,17 +2076,7 @@ public final class Acl { @java.lang.Override public AclAction parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new AclAction(input, extensionRegistry); } }; @@ -2160,6 +2174,81 @@ public final class Acl { return new AclEntry(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private AclEntry(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 8: + { + sequenceId_ = input.readUInt32(); + break; + } + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + description_ = s; + break; + } + case 26: + { + acl.Acl.AclMatch.Builder subBuilder = null; + if (match_ != null) { + subBuilder = match_.toBuilder(); + } + match_ = input.readMessage(acl.Acl.AclMatch.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(match_); + match_ = subBuilder.buildPartial(); + } + break; + } + case 34: + { + acl.Acl.AclAction.Builder subBuilder = null; + if (action_ != null) { + subBuilder = action_.toBuilder(); + } + action_ = input.readMessage(acl.Acl.AclAction.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(action_); + action_ = subBuilder.buildPartial(); + } + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return acl.Acl.internal_static_acl_AclEntry_descriptor; } @@ -2171,7 +2260,7 @@ public final class Acl { public static final int SEQUENCE_ID_FIELD_NUMBER = 1; - private int sequenceId_ = 0; + private int sequenceId_; /** * uint32 sequence_id = 1; @@ -2184,8 +2273,7 @@ public final class Acl { public static final int DESCRIPTION_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object description_ = ""; + private volatile java.lang.Object description_; /** * string description = 2; @@ -2247,7 +2335,7 @@ public final class Acl { */ @java.lang.Override public acl.Acl.AclMatchOrBuilder getMatchOrBuilder() { - return match_ == null ? acl.Acl.AclMatch.getDefaultInstance() : match_; + return getMatch(); } public static final int ACTION_FIELD_NUMBER = 4; @@ -2277,7 +2365,7 @@ public final class Acl { */ @java.lang.Override public acl.Acl.AclActionOrBuilder getActionOrBuilder() { - return action_ == null ? acl.Acl.AclAction.getDefaultInstance() : action_; + return getAction(); } private byte memoizedIsInitialized = -1; @@ -2298,7 +2386,7 @@ public final class Acl { if (sequenceId_ != 0) { output.writeUInt32(1, sequenceId_); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) { + if (!getDescriptionBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, description_); } if (match_ != null) { @@ -2307,7 +2395,7 @@ public final class Acl { if (action_ != null) { output.writeMessage(4, getAction()); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -2319,7 +2407,7 @@ public final class Acl { if (sequenceId_ != 0) { size += com.google.protobuf.CodedOutputStream.computeUInt32Size(1, sequenceId_); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) { + if (!getDescriptionBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, description_); } if (match_ != null) { @@ -2328,7 +2416,7 @@ public final class Acl { if (action_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getAction()); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -2358,7 +2446,7 @@ public final class Acl { if (!getAction().equals(other.getAction())) return false; } - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -2382,7 +2470,7 @@ public final class Acl { hash = (37 * hash) + ACTION_FIELD_NUMBER; hash = (53 * hash) + getAction().hashCode(); } - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -2476,26 +2564,34 @@ public final class Acl { // Construct using acl.Acl.AclEntry.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; sequenceId_ = 0; description_ = ""; - match_ = null; - if (matchBuilder_ != null) { - matchBuilder_.dispose(); + if (matchBuilder_ == null) { + match_ = null; + } else { + match_ = null; matchBuilder_ = null; } - action_ = null; - if (actionBuilder_ != null) { - actionBuilder_.dispose(); + if (actionBuilder_ == null) { + action_ = null; + } else { + action_ = null; actionBuilder_ = null; } return this; @@ -2523,27 +2619,50 @@ public final class Acl { @java.lang.Override public acl.Acl.AclEntry buildPartial() { acl.Acl.AclEntry result = new acl.Acl.AclEntry(this); - if (bitField0_ != 0) { - buildPartial0(result); + result.sequenceId_ = sequenceId_; + result.description_ = description_; + if (matchBuilder_ == null) { + result.match_ = match_; + } else { + result.match_ = matchBuilder_.build(); + } + if (actionBuilder_ == null) { + result.action_ = action_; + } else { + result.action_ = actionBuilder_.build(); } onBuilt(); return result; } - private void buildPartial0(acl.Acl.AclEntry result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.sequenceId_ = sequenceId_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.description_ = description_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.match_ = matchBuilder_ == null ? match_ : matchBuilder_.build(); - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.action_ = actionBuilder_ == null ? action_ : actionBuilder_.build(); - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -2564,7 +2683,6 @@ public final class Acl { } if (!other.getDescription().isEmpty()) { description_ = other.description_; - bitField0_ |= 0x00000002; onChanged(); } if (other.hasMatch()) { @@ -2573,7 +2691,7 @@ public final class Acl { if (other.hasAction()) { mergeAction(other.getAction()); } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -2585,68 +2703,20 @@ public final class Acl { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + acl.Acl.AclEntry parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 8: - { - sequenceId_ = input.readUInt32(); - bitField0_ |= 0x00000001; - break; - } - // case 8 - case 18: - { - description_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } - // case 18 - case 26: - { - input.readMessage(getMatchFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000004; - break; - } - // case 26 - case 34: - { - input.readMessage(getActionFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000008; - break; - } - // case 34 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (acl.Acl.AclEntry) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } - private int bitField0_; - private int sequenceId_; /** @@ -2665,7 +2735,6 @@ public final class Acl { */ public Builder setSequenceId(int value) { sequenceId_ = value; - bitField0_ |= 0x00000001; onChanged(); return this; } @@ -2675,7 +2744,6 @@ public final class Acl { * @return This builder for chaining. */ public Builder clearSequenceId() { - bitField0_ = (bitField0_ & ~0x00000001); sequenceId_ = 0; onChanged(); return this; @@ -2724,7 +2792,6 @@ public final class Acl { throw new NullPointerException(); } description_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -2735,7 +2802,6 @@ public final class Acl { */ public Builder clearDescription() { description_ = getDefaultInstance().getDescription(); - bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } @@ -2751,7 +2817,6 @@ public final class Acl { } checkByteStringIsUtf8(value); description_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -2765,7 +2830,7 @@ public final class Acl { * @return Whether the match field is set. */ public boolean hasMatch() { - return ((bitField0_ & 0x00000004) != 0); + return matchBuilder_ != null || match_ != null; } /** @@ -2789,11 +2854,10 @@ public final class Acl { throw new NullPointerException(); } match_ = value; + onChanged(); } else { matchBuilder_.setMessage(value); } - bitField0_ |= 0x00000004; - onChanged(); return this; } @@ -2803,11 +2867,10 @@ public final class Acl { public Builder setMatch(acl.Acl.AclMatch.Builder builderForValue) { if (matchBuilder_ == null) { match_ = builderForValue.build(); + onChanged(); } else { matchBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000004; - onChanged(); return this; } @@ -2816,16 +2879,15 @@ public final class Acl { */ public Builder mergeMatch(acl.Acl.AclMatch value) { if (matchBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0) && match_ != null && match_ != acl.Acl.AclMatch.getDefaultInstance()) { - getMatchBuilder().mergeFrom(value); + if (match_ != null) { + match_ = acl.Acl.AclMatch.newBuilder(match_).mergeFrom(value).buildPartial(); } else { match_ = value; } + onChanged(); } else { matchBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000004; - onChanged(); return this; } @@ -2833,13 +2895,13 @@ public final class Acl { * .acl.AclMatch match = 3; */ public Builder clearMatch() { - bitField0_ = (bitField0_ & ~0x00000004); - match_ = null; - if (matchBuilder_ != null) { - matchBuilder_.dispose(); + if (matchBuilder_ == null) { + match_ = null; + onChanged(); + } else { + match_ = null; matchBuilder_ = null; } - onChanged(); return this; } @@ -2847,7 +2909,6 @@ public final class Acl { * .acl.AclMatch match = 3; */ public acl.Acl.AclMatch.Builder getMatchBuilder() { - bitField0_ |= 0x00000004; onChanged(); return getMatchFieldBuilder().getBuilder(); } @@ -2883,7 +2944,7 @@ public final class Acl { * @return Whether the action field is set. */ public boolean hasAction() { - return ((bitField0_ & 0x00000008) != 0); + return actionBuilder_ != null || action_ != null; } /** @@ -2907,11 +2968,10 @@ public final class Acl { throw new NullPointerException(); } action_ = value; + onChanged(); } else { actionBuilder_.setMessage(value); } - bitField0_ |= 0x00000008; - onChanged(); return this; } @@ -2921,11 +2981,10 @@ public final class Acl { public Builder setAction(acl.Acl.AclAction.Builder builderForValue) { if (actionBuilder_ == null) { action_ = builderForValue.build(); + onChanged(); } else { actionBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000008; - onChanged(); return this; } @@ -2934,16 +2993,15 @@ public final class Acl { */ public Builder mergeAction(acl.Acl.AclAction value) { if (actionBuilder_ == null) { - if (((bitField0_ & 0x00000008) != 0) && action_ != null && action_ != acl.Acl.AclAction.getDefaultInstance()) { - getActionBuilder().mergeFrom(value); + if (action_ != null) { + action_ = acl.Acl.AclAction.newBuilder(action_).mergeFrom(value).buildPartial(); } else { action_ = value; } + onChanged(); } else { actionBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000008; - onChanged(); return this; } @@ -2951,13 +3009,13 @@ public final class Acl { * .acl.AclAction action = 4; */ public Builder clearAction() { - bitField0_ = (bitField0_ & ~0x00000008); - action_ = null; - if (actionBuilder_ != null) { - actionBuilder_.dispose(); + if (actionBuilder_ == null) { + action_ = null; + onChanged(); + } else { + action_ = null; actionBuilder_ = null; } - onChanged(); return this; } @@ -2965,7 +3023,6 @@ public final class Acl { * .acl.AclAction action = 4; */ public acl.Acl.AclAction.Builder getActionBuilder() { - bitField0_ |= 0x00000008; onChanged(); return getActionFieldBuilder().getBuilder(); } @@ -3019,17 +3076,7 @@ public final class Acl { @java.lang.Override public AclEntry parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new AclEntry(input, extensionRegistry); } }; @@ -3152,6 +3199,81 @@ public final class Acl { return new AclRuleSet(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private AclRuleSet(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + name_ = s; + break; + } + case 16: + { + int rawValue = input.readEnum(); + type_ = rawValue; + break; + } + case 26: + { + java.lang.String s = input.readStringRequireUtf8(); + description_ = s; + break; + } + case 34: + { + java.lang.String s = input.readStringRequireUtf8(); + userId_ = s; + break; + } + case 42: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + entries_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + entries_.add(input.readMessage(acl.Acl.AclEntry.parser(), extensionRegistry)); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + entries_ = java.util.Collections.unmodifiableList(entries_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return acl.Acl.internal_static_acl_AclRuleSet_descriptor; } @@ -3163,8 +3285,7 @@ public final class Acl { public static final int NAME_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object name_ = ""; + private volatile java.lang.Object name_; /** * string name = 1; @@ -3201,7 +3322,7 @@ public final class Acl { public static final int TYPE_FIELD_NUMBER = 2; - private int type_ = 0; + private int type_; /** * .acl.AclRuleTypeEnum type = 2; @@ -3218,14 +3339,14 @@ public final class Acl { */ @java.lang.Override public acl.Acl.AclRuleTypeEnum getType() { - acl.Acl.AclRuleTypeEnum result = acl.Acl.AclRuleTypeEnum.forNumber(type_); + @SuppressWarnings("deprecation") + acl.Acl.AclRuleTypeEnum result = acl.Acl.AclRuleTypeEnum.valueOf(type_); return result == null ? acl.Acl.AclRuleTypeEnum.UNRECOGNIZED : result; } public static final int DESCRIPTION_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private volatile java.lang.Object description_ = ""; + private volatile java.lang.Object description_; /** * string description = 3; @@ -3262,8 +3383,7 @@ public final class Acl { public static final int USER_ID_FIELD_NUMBER = 4; - @SuppressWarnings("serial") - private volatile java.lang.Object userId_ = ""; + private volatile java.lang.Object userId_; /** * string user_id = 4; @@ -3300,7 +3420,6 @@ public final class Acl { public static final int ENTRIES_FIELD_NUMBER = 5; - @SuppressWarnings("serial") private java.util.List entries_; /** @@ -3358,22 +3477,22 @@ public final class Acl { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + if (!getNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); } if (type_ != acl.Acl.AclRuleTypeEnum.ACLRULETYPE_UNDEFINED.getNumber()) { output.writeEnum(2, type_); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) { + if (!getDescriptionBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, description_); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userId_)) { + if (!getUserIdBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 4, userId_); } for (int i = 0; i < entries_.size(); i++) { output.writeMessage(5, entries_.get(i)); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -3382,22 +3501,22 @@ public final class Acl { if (size != -1) return size; size = 0; - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + if (!getNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); } if (type_ != acl.Acl.AclRuleTypeEnum.ACLRULETYPE_UNDEFINED.getNumber()) { size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, type_); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) { + if (!getDescriptionBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, description_); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userId_)) { + if (!getUserIdBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, userId_); } for (int i = 0; i < entries_.size(); i++) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, entries_.get(i)); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -3421,7 +3540,7 @@ public final class Acl { return false; if (!getEntriesList().equals(other.getEntriesList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -3445,7 +3564,7 @@ public final class Acl { hash = (37 * hash) + ENTRIES_FIELD_NUMBER; hash = (53 * hash) + getEntriesList().hashCode(); } - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -3539,27 +3658,33 @@ public final class Acl { // Construct using acl.Acl.AclRuleSet.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getEntriesFieldBuilder(); + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; name_ = ""; type_ = 0; description_ = ""; userId_ = ""; if (entriesBuilder_ == null) { entries_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - entries_ = null; entriesBuilder_.clear(); } - bitField0_ = (bitField0_ & ~0x00000010); return this; } @@ -3585,40 +3710,52 @@ public final class Acl { @java.lang.Override public acl.Acl.AclRuleSet buildPartial() { acl.Acl.AclRuleSet result = new acl.Acl.AclRuleSet(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { - buildPartial0(result); - } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(acl.Acl.AclRuleSet result) { + int from_bitField0_ = bitField0_; + result.name_ = name_; + result.type_ = type_; + result.description_ = description_; + result.userId_ = userId_; if (entriesBuilder_ == null) { - if (((bitField0_ & 0x00000010) != 0)) { + if (((bitField0_ & 0x00000001) != 0)) { entries_ = java.util.Collections.unmodifiableList(entries_); - bitField0_ = (bitField0_ & ~0x00000010); + bitField0_ = (bitField0_ & ~0x00000001); } result.entries_ = entries_; } else { result.entries_ = entriesBuilder_.build(); } + onBuilt(); + return result; } - private void buildPartial0(acl.Acl.AclRuleSet result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.name_ = name_; - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.type_ = type_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.description_ = description_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.userId_ = userId_; - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -3636,7 +3773,6 @@ public final class Acl { return this; if (!other.getName().isEmpty()) { name_ = other.name_; - bitField0_ |= 0x00000001; onChanged(); } if (other.type_ != 0) { @@ -3644,19 +3780,17 @@ public final class Acl { } if (!other.getDescription().isEmpty()) { description_ = other.description_; - bitField0_ |= 0x00000004; onChanged(); } if (!other.getUserId().isEmpty()) { userId_ = other.userId_; - bitField0_ |= 0x00000008; onChanged(); } if (entriesBuilder_ == null) { if (!other.entries_.isEmpty()) { if (entries_.isEmpty()) { entries_ = other.entries_; - bitField0_ = (bitField0_ & ~0x00000010); + bitField0_ = (bitField0_ & ~0x00000001); } else { ensureEntriesIsMutable(); entries_.addAll(other.entries_); @@ -3669,14 +3803,14 @@ public final class Acl { entriesBuilder_.dispose(); entriesBuilder_ = null; entries_ = other.entries_; - bitField0_ = (bitField0_ & ~0x00000010); + bitField0_ = (bitField0_ & ~0x00000001); entriesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getEntriesFieldBuilder() : null; } else { entriesBuilder_.addAllMessages(other.entries_); } } } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -3688,75 +3822,17 @@ public final class Acl { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + acl.Acl.AclRuleSet parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - name_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } - // case 10 - case 16: - { - type_ = input.readEnum(); - bitField0_ |= 0x00000002; - break; - } - // case 16 - case 26: - { - description_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000004; - break; - } - // case 26 - case 34: - { - userId_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000008; - break; - } - // case 34 - case 42: - { - acl.Acl.AclEntry m = input.readMessage(acl.Acl.AclEntry.parser(), extensionRegistry); - if (entriesBuilder_ == null) { - ensureEntriesIsMutable(); - entries_.add(m); - } else { - entriesBuilder_.addMessage(m); - } - break; - } - // case 42 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (acl.Acl.AclRuleSet) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } @@ -3805,7 +3881,6 @@ public final class Acl { throw new NullPointerException(); } name_ = value; - bitField0_ |= 0x00000001; onChanged(); return this; } @@ -3816,7 +3891,6 @@ public final class Acl { */ public Builder clearName() { name_ = getDefaultInstance().getName(); - bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } @@ -3832,7 +3906,6 @@ public final class Acl { } checkByteStringIsUtf8(value); name_ = value; - bitField0_ |= 0x00000001; onChanged(); return this; } @@ -3855,7 +3928,6 @@ public final class Acl { */ public Builder setTypeValue(int value) { type_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -3866,7 +3938,8 @@ public final class Acl { */ @java.lang.Override public acl.Acl.AclRuleTypeEnum getType() { - acl.Acl.AclRuleTypeEnum result = acl.Acl.AclRuleTypeEnum.forNumber(type_); + @SuppressWarnings("deprecation") + acl.Acl.AclRuleTypeEnum result = acl.Acl.AclRuleTypeEnum.valueOf(type_); return result == null ? acl.Acl.AclRuleTypeEnum.UNRECOGNIZED : result; } @@ -3879,7 +3952,6 @@ public final class Acl { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; type_ = value.getNumber(); onChanged(); return this; @@ -3890,7 +3962,6 @@ public final class Acl { * @return This builder for chaining. */ public Builder clearType() { - bitField0_ = (bitField0_ & ~0x00000002); type_ = 0; onChanged(); return this; @@ -3939,7 +4010,6 @@ public final class Acl { throw new NullPointerException(); } description_ = value; - bitField0_ |= 0x00000004; onChanged(); return this; } @@ -3950,7 +4020,6 @@ public final class Acl { */ public Builder clearDescription() { description_ = getDefaultInstance().getDescription(); - bitField0_ = (bitField0_ & ~0x00000004); onChanged(); return this; } @@ -3966,7 +4035,6 @@ public final class Acl { } checkByteStringIsUtf8(value); description_ = value; - bitField0_ |= 0x00000004; onChanged(); return this; } @@ -4014,7 +4082,6 @@ public final class Acl { throw new NullPointerException(); } userId_ = value; - bitField0_ |= 0x00000008; onChanged(); return this; } @@ -4025,7 +4092,6 @@ public final class Acl { */ public Builder clearUserId() { userId_ = getDefaultInstance().getUserId(); - bitField0_ = (bitField0_ & ~0x00000008); onChanged(); return this; } @@ -4041,7 +4107,6 @@ public final class Acl { } checkByteStringIsUtf8(value); userId_ = value; - bitField0_ |= 0x00000008; onChanged(); return this; } @@ -4049,9 +4114,9 @@ public final class Acl { private java.util.List entries_ = java.util.Collections.emptyList(); private void ensureEntriesIsMutable() { - if (!((bitField0_ & 0x00000010) != 0)) { + if (!((bitField0_ & 0x00000001) != 0)) { entries_ = new java.util.ArrayList(entries_); - bitField0_ |= 0x00000010; + bitField0_ |= 0x00000001; } } @@ -4203,7 +4268,7 @@ public final class Acl { public Builder clearEntries() { if (entriesBuilder_ == null) { entries_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000010); + bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { entriesBuilder_.clear(); @@ -4277,7 +4342,7 @@ public final class Acl { private com.google.protobuf.RepeatedFieldBuilderV3 getEntriesFieldBuilder() { if (entriesBuilder_ == null) { - entriesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(entries_, ((bitField0_ & 0x00000010) != 0), getParentForChildren(), isClean()); + entriesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(entries_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); entries_ = null; } return entriesBuilder_; @@ -4310,17 +4375,7 @@ public final class Acl { @java.lang.Override public AclRuleSet parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new AclRuleSet(input, extensionRegistry); } }; diff --git a/src/policy/target/generated-sources/grpc/context/ContextOuterClass.java b/src/policy/target/generated-sources/grpc/context/ContextOuterClass.java index 9bcff8a50..459377049 100644 --- a/src/policy/target/generated-sources/grpc/context/ContextOuterClass.java +++ b/src/policy/target/generated-sources/grpc/context/ContextOuterClass.java @@ -184,9 +184,9 @@ public final class ContextOuterClass { */ DEVICEDRIVER_GNMI_OPENCONFIG(8), /** - * DEVICEDRIVER_FLEXSCALE = 9; + * DEVICEDRIVER_OPTICAL_TFS = 9; */ - DEVICEDRIVER_FLEXSCALE(9), + DEVICEDRIVER_OPTICAL_TFS(9), /** * DEVICEDRIVER_IETF_ACTN = 10; */ @@ -247,9 +247,9 @@ public final class ContextOuterClass { public static final int DEVICEDRIVER_GNMI_OPENCONFIG_VALUE = 8; /** - * DEVICEDRIVER_FLEXSCALE = 9; + * DEVICEDRIVER_OPTICAL_TFS = 9; */ - public static final int DEVICEDRIVER_FLEXSCALE_VALUE = 9; + public static final int DEVICEDRIVER_OPTICAL_TFS_VALUE = 9; /** * DEVICEDRIVER_IETF_ACTN = 10; @@ -303,7 +303,7 @@ public final class ContextOuterClass { case 8: return DEVICEDRIVER_GNMI_OPENCONFIG; case 9: - return DEVICEDRIVER_FLEXSCALE; + return DEVICEDRIVER_OPTICAL_TFS; case 10: return DEVICEDRIVER_IETF_ACTN; case 11: @@ -1363,6 +1363,44 @@ public final class ContextOuterClass { return new Empty(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private Empty(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return context.ContextOuterClass.internal_static_context_Empty_descriptor; } @@ -1387,7 +1425,7 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -1396,7 +1434,7 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -1410,7 +1448,7 @@ public final class ContextOuterClass { return super.equals(obj); } context.ContextOuterClass.Empty other = (context.ContextOuterClass.Empty) obj; - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -1422,7 +1460,7 @@ public final class ContextOuterClass { } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -1520,10 +1558,17 @@ public final class ContextOuterClass { // Construct using context.ContextOuterClass.Empty.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + } } @java.lang.Override @@ -1558,6 +1603,36 @@ public final class ContextOuterClass { return result; } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof context.ContextOuterClass.Empty) { @@ -1571,7 +1646,7 @@ public final class ContextOuterClass { public Builder mergeFrom(context.ContextOuterClass.Empty other) { if (other == context.ContextOuterClass.Empty.getDefaultInstance()) return this; - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -1583,35 +1658,17 @@ public final class ContextOuterClass { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + context.ContextOuterClass.Empty parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.Empty) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } @@ -1642,17 +1699,7 @@ public final class ContextOuterClass { @java.lang.Override public Empty parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new Empty(input, extensionRegistry); } }; @@ -1710,6 +1757,50 @@ public final class ContextOuterClass { return new Uuid(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private Uuid(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + uuid_ = s; + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return context.ContextOuterClass.internal_static_context_Uuid_descriptor; } @@ -1721,8 +1812,7 @@ public final class ContextOuterClass { public static final int UUID_FIELD_NUMBER = 1; - @SuppressWarnings("serial") - private volatile java.lang.Object uuid_ = ""; + private volatile java.lang.Object uuid_; /** * string uuid = 1; @@ -1772,10 +1862,10 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(uuid_)) { + if (!getUuidBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 1, uuid_); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -1784,10 +1874,10 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(uuid_)) { + if (!getUuidBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, uuid_); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -1803,7 +1893,7 @@ public final class ContextOuterClass { context.ContextOuterClass.Uuid other = (context.ContextOuterClass.Uuid) obj; if (!getUuid().equals(other.getUuid())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -1817,7 +1907,7 @@ public final class ContextOuterClass { hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + UUID_FIELD_NUMBER; hash = (53 * hash) + getUuid().hashCode(); - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -1911,16 +2001,22 @@ public final class ContextOuterClass { // Construct using context.ContextOuterClass.Uuid.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; uuid_ = ""; return this; } @@ -1947,18 +2043,39 @@ public final class ContextOuterClass { @java.lang.Override public context.ContextOuterClass.Uuid buildPartial() { context.ContextOuterClass.Uuid result = new context.ContextOuterClass.Uuid(this); - if (bitField0_ != 0) { - buildPartial0(result); - } + result.uuid_ = uuid_; onBuilt(); return result; } - private void buildPartial0(context.ContextOuterClass.Uuid result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.uuid_ = uuid_; - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -1976,10 +2093,9 @@ public final class ContextOuterClass { return this; if (!other.getUuid().isEmpty()) { uuid_ = other.uuid_; - bitField0_ |= 0x00000001; onChanged(); } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -1991,47 +2107,20 @@ public final class ContextOuterClass { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + context.ContextOuterClass.Uuid parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - uuid_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000001; - break; - } - // case 10 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.Uuid) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } - private int bitField0_; - private java.lang.Object uuid_ = ""; /** @@ -2075,7 +2164,6 @@ public final class ContextOuterClass { throw new NullPointerException(); } uuid_ = value; - bitField0_ |= 0x00000001; onChanged(); return this; } @@ -2086,7 +2174,6 @@ public final class ContextOuterClass { */ public Builder clearUuid() { uuid_ = getDefaultInstance().getUuid(); - bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } @@ -2102,7 +2189,6 @@ public final class ContextOuterClass { } checkByteStringIsUtf8(value); uuid_ = value; - bitField0_ |= 0x00000001; onChanged(); return this; } @@ -2134,17 +2220,7 @@ public final class ContextOuterClass { @java.lang.Override public Uuid parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new Uuid(input, extensionRegistry); } }; @@ -2195,6 +2271,49 @@ public final class ContextOuterClass { return new Timestamp(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private Timestamp(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 9: + { + timestamp_ = input.readDouble(); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return context.ContextOuterClass.internal_static_context_Timestamp_descriptor; } @@ -2206,7 +2325,7 @@ public final class ContextOuterClass { public static final int TIMESTAMP_FIELD_NUMBER = 1; - private double timestamp_ = 0D; + private double timestamp_; /** * double timestamp = 1; @@ -2232,10 +2351,10 @@ public final class ContextOuterClass { @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { - if (java.lang.Double.doubleToRawLongBits(timestamp_) != 0) { + if (timestamp_ != 0D) { output.writeDouble(1, timestamp_); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -2244,10 +2363,10 @@ public final class ContextOuterClass { if (size != -1) return size; size = 0; - if (java.lang.Double.doubleToRawLongBits(timestamp_) != 0) { + if (timestamp_ != 0D) { size += com.google.protobuf.CodedOutputStream.computeDoubleSize(1, timestamp_); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -2263,7 +2382,7 @@ public final class ContextOuterClass { context.ContextOuterClass.Timestamp other = (context.ContextOuterClass.Timestamp) obj; if (java.lang.Double.doubleToLongBits(getTimestamp()) != java.lang.Double.doubleToLongBits(other.getTimestamp())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -2277,7 +2396,7 @@ public final class ContextOuterClass { hash = (19 * hash) + getDescriptor().hashCode(); hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong(java.lang.Double.doubleToLongBits(getTimestamp())); - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -2371,16 +2490,22 @@ public final class ContextOuterClass { // Construct using context.ContextOuterClass.Timestamp.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; timestamp_ = 0D; return this; } @@ -2407,18 +2532,39 @@ public final class ContextOuterClass { @java.lang.Override public context.ContextOuterClass.Timestamp buildPartial() { context.ContextOuterClass.Timestamp result = new context.ContextOuterClass.Timestamp(this); - if (bitField0_ != 0) { - buildPartial0(result); - } + result.timestamp_ = timestamp_; onBuilt(); return result; } - private void buildPartial0(context.ContextOuterClass.Timestamp result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.timestamp_ = timestamp_; - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -2437,7 +2583,7 @@ public final class ContextOuterClass { if (other.getTimestamp() != 0D) { setTimestamp(other.getTimestamp()); } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -2449,47 +2595,20 @@ public final class ContextOuterClass { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + context.ContextOuterClass.Timestamp parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 9: - { - timestamp_ = input.readDouble(); - bitField0_ |= 0x00000001; - break; - } - // case 9 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.Timestamp) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } - private int bitField0_; - private double timestamp_; /** @@ -2508,7 +2627,6 @@ public final class ContextOuterClass { */ public Builder setTimestamp(double value) { timestamp_ = value; - bitField0_ |= 0x00000001; onChanged(); return this; } @@ -2518,7 +2636,6 @@ public final class ContextOuterClass { * @return This builder for chaining. */ public Builder clearTimestamp() { - bitField0_ = (bitField0_ & ~0x00000001); timestamp_ = 0D; onChanged(); return this; @@ -2551,17 +2668,7 @@ public final class ContextOuterClass { @java.lang.Override public Timestamp parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new Timestamp(input, extensionRegistry); } }; @@ -2636,6 +2743,63 @@ public final class ContextOuterClass { return new Event(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private Event(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + context.ContextOuterClass.Timestamp.Builder subBuilder = null; + if (timestamp_ != null) { + subBuilder = timestamp_.toBuilder(); + } + timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(timestamp_); + timestamp_ = subBuilder.buildPartial(); + } + break; + } + case 16: + { + int rawValue = input.readEnum(); + eventType_ = rawValue; + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return context.ContextOuterClass.internal_static_context_Event_descriptor; } @@ -2672,12 +2836,12 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() { - return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_; + return getTimestamp(); } public static final int EVENT_TYPE_FIELD_NUMBER = 2; - private int eventType_ = 0; + private int eventType_; /** * .context.EventTypeEnum event_type = 2; @@ -2694,7 +2858,8 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.EventTypeEnum getEventType() { - context.ContextOuterClass.EventTypeEnum result = context.ContextOuterClass.EventTypeEnum.forNumber(eventType_); + @SuppressWarnings("deprecation") + context.ContextOuterClass.EventTypeEnum result = context.ContextOuterClass.EventTypeEnum.valueOf(eventType_); return result == null ? context.ContextOuterClass.EventTypeEnum.UNRECOGNIZED : result; } @@ -2719,7 +2884,7 @@ public final class ContextOuterClass { if (eventType_ != context.ContextOuterClass.EventTypeEnum.EVENTTYPE_UNDEFINED.getNumber()) { output.writeEnum(2, eventType_); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -2734,7 +2899,7 @@ public final class ContextOuterClass { if (eventType_ != context.ContextOuterClass.EventTypeEnum.EVENTTYPE_UNDEFINED.getNumber()) { size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, eventType_); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -2756,7 +2921,7 @@ public final class ContextOuterClass { } if (eventType_ != other.eventType_) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -2774,7 +2939,7 @@ public final class ContextOuterClass { } hash = (37 * hash) + EVENT_TYPE_FIELD_NUMBER; hash = (53 * hash) + eventType_; - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -2868,19 +3033,26 @@ public final class ContextOuterClass { // Construct using context.ContextOuterClass.Event.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; - timestamp_ = null; - if (timestampBuilder_ != null) { - timestampBuilder_.dispose(); + if (timestampBuilder_ == null) { + timestamp_ = null; + } else { + timestamp_ = null; timestampBuilder_ = null; } eventType_ = 0; @@ -2909,21 +3081,44 @@ public final class ContextOuterClass { @java.lang.Override public context.ContextOuterClass.Event buildPartial() { context.ContextOuterClass.Event result = new context.ContextOuterClass.Event(this); - if (bitField0_ != 0) { - buildPartial0(result); + if (timestampBuilder_ == null) { + result.timestamp_ = timestamp_; + } else { + result.timestamp_ = timestampBuilder_.build(); } + result.eventType_ = eventType_; onBuilt(); return result; } - private void buildPartial0(context.ContextOuterClass.Event result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.timestamp_ = timestampBuilder_ == null ? timestamp_ : timestampBuilder_.build(); - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.eventType_ = eventType_; - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -2945,7 +3140,7 @@ public final class ContextOuterClass { if (other.eventType_ != 0) { setEventTypeValue(other.getEventTypeValue()); } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -2957,54 +3152,20 @@ public final class ContextOuterClass { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + context.ContextOuterClass.Event parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - input.readMessage(getTimestampFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000001; - break; - } - // case 10 - case 16: - { - eventType_ = input.readEnum(); - bitField0_ |= 0x00000002; - break; - } - // case 16 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.Event) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } - private int bitField0_; - private context.ContextOuterClass.Timestamp timestamp_; private com.google.protobuf.SingleFieldBuilderV3 timestampBuilder_; @@ -3014,7 +3175,7 @@ public final class ContextOuterClass { * @return Whether the timestamp field is set. */ public boolean hasTimestamp() { - return ((bitField0_ & 0x00000001) != 0); + return timestampBuilder_ != null || timestamp_ != null; } /** @@ -3038,11 +3199,10 @@ public final class ContextOuterClass { throw new NullPointerException(); } timestamp_ = value; + onChanged(); } else { timestampBuilder_.setMessage(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -3052,11 +3212,10 @@ public final class ContextOuterClass { public Builder setTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) { if (timestampBuilder_ == null) { timestamp_ = builderForValue.build(); + onChanged(); } else { timestampBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -3065,16 +3224,15 @@ public final class ContextOuterClass { */ public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) { if (timestampBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0) && timestamp_ != null && timestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) { - getTimestampBuilder().mergeFrom(value); + if (timestamp_ != null) { + timestamp_ = context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial(); } else { timestamp_ = value; } + onChanged(); } else { timestampBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -3082,13 +3240,13 @@ public final class ContextOuterClass { * .context.Timestamp timestamp = 1; */ public Builder clearTimestamp() { - bitField0_ = (bitField0_ & ~0x00000001); - timestamp_ = null; - if (timestampBuilder_ != null) { - timestampBuilder_.dispose(); + if (timestampBuilder_ == null) { + timestamp_ = null; + onChanged(); + } else { + timestamp_ = null; timestampBuilder_ = null; } - onChanged(); return this; } @@ -3096,7 +3254,6 @@ public final class ContextOuterClass { * .context.Timestamp timestamp = 1; */ public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() { - bitField0_ |= 0x00000001; onChanged(); return getTimestampFieldBuilder().getBuilder(); } @@ -3141,7 +3298,6 @@ public final class ContextOuterClass { */ public Builder setEventTypeValue(int value) { eventType_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -3152,7 +3308,8 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.EventTypeEnum getEventType() { - context.ContextOuterClass.EventTypeEnum result = context.ContextOuterClass.EventTypeEnum.forNumber(eventType_); + @SuppressWarnings("deprecation") + context.ContextOuterClass.EventTypeEnum result = context.ContextOuterClass.EventTypeEnum.valueOf(eventType_); return result == null ? context.ContextOuterClass.EventTypeEnum.UNRECOGNIZED : result; } @@ -3165,7 +3322,6 @@ public final class ContextOuterClass { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000002; eventType_ = value.getNumber(); onChanged(); return this; @@ -3176,7 +3332,6 @@ public final class ContextOuterClass { * @return This builder for chaining. */ public Builder clearEventType() { - bitField0_ = (bitField0_ & ~0x00000002); eventType_ = 0; onChanged(); return this; @@ -3209,17 +3364,7 @@ public final class ContextOuterClass { @java.lang.Override public Event parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new Event(input, extensionRegistry); } }; @@ -3285,6 +3430,57 @@ public final class ContextOuterClass { return new ContextId(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private ContextId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + context.ContextOuterClass.Uuid.Builder subBuilder = null; + if (contextUuid_ != null) { + subBuilder = contextUuid_.toBuilder(); + } + contextUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(contextUuid_); + contextUuid_ = subBuilder.buildPartial(); + } + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return context.ContextOuterClass.internal_static_context_ContextId_descriptor; } @@ -3321,7 +3517,7 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.UuidOrBuilder getContextUuidOrBuilder() { - return contextUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : contextUuid_; + return getContextUuid(); } private byte memoizedIsInitialized = -1; @@ -3342,7 +3538,7 @@ public final class ContextOuterClass { if (contextUuid_ != null) { output.writeMessage(1, getContextUuid()); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -3354,7 +3550,7 @@ public final class ContextOuterClass { if (contextUuid_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getContextUuid()); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -3374,7 +3570,7 @@ public final class ContextOuterClass { if (!getContextUuid().equals(other.getContextUuid())) return false; } - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -3390,7 +3586,7 @@ public final class ContextOuterClass { hash = (37 * hash) + CONTEXT_UUID_FIELD_NUMBER; hash = (53 * hash) + getContextUuid().hashCode(); } - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -3488,19 +3684,26 @@ public final class ContextOuterClass { // Construct using context.ContextOuterClass.ContextId.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; - contextUuid_ = null; - if (contextUuidBuilder_ != null) { - contextUuidBuilder_.dispose(); + if (contextUuidBuilder_ == null) { + contextUuid_ = null; + } else { + contextUuid_ = null; contextUuidBuilder_ = null; } return this; @@ -3528,18 +3731,43 @@ public final class ContextOuterClass { @java.lang.Override public context.ContextOuterClass.ContextId buildPartial() { context.ContextOuterClass.ContextId result = new context.ContextOuterClass.ContextId(this); - if (bitField0_ != 0) { - buildPartial0(result); + if (contextUuidBuilder_ == null) { + result.contextUuid_ = contextUuid_; + } else { + result.contextUuid_ = contextUuidBuilder_.build(); } onBuilt(); return result; } - private void buildPartial0(context.ContextOuterClass.ContextId result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.contextUuid_ = contextUuidBuilder_ == null ? contextUuid_ : contextUuidBuilder_.build(); - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -3558,7 +3786,7 @@ public final class ContextOuterClass { if (other.hasContextUuid()) { mergeContextUuid(other.getContextUuid()); } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -3570,47 +3798,20 @@ public final class ContextOuterClass { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + context.ContextOuterClass.ContextId parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - input.readMessage(getContextUuidFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000001; - break; - } - // case 10 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ContextId) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } - private int bitField0_; - private context.ContextOuterClass.Uuid contextUuid_; private com.google.protobuf.SingleFieldBuilderV3 contextUuidBuilder_; @@ -3620,7 +3821,7 @@ public final class ContextOuterClass { * @return Whether the contextUuid field is set. */ public boolean hasContextUuid() { - return ((bitField0_ & 0x00000001) != 0); + return contextUuidBuilder_ != null || contextUuid_ != null; } /** @@ -3644,11 +3845,10 @@ public final class ContextOuterClass { throw new NullPointerException(); } contextUuid_ = value; + onChanged(); } else { contextUuidBuilder_.setMessage(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -3658,11 +3858,10 @@ public final class ContextOuterClass { public Builder setContextUuid(context.ContextOuterClass.Uuid.Builder builderForValue) { if (contextUuidBuilder_ == null) { contextUuid_ = builderForValue.build(); + onChanged(); } else { contextUuidBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -3671,16 +3870,15 @@ public final class ContextOuterClass { */ public Builder mergeContextUuid(context.ContextOuterClass.Uuid value) { if (contextUuidBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0) && contextUuid_ != null && contextUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) { - getContextUuidBuilder().mergeFrom(value); + if (contextUuid_ != null) { + contextUuid_ = context.ContextOuterClass.Uuid.newBuilder(contextUuid_).mergeFrom(value).buildPartial(); } else { contextUuid_ = value; } + onChanged(); } else { contextUuidBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -3688,13 +3886,13 @@ public final class ContextOuterClass { * .context.Uuid context_uuid = 1; */ public Builder clearContextUuid() { - bitField0_ = (bitField0_ & ~0x00000001); - contextUuid_ = null; - if (contextUuidBuilder_ != null) { - contextUuidBuilder_.dispose(); + if (contextUuidBuilder_ == null) { + contextUuid_ = null; + onChanged(); + } else { + contextUuid_ = null; contextUuidBuilder_ = null; } - onChanged(); return this; } @@ -3702,7 +3900,6 @@ public final class ContextOuterClass { * .context.Uuid context_uuid = 1; */ public context.ContextOuterClass.Uuid.Builder getContextUuidBuilder() { - bitField0_ |= 0x00000001; onChanged(); return getContextUuidFieldBuilder().getBuilder(); } @@ -3756,17 +3953,7 @@ public final class ContextOuterClass { @java.lang.Override public ContextId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new ContextId(input, extensionRegistry); } }; @@ -3936,6 +4123,113 @@ public final class ContextOuterClass { return new Context(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private Context(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + context.ContextOuterClass.ContextId.Builder subBuilder = null; + if (contextId_ != null) { + subBuilder = contextId_.toBuilder(); + } + contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(contextId_); + contextId_ = subBuilder.buildPartial(); + } + break; + } + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + name_ = s; + break; + } + case 26: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + topologyIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + topologyIds_.add(input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry)); + break; + } + case 34: + { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + serviceIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000002; + } + serviceIds_.add(input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry)); + break; + } + case 42: + { + if (!((mutable_bitField0_ & 0x00000004) != 0)) { + sliceIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000004; + } + sliceIds_.add(input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry)); + break; + } + case 50: + { + context.ContextOuterClass.TeraFlowController.Builder subBuilder = null; + if (controller_ != null) { + subBuilder = controller_.toBuilder(); + } + controller_ = input.readMessage(context.ContextOuterClass.TeraFlowController.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(controller_); + controller_ = subBuilder.buildPartial(); + } + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + topologyIds_ = java.util.Collections.unmodifiableList(topologyIds_); + } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + serviceIds_ = java.util.Collections.unmodifiableList(serviceIds_); + } + if (((mutable_bitField0_ & 0x00000004) != 0)) { + sliceIds_ = java.util.Collections.unmodifiableList(sliceIds_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return context.ContextOuterClass.internal_static_context_Context_descriptor; } @@ -3972,13 +4266,12 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { - return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + return getContextId(); } public static final int NAME_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object name_ = ""; + private volatile java.lang.Object name_; /** * string name = 2; @@ -4015,7 +4308,6 @@ public final class ContextOuterClass { public static final int TOPOLOGY_IDS_FIELD_NUMBER = 3; - @SuppressWarnings("serial") private java.util.List topologyIds_; /** @@ -4060,7 +4352,6 @@ public final class ContextOuterClass { public static final int SERVICE_IDS_FIELD_NUMBER = 4; - @SuppressWarnings("serial") private java.util.List serviceIds_; /** @@ -4105,7 +4396,6 @@ public final class ContextOuterClass { public static final int SLICE_IDS_FIELD_NUMBER = 5; - @SuppressWarnings("serial") private java.util.List sliceIds_; /** @@ -4175,7 +4465,7 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.TeraFlowControllerOrBuilder getControllerOrBuilder() { - return controller_ == null ? context.ContextOuterClass.TeraFlowController.getDefaultInstance() : controller_; + return getController(); } private byte memoizedIsInitialized = -1; @@ -4196,7 +4486,7 @@ public final class ContextOuterClass { if (contextId_ != null) { output.writeMessage(1, getContextId()); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + if (!getNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_); } for (int i = 0; i < topologyIds_.size(); i++) { @@ -4211,7 +4501,7 @@ public final class ContextOuterClass { if (controller_ != null) { output.writeMessage(6, getController()); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -4223,7 +4513,7 @@ public final class ContextOuterClass { if (contextId_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getContextId()); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + if (!getNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_); } for (int i = 0; i < topologyIds_.size(); i++) { @@ -4238,7 +4528,7 @@ public final class ContextOuterClass { if (controller_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getController()); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -4272,7 +4562,7 @@ public final class ContextOuterClass { if (!getController().equals(other.getController())) return false; } - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -4306,7 +4596,7 @@ public final class ContextOuterClass { hash = (37 * hash) + CONTROLLER_FIELD_NUMBER; hash = (53 * hash) + getController().hashCode(); } - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -4400,46 +4690,54 @@ public final class ContextOuterClass { // Construct using context.ContextOuterClass.Context.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getTopologyIdsFieldBuilder(); + getServiceIdsFieldBuilder(); + getSliceIdsFieldBuilder(); + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; - contextId_ = null; - if (contextIdBuilder_ != null) { - contextIdBuilder_.dispose(); + if (contextIdBuilder_ == null) { + contextId_ = null; + } else { + contextId_ = null; contextIdBuilder_ = null; } name_ = ""; if (topologyIdsBuilder_ == null) { topologyIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - topologyIds_ = null; topologyIdsBuilder_.clear(); } - bitField0_ = (bitField0_ & ~0x00000004); if (serviceIdsBuilder_ == null) { serviceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); } else { - serviceIds_ = null; serviceIdsBuilder_.clear(); } - bitField0_ = (bitField0_ & ~0x00000008); if (sliceIdsBuilder_ == null) { sliceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); } else { - sliceIds_ = null; sliceIdsBuilder_.clear(); } - bitField0_ = (bitField0_ & ~0x00000010); - controller_ = null; - if (controllerBuilder_ != null) { - controllerBuilder_.dispose(); + if (controllerBuilder_ == null) { + controller_ = null; + } else { + controller_ = null; controllerBuilder_ = null; } return this; @@ -4467,55 +4765,77 @@ public final class ContextOuterClass { @java.lang.Override public context.ContextOuterClass.Context buildPartial() { context.ContextOuterClass.Context result = new context.ContextOuterClass.Context(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { - buildPartial0(result); + int from_bitField0_ = bitField0_; + if (contextIdBuilder_ == null) { + result.contextId_ = contextId_; + } else { + result.contextId_ = contextIdBuilder_.build(); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(context.ContextOuterClass.Context result) { + result.name_ = name_; if (topologyIdsBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { + if (((bitField0_ & 0x00000001) != 0)) { topologyIds_ = java.util.Collections.unmodifiableList(topologyIds_); - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); } result.topologyIds_ = topologyIds_; } else { result.topologyIds_ = topologyIdsBuilder_.build(); } if (serviceIdsBuilder_ == null) { - if (((bitField0_ & 0x00000008) != 0)) { + if (((bitField0_ & 0x00000002) != 0)) { serviceIds_ = java.util.Collections.unmodifiableList(serviceIds_); - bitField0_ = (bitField0_ & ~0x00000008); + bitField0_ = (bitField0_ & ~0x00000002); } result.serviceIds_ = serviceIds_; } else { result.serviceIds_ = serviceIdsBuilder_.build(); } if (sliceIdsBuilder_ == null) { - if (((bitField0_ & 0x00000010) != 0)) { + if (((bitField0_ & 0x00000004) != 0)) { sliceIds_ = java.util.Collections.unmodifiableList(sliceIds_); - bitField0_ = (bitField0_ & ~0x00000010); + bitField0_ = (bitField0_ & ~0x00000004); } result.sliceIds_ = sliceIds_; } else { result.sliceIds_ = sliceIdsBuilder_.build(); } + if (controllerBuilder_ == null) { + result.controller_ = controller_; + } else { + result.controller_ = controllerBuilder_.build(); + } + onBuilt(); + return result; } - private void buildPartial0(context.ContextOuterClass.Context result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.contextId_ = contextIdBuilder_ == null ? contextId_ : contextIdBuilder_.build(); - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.name_ = name_; - } - if (((from_bitField0_ & 0x00000020) != 0)) { - result.controller_ = controllerBuilder_ == null ? controller_ : controllerBuilder_.build(); - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -4536,14 +4856,13 @@ public final class ContextOuterClass { } if (!other.getName().isEmpty()) { name_ = other.name_; - bitField0_ |= 0x00000002; onChanged(); } if (topologyIdsBuilder_ == null) { if (!other.topologyIds_.isEmpty()) { if (topologyIds_.isEmpty()) { topologyIds_ = other.topologyIds_; - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); } else { ensureTopologyIdsIsMutable(); topologyIds_.addAll(other.topologyIds_); @@ -4556,7 +4875,7 @@ public final class ContextOuterClass { topologyIdsBuilder_.dispose(); topologyIdsBuilder_ = null; topologyIds_ = other.topologyIds_; - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); topologyIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getTopologyIdsFieldBuilder() : null; } else { topologyIdsBuilder_.addAllMessages(other.topologyIds_); @@ -4567,7 +4886,7 @@ public final class ContextOuterClass { if (!other.serviceIds_.isEmpty()) { if (serviceIds_.isEmpty()) { serviceIds_ = other.serviceIds_; - bitField0_ = (bitField0_ & ~0x00000008); + bitField0_ = (bitField0_ & ~0x00000002); } else { ensureServiceIdsIsMutable(); serviceIds_.addAll(other.serviceIds_); @@ -4580,7 +4899,7 @@ public final class ContextOuterClass { serviceIdsBuilder_.dispose(); serviceIdsBuilder_ = null; serviceIds_ = other.serviceIds_; - bitField0_ = (bitField0_ & ~0x00000008); + bitField0_ = (bitField0_ & ~0x00000002); serviceIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getServiceIdsFieldBuilder() : null; } else { serviceIdsBuilder_.addAllMessages(other.serviceIds_); @@ -4591,7 +4910,7 @@ public final class ContextOuterClass { if (!other.sliceIds_.isEmpty()) { if (sliceIds_.isEmpty()) { sliceIds_ = other.sliceIds_; - bitField0_ = (bitField0_ & ~0x00000010); + bitField0_ = (bitField0_ & ~0x00000004); } else { ensureSliceIdsIsMutable(); sliceIds_.addAll(other.sliceIds_); @@ -4604,7 +4923,7 @@ public final class ContextOuterClass { sliceIdsBuilder_.dispose(); sliceIdsBuilder_ = null; sliceIds_ = other.sliceIds_; - bitField0_ = (bitField0_ & ~0x00000010); + bitField0_ = (bitField0_ & ~0x00000004); sliceIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getSliceIdsFieldBuilder() : null; } else { sliceIdsBuilder_.addAllMessages(other.sliceIds_); @@ -4614,7 +4933,7 @@ public final class ContextOuterClass { if (other.hasController()) { mergeController(other.getController()); } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -4626,92 +4945,17 @@ public final class ContextOuterClass { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + context.ContextOuterClass.Context parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - input.readMessage(getContextIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000001; - break; - } - // case 10 - case 18: - { - name_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } - // case 18 - case 26: - { - context.ContextOuterClass.TopologyId m = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry); - if (topologyIdsBuilder_ == null) { - ensureTopologyIdsIsMutable(); - topologyIds_.add(m); - } else { - topologyIdsBuilder_.addMessage(m); - } - break; - } - // case 26 - case 34: - { - context.ContextOuterClass.ServiceId m = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry); - if (serviceIdsBuilder_ == null) { - ensureServiceIdsIsMutable(); - serviceIds_.add(m); - } else { - serviceIdsBuilder_.addMessage(m); - } - break; - } - // case 34 - case 42: - { - context.ContextOuterClass.SliceId m = input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry); - if (sliceIdsBuilder_ == null) { - ensureSliceIdsIsMutable(); - sliceIds_.add(m); - } else { - sliceIdsBuilder_.addMessage(m); - } - break; - } - // case 42 - case 50: - { - input.readMessage(getControllerFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000020; - break; - } - // case 50 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.Context) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } @@ -4726,7 +4970,7 @@ public final class ContextOuterClass { * @return Whether the contextId field is set. */ public boolean hasContextId() { - return ((bitField0_ & 0x00000001) != 0); + return contextIdBuilder_ != null || contextId_ != null; } /** @@ -4750,11 +4994,10 @@ public final class ContextOuterClass { throw new NullPointerException(); } contextId_ = value; + onChanged(); } else { contextIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -4764,11 +5007,10 @@ public final class ContextOuterClass { public Builder setContextId(context.ContextOuterClass.ContextId.Builder builderForValue) { if (contextIdBuilder_ == null) { contextId_ = builderForValue.build(); + onChanged(); } else { contextIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -4777,16 +5019,15 @@ public final class ContextOuterClass { */ public Builder mergeContextId(context.ContextOuterClass.ContextId value) { if (contextIdBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0) && contextId_ != null && contextId_ != context.ContextOuterClass.ContextId.getDefaultInstance()) { - getContextIdBuilder().mergeFrom(value); + if (contextId_ != null) { + contextId_ = context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial(); } else { contextId_ = value; } + onChanged(); } else { contextIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -4794,13 +5035,13 @@ public final class ContextOuterClass { * .context.ContextId context_id = 1; */ public Builder clearContextId() { - bitField0_ = (bitField0_ & ~0x00000001); - contextId_ = null; - if (contextIdBuilder_ != null) { - contextIdBuilder_.dispose(); + if (contextIdBuilder_ == null) { + contextId_ = null; + onChanged(); + } else { + contextId_ = null; contextIdBuilder_ = null; } - onChanged(); return this; } @@ -4808,7 +5049,6 @@ public final class ContextOuterClass { * .context.ContextId context_id = 1; */ public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() { - bitField0_ |= 0x00000001; onChanged(); return getContextIdFieldBuilder().getBuilder(); } @@ -4878,7 +5118,6 @@ public final class ContextOuterClass { throw new NullPointerException(); } name_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -4889,7 +5128,6 @@ public final class ContextOuterClass { */ public Builder clearName() { name_ = getDefaultInstance().getName(); - bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } @@ -4905,7 +5143,6 @@ public final class ContextOuterClass { } checkByteStringIsUtf8(value); name_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -4913,9 +5150,9 @@ public final class ContextOuterClass { private java.util.List topologyIds_ = java.util.Collections.emptyList(); private void ensureTopologyIdsIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { + if (!((bitField0_ & 0x00000001) != 0)) { topologyIds_ = new java.util.ArrayList(topologyIds_); - bitField0_ |= 0x00000004; + bitField0_ |= 0x00000001; } } @@ -5067,7 +5304,7 @@ public final class ContextOuterClass { public Builder clearTopologyIds() { if (topologyIdsBuilder_ == null) { topologyIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { topologyIdsBuilder_.clear(); @@ -5141,7 +5378,7 @@ public final class ContextOuterClass { private com.google.protobuf.RepeatedFieldBuilderV3 getTopologyIdsFieldBuilder() { if (topologyIdsBuilder_ == null) { - topologyIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(topologyIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean()); + topologyIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(topologyIds_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); topologyIds_ = null; } return topologyIdsBuilder_; @@ -5150,9 +5387,9 @@ public final class ContextOuterClass { private java.util.List serviceIds_ = java.util.Collections.emptyList(); private void ensureServiceIdsIsMutable() { - if (!((bitField0_ & 0x00000008) != 0)) { + if (!((bitField0_ & 0x00000002) != 0)) { serviceIds_ = new java.util.ArrayList(serviceIds_); - bitField0_ |= 0x00000008; + bitField0_ |= 0x00000002; } } @@ -5304,7 +5541,7 @@ public final class ContextOuterClass { public Builder clearServiceIds() { if (serviceIdsBuilder_ == null) { serviceIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000008); + bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { serviceIdsBuilder_.clear(); @@ -5378,7 +5615,7 @@ public final class ContextOuterClass { private com.google.protobuf.RepeatedFieldBuilderV3 getServiceIdsFieldBuilder() { if (serviceIdsBuilder_ == null) { - serviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(serviceIds_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean()); + serviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(serviceIds_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); serviceIds_ = null; } return serviceIdsBuilder_; @@ -5387,9 +5624,9 @@ public final class ContextOuterClass { private java.util.List sliceIds_ = java.util.Collections.emptyList(); private void ensureSliceIdsIsMutable() { - if (!((bitField0_ & 0x00000010) != 0)) { + if (!((bitField0_ & 0x00000004) != 0)) { sliceIds_ = new java.util.ArrayList(sliceIds_); - bitField0_ |= 0x00000010; + bitField0_ |= 0x00000004; } } @@ -5541,7 +5778,7 @@ public final class ContextOuterClass { public Builder clearSliceIds() { if (sliceIdsBuilder_ == null) { sliceIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000010); + bitField0_ = (bitField0_ & ~0x00000004); onChanged(); } else { sliceIdsBuilder_.clear(); @@ -5615,7 +5852,7 @@ public final class ContextOuterClass { private com.google.protobuf.RepeatedFieldBuilderV3 getSliceIdsFieldBuilder() { if (sliceIdsBuilder_ == null) { - sliceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceIds_, ((bitField0_ & 0x00000010) != 0), getParentForChildren(), isClean()); + sliceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean()); sliceIds_ = null; } return sliceIdsBuilder_; @@ -5630,7 +5867,7 @@ public final class ContextOuterClass { * @return Whether the controller field is set. */ public boolean hasController() { - return ((bitField0_ & 0x00000020) != 0); + return controllerBuilder_ != null || controller_ != null; } /** @@ -5654,11 +5891,10 @@ public final class ContextOuterClass { throw new NullPointerException(); } controller_ = value; + onChanged(); } else { controllerBuilder_.setMessage(value); } - bitField0_ |= 0x00000020; - onChanged(); return this; } @@ -5668,11 +5904,10 @@ public final class ContextOuterClass { public Builder setController(context.ContextOuterClass.TeraFlowController.Builder builderForValue) { if (controllerBuilder_ == null) { controller_ = builderForValue.build(); + onChanged(); } else { controllerBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000020; - onChanged(); return this; } @@ -5681,16 +5916,15 @@ public final class ContextOuterClass { */ public Builder mergeController(context.ContextOuterClass.TeraFlowController value) { if (controllerBuilder_ == null) { - if (((bitField0_ & 0x00000020) != 0) && controller_ != null && controller_ != context.ContextOuterClass.TeraFlowController.getDefaultInstance()) { - getControllerBuilder().mergeFrom(value); + if (controller_ != null) { + controller_ = context.ContextOuterClass.TeraFlowController.newBuilder(controller_).mergeFrom(value).buildPartial(); } else { controller_ = value; } + onChanged(); } else { controllerBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000020; - onChanged(); return this; } @@ -5698,13 +5932,13 @@ public final class ContextOuterClass { * .context.TeraFlowController controller = 6; */ public Builder clearController() { - bitField0_ = (bitField0_ & ~0x00000020); - controller_ = null; - if (controllerBuilder_ != null) { - controllerBuilder_.dispose(); + if (controllerBuilder_ == null) { + controller_ = null; + onChanged(); + } else { + controller_ = null; controllerBuilder_ = null; } - onChanged(); return this; } @@ -5712,7 +5946,6 @@ public final class ContextOuterClass { * .context.TeraFlowController controller = 6; */ public context.ContextOuterClass.TeraFlowController.Builder getControllerBuilder() { - bitField0_ |= 0x00000020; onChanged(); return getControllerFieldBuilder().getBuilder(); } @@ -5766,17 +5999,7 @@ public final class ContextOuterClass { @java.lang.Override public Context parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new Context(input, extensionRegistry); } }; @@ -5847,6 +6070,57 @@ public final class ContextOuterClass { return new ContextIdList(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private ContextIdList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + contextIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + contextIds_.add(input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry)); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + contextIds_ = java.util.Collections.unmodifiableList(contextIds_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return context.ContextOuterClass.internal_static_context_ContextIdList_descriptor; } @@ -5858,7 +6132,6 @@ public final class ContextOuterClass { public static final int CONTEXT_IDS_FIELD_NUMBER = 1; - @SuppressWarnings("serial") private java.util.List contextIds_; /** @@ -5919,7 +6192,7 @@ public final class ContextOuterClass { for (int i = 0; i < contextIds_.size(); i++) { output.writeMessage(1, contextIds_.get(i)); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -5931,7 +6204,7 @@ public final class ContextOuterClass { for (int i = 0; i < contextIds_.size(); i++) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, contextIds_.get(i)); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -5947,7 +6220,7 @@ public final class ContextOuterClass { context.ContextOuterClass.ContextIdList other = (context.ContextOuterClass.ContextIdList) obj; if (!getContextIdsList().equals(other.getContextIdsList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -5963,7 +6236,7 @@ public final class ContextOuterClass { hash = (37 * hash) + CONTEXT_IDS_FIELD_NUMBER; hash = (53 * hash) + getContextIdsList().hashCode(); } - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -6057,23 +6330,29 @@ public final class ContextOuterClass { // Construct using context.ContextOuterClass.ContextIdList.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getContextIdsFieldBuilder(); + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; if (contextIdsBuilder_ == null) { contextIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - contextIds_ = null; contextIdsBuilder_.clear(); } - bitField0_ = (bitField0_ & ~0x00000001); return this; } @@ -6099,15 +6378,7 @@ public final class ContextOuterClass { @java.lang.Override public context.ContextOuterClass.ContextIdList buildPartial() { context.ContextOuterClass.ContextIdList result = new context.ContextOuterClass.ContextIdList(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { - buildPartial0(result); - } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(context.ContextOuterClass.ContextIdList result) { + int from_bitField0_ = bitField0_; if (contextIdsBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { contextIds_ = java.util.Collections.unmodifiableList(contextIds_); @@ -6117,10 +6388,38 @@ public final class ContextOuterClass { } else { result.contextIds_ = contextIdsBuilder_.build(); } + onBuilt(); + return result; } - private void buildPartial0(context.ContextOuterClass.ContextIdList result) { - int from_bitField0_ = bitField0_; + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -6160,7 +6459,7 @@ public final class ContextOuterClass { } } } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -6172,47 +6471,17 @@ public final class ContextOuterClass { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + context.ContextOuterClass.ContextIdList parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - context.ContextOuterClass.ContextId m = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry); - if (contextIdsBuilder_ == null) { - ensureContextIdsIsMutable(); - contextIds_.add(m); - } else { - contextIdsBuilder_.addMessage(m); - } - break; - } - // case 10 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ContextIdList) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } @@ -6482,17 +6751,7 @@ public final class ContextOuterClass { @java.lang.Override public ContextIdList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new ContextIdList(input, extensionRegistry); } }; @@ -6563,6 +6822,57 @@ public final class ContextOuterClass { return new ContextList(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private ContextList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + contexts_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + contexts_.add(input.readMessage(context.ContextOuterClass.Context.parser(), extensionRegistry)); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + contexts_ = java.util.Collections.unmodifiableList(contexts_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return context.ContextOuterClass.internal_static_context_ContextList_descriptor; } @@ -6574,7 +6884,6 @@ public final class ContextOuterClass { public static final int CONTEXTS_FIELD_NUMBER = 1; - @SuppressWarnings("serial") private java.util.List contexts_; /** @@ -6635,7 +6944,7 @@ public final class ContextOuterClass { for (int i = 0; i < contexts_.size(); i++) { output.writeMessage(1, contexts_.get(i)); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -6647,7 +6956,7 @@ public final class ContextOuterClass { for (int i = 0; i < contexts_.size(); i++) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, contexts_.get(i)); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -6663,7 +6972,7 @@ public final class ContextOuterClass { context.ContextOuterClass.ContextList other = (context.ContextOuterClass.ContextList) obj; if (!getContextsList().equals(other.getContextsList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -6679,7 +6988,7 @@ public final class ContextOuterClass { hash = (37 * hash) + CONTEXTS_FIELD_NUMBER; hash = (53 * hash) + getContextsList().hashCode(); } - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -6773,23 +7082,29 @@ public final class ContextOuterClass { // Construct using context.ContextOuterClass.ContextList.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getContextsFieldBuilder(); + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; if (contextsBuilder_ == null) { contexts_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - contexts_ = null; contextsBuilder_.clear(); } - bitField0_ = (bitField0_ & ~0x00000001); return this; } @@ -6815,15 +7130,7 @@ public final class ContextOuterClass { @java.lang.Override public context.ContextOuterClass.ContextList buildPartial() { context.ContextOuterClass.ContextList result = new context.ContextOuterClass.ContextList(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { - buildPartial0(result); - } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(context.ContextOuterClass.ContextList result) { + int from_bitField0_ = bitField0_; if (contextsBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { contexts_ = java.util.Collections.unmodifiableList(contexts_); @@ -6833,10 +7140,38 @@ public final class ContextOuterClass { } else { result.contexts_ = contextsBuilder_.build(); } + onBuilt(); + return result; } - private void buildPartial0(context.ContextOuterClass.ContextList result) { - int from_bitField0_ = bitField0_; + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -6876,7 +7211,7 @@ public final class ContextOuterClass { } } } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -6888,47 +7223,17 @@ public final class ContextOuterClass { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + context.ContextOuterClass.ContextList parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - context.ContextOuterClass.Context m = input.readMessage(context.ContextOuterClass.Context.parser(), extensionRegistry); - if (contextsBuilder_ == null) { - ensureContextsIsMutable(); - contexts_.add(m); - } else { - contextsBuilder_.addMessage(m); - } - break; - } - // case 10 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ContextList) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } @@ -7198,17 +7503,7 @@ public final class ContextOuterClass { @java.lang.Override public ContextList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new ContextList(input, extensionRegistry); } }; @@ -7287,6 +7582,70 @@ public final class ContextOuterClass { return new ContextEvent(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private ContextEvent(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + context.ContextOuterClass.Event.Builder subBuilder = null; + if (event_ != null) { + subBuilder = event_.toBuilder(); + } + event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(event_); + event_ = subBuilder.buildPartial(); + } + break; + } + case 18: + { + context.ContextOuterClass.ContextId.Builder subBuilder = null; + if (contextId_ != null) { + subBuilder = contextId_.toBuilder(); + } + contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(contextId_); + contextId_ = subBuilder.buildPartial(); + } + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return context.ContextOuterClass.internal_static_context_ContextEvent_descriptor; } @@ -7323,7 +7682,7 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { - return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; + return getEvent(); } public static final int CONTEXT_ID_FIELD_NUMBER = 2; @@ -7353,7 +7712,7 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { - return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + return getContextId(); } private byte memoizedIsInitialized = -1; @@ -7377,7 +7736,7 @@ public final class ContextOuterClass { if (contextId_ != null) { output.writeMessage(2, getContextId()); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -7392,7 +7751,7 @@ public final class ContextOuterClass { if (contextId_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getContextId()); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -7418,7 +7777,7 @@ public final class ContextOuterClass { if (!getContextId().equals(other.getContextId())) return false; } - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -7438,7 +7797,7 @@ public final class ContextOuterClass { hash = (37 * hash) + CONTEXT_ID_FIELD_NUMBER; hash = (53 * hash) + getContextId().hashCode(); } - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -7532,24 +7891,32 @@ public final class ContextOuterClass { // Construct using context.ContextOuterClass.ContextEvent.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; - event_ = null; - if (eventBuilder_ != null) { - eventBuilder_.dispose(); + if (eventBuilder_ == null) { + event_ = null; + } else { + event_ = null; eventBuilder_ = null; } - contextId_ = null; - if (contextIdBuilder_ != null) { - contextIdBuilder_.dispose(); + if (contextIdBuilder_ == null) { + contextId_ = null; + } else { + contextId_ = null; contextIdBuilder_ = null; } return this; @@ -7577,21 +7944,48 @@ public final class ContextOuterClass { @java.lang.Override public context.ContextOuterClass.ContextEvent buildPartial() { context.ContextOuterClass.ContextEvent result = new context.ContextOuterClass.ContextEvent(this); - if (bitField0_ != 0) { - buildPartial0(result); + if (eventBuilder_ == null) { + result.event_ = event_; + } else { + result.event_ = eventBuilder_.build(); + } + if (contextIdBuilder_ == null) { + result.contextId_ = contextId_; + } else { + result.contextId_ = contextIdBuilder_.build(); } onBuilt(); return result; } - private void buildPartial0(context.ContextOuterClass.ContextEvent result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.event_ = eventBuilder_ == null ? event_ : eventBuilder_.build(); - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.contextId_ = contextIdBuilder_ == null ? contextId_ : contextIdBuilder_.build(); - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -7613,7 +8007,7 @@ public final class ContextOuterClass { if (other.hasContextId()) { mergeContextId(other.getContextId()); } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -7625,54 +8019,20 @@ public final class ContextOuterClass { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + context.ContextOuterClass.ContextEvent parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - input.readMessage(getEventFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000001; - break; - } - // case 10 - case 18: - { - input.readMessage(getContextIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000002; - break; - } - // case 18 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.ContextEvent) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } - private int bitField0_; - private context.ContextOuterClass.Event event_; private com.google.protobuf.SingleFieldBuilderV3 eventBuilder_; @@ -7682,7 +8042,7 @@ public final class ContextOuterClass { * @return Whether the event field is set. */ public boolean hasEvent() { - return ((bitField0_ & 0x00000001) != 0); + return eventBuilder_ != null || event_ != null; } /** @@ -7706,11 +8066,10 @@ public final class ContextOuterClass { throw new NullPointerException(); } event_ = value; + onChanged(); } else { eventBuilder_.setMessage(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -7720,11 +8079,10 @@ public final class ContextOuterClass { public Builder setEvent(context.ContextOuterClass.Event.Builder builderForValue) { if (eventBuilder_ == null) { event_ = builderForValue.build(); + onChanged(); } else { eventBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -7733,16 +8091,15 @@ public final class ContextOuterClass { */ public Builder mergeEvent(context.ContextOuterClass.Event value) { if (eventBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0) && event_ != null && event_ != context.ContextOuterClass.Event.getDefaultInstance()) { - getEventBuilder().mergeFrom(value); + if (event_ != null) { + event_ = context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial(); } else { event_ = value; } + onChanged(); } else { eventBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -7750,13 +8107,13 @@ public final class ContextOuterClass { * .context.Event event = 1; */ public Builder clearEvent() { - bitField0_ = (bitField0_ & ~0x00000001); - event_ = null; - if (eventBuilder_ != null) { - eventBuilder_.dispose(); + if (eventBuilder_ == null) { + event_ = null; + onChanged(); + } else { + event_ = null; eventBuilder_ = null; } - onChanged(); return this; } @@ -7764,7 +8121,6 @@ public final class ContextOuterClass { * .context.Event event = 1; */ public context.ContextOuterClass.Event.Builder getEventBuilder() { - bitField0_ |= 0x00000001; onChanged(); return getEventFieldBuilder().getBuilder(); } @@ -7800,7 +8156,7 @@ public final class ContextOuterClass { * @return Whether the contextId field is set. */ public boolean hasContextId() { - return ((bitField0_ & 0x00000002) != 0); + return contextIdBuilder_ != null || contextId_ != null; } /** @@ -7824,11 +8180,10 @@ public final class ContextOuterClass { throw new NullPointerException(); } contextId_ = value; + onChanged(); } else { contextIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000002; - onChanged(); return this; } @@ -7838,11 +8193,10 @@ public final class ContextOuterClass { public Builder setContextId(context.ContextOuterClass.ContextId.Builder builderForValue) { if (contextIdBuilder_ == null) { contextId_ = builderForValue.build(); + onChanged(); } else { contextIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000002; - onChanged(); return this; } @@ -7851,16 +8205,15 @@ public final class ContextOuterClass { */ public Builder mergeContextId(context.ContextOuterClass.ContextId value) { if (contextIdBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0) && contextId_ != null && contextId_ != context.ContextOuterClass.ContextId.getDefaultInstance()) { - getContextIdBuilder().mergeFrom(value); + if (contextId_ != null) { + contextId_ = context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial(); } else { contextId_ = value; } + onChanged(); } else { contextIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000002; - onChanged(); return this; } @@ -7868,13 +8221,13 @@ public final class ContextOuterClass { * .context.ContextId context_id = 2; */ public Builder clearContextId() { - bitField0_ = (bitField0_ & ~0x00000002); - contextId_ = null; - if (contextIdBuilder_ != null) { - contextIdBuilder_.dispose(); + if (contextIdBuilder_ == null) { + contextId_ = null; + onChanged(); + } else { + contextId_ = null; contextIdBuilder_ = null; } - onChanged(); return this; } @@ -7882,7 +8235,6 @@ public final class ContextOuterClass { * .context.ContextId context_id = 2; */ public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() { - bitField0_ |= 0x00000002; onChanged(); return getContextIdFieldBuilder().getBuilder(); } @@ -7936,17 +8288,7 @@ public final class ContextOuterClass { @java.lang.Override public ContextEvent parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new ContextEvent(input, extensionRegistry); } }; @@ -8029,6 +8371,70 @@ public final class ContextOuterClass { return new TopologyId(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private TopologyId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + context.ContextOuterClass.ContextId.Builder subBuilder = null; + if (contextId_ != null) { + subBuilder = contextId_.toBuilder(); + } + contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(contextId_); + contextId_ = subBuilder.buildPartial(); + } + break; + } + case 18: + { + context.ContextOuterClass.Uuid.Builder subBuilder = null; + if (topologyUuid_ != null) { + subBuilder = topologyUuid_.toBuilder(); + } + topologyUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(topologyUuid_); + topologyUuid_ = subBuilder.buildPartial(); + } + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return context.ContextOuterClass.internal_static_context_TopologyId_descriptor; } @@ -8065,7 +8471,7 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() { - return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_; + return getContextId(); } public static final int TOPOLOGY_UUID_FIELD_NUMBER = 2; @@ -8095,7 +8501,7 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.UuidOrBuilder getTopologyUuidOrBuilder() { - return topologyUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : topologyUuid_; + return getTopologyUuid(); } private byte memoizedIsInitialized = -1; @@ -8119,7 +8525,7 @@ public final class ContextOuterClass { if (topologyUuid_ != null) { output.writeMessage(2, getTopologyUuid()); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -8134,7 +8540,7 @@ public final class ContextOuterClass { if (topologyUuid_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getTopologyUuid()); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -8160,7 +8566,7 @@ public final class ContextOuterClass { if (!getTopologyUuid().equals(other.getTopologyUuid())) return false; } - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -8180,7 +8586,7 @@ public final class ContextOuterClass { hash = (37 * hash) + TOPOLOGY_UUID_FIELD_NUMBER; hash = (53 * hash) + getTopologyUuid().hashCode(); } - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -8278,24 +8684,32 @@ public final class ContextOuterClass { // Construct using context.ContextOuterClass.TopologyId.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; - contextId_ = null; - if (contextIdBuilder_ != null) { - contextIdBuilder_.dispose(); + if (contextIdBuilder_ == null) { + contextId_ = null; + } else { + contextId_ = null; contextIdBuilder_ = null; } - topologyUuid_ = null; - if (topologyUuidBuilder_ != null) { - topologyUuidBuilder_.dispose(); + if (topologyUuidBuilder_ == null) { + topologyUuid_ = null; + } else { + topologyUuid_ = null; topologyUuidBuilder_ = null; } return this; @@ -8323,21 +8737,48 @@ public final class ContextOuterClass { @java.lang.Override public context.ContextOuterClass.TopologyId buildPartial() { context.ContextOuterClass.TopologyId result = new context.ContextOuterClass.TopologyId(this); - if (bitField0_ != 0) { - buildPartial0(result); + if (contextIdBuilder_ == null) { + result.contextId_ = contextId_; + } else { + result.contextId_ = contextIdBuilder_.build(); + } + if (topologyUuidBuilder_ == null) { + result.topologyUuid_ = topologyUuid_; + } else { + result.topologyUuid_ = topologyUuidBuilder_.build(); } onBuilt(); return result; } - private void buildPartial0(context.ContextOuterClass.TopologyId result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.contextId_ = contextIdBuilder_ == null ? contextId_ : contextIdBuilder_.build(); - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.topologyUuid_ = topologyUuidBuilder_ == null ? topologyUuid_ : topologyUuidBuilder_.build(); - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -8359,7 +8800,7 @@ public final class ContextOuterClass { if (other.hasTopologyUuid()) { mergeTopologyUuid(other.getTopologyUuid()); } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -8371,54 +8812,20 @@ public final class ContextOuterClass { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + context.ContextOuterClass.TopologyId parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - input.readMessage(getContextIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000001; - break; - } - // case 10 - case 18: - { - input.readMessage(getTopologyUuidFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000002; - break; - } - // case 18 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.TopologyId) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } - private int bitField0_; - private context.ContextOuterClass.ContextId contextId_; private com.google.protobuf.SingleFieldBuilderV3 contextIdBuilder_; @@ -8428,7 +8835,7 @@ public final class ContextOuterClass { * @return Whether the contextId field is set. */ public boolean hasContextId() { - return ((bitField0_ & 0x00000001) != 0); + return contextIdBuilder_ != null || contextId_ != null; } /** @@ -8452,11 +8859,10 @@ public final class ContextOuterClass { throw new NullPointerException(); } contextId_ = value; + onChanged(); } else { contextIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -8466,11 +8872,10 @@ public final class ContextOuterClass { public Builder setContextId(context.ContextOuterClass.ContextId.Builder builderForValue) { if (contextIdBuilder_ == null) { contextId_ = builderForValue.build(); + onChanged(); } else { contextIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -8479,16 +8884,15 @@ public final class ContextOuterClass { */ public Builder mergeContextId(context.ContextOuterClass.ContextId value) { if (contextIdBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0) && contextId_ != null && contextId_ != context.ContextOuterClass.ContextId.getDefaultInstance()) { - getContextIdBuilder().mergeFrom(value); + if (contextId_ != null) { + contextId_ = context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial(); } else { contextId_ = value; } + onChanged(); } else { contextIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -8496,13 +8900,13 @@ public final class ContextOuterClass { * .context.ContextId context_id = 1; */ public Builder clearContextId() { - bitField0_ = (bitField0_ & ~0x00000001); - contextId_ = null; - if (contextIdBuilder_ != null) { - contextIdBuilder_.dispose(); + if (contextIdBuilder_ == null) { + contextId_ = null; + onChanged(); + } else { + contextId_ = null; contextIdBuilder_ = null; } - onChanged(); return this; } @@ -8510,7 +8914,6 @@ public final class ContextOuterClass { * .context.ContextId context_id = 1; */ public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() { - bitField0_ |= 0x00000001; onChanged(); return getContextIdFieldBuilder().getBuilder(); } @@ -8546,7 +8949,7 @@ public final class ContextOuterClass { * @return Whether the topologyUuid field is set. */ public boolean hasTopologyUuid() { - return ((bitField0_ & 0x00000002) != 0); + return topologyUuidBuilder_ != null || topologyUuid_ != null; } /** @@ -8570,11 +8973,10 @@ public final class ContextOuterClass { throw new NullPointerException(); } topologyUuid_ = value; + onChanged(); } else { topologyUuidBuilder_.setMessage(value); } - bitField0_ |= 0x00000002; - onChanged(); return this; } @@ -8584,11 +8986,10 @@ public final class ContextOuterClass { public Builder setTopologyUuid(context.ContextOuterClass.Uuid.Builder builderForValue) { if (topologyUuidBuilder_ == null) { topologyUuid_ = builderForValue.build(); + onChanged(); } else { topologyUuidBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000002; - onChanged(); return this; } @@ -8597,16 +8998,15 @@ public final class ContextOuterClass { */ public Builder mergeTopologyUuid(context.ContextOuterClass.Uuid value) { if (topologyUuidBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0) && topologyUuid_ != null && topologyUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) { - getTopologyUuidBuilder().mergeFrom(value); + if (topologyUuid_ != null) { + topologyUuid_ = context.ContextOuterClass.Uuid.newBuilder(topologyUuid_).mergeFrom(value).buildPartial(); } else { topologyUuid_ = value; } + onChanged(); } else { topologyUuidBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000002; - onChanged(); return this; } @@ -8614,13 +9014,13 @@ public final class ContextOuterClass { * .context.Uuid topology_uuid = 2; */ public Builder clearTopologyUuid() { - bitField0_ = (bitField0_ & ~0x00000002); - topologyUuid_ = null; - if (topologyUuidBuilder_ != null) { - topologyUuidBuilder_.dispose(); + if (topologyUuidBuilder_ == null) { + topologyUuid_ = null; + onChanged(); + } else { + topologyUuid_ = null; topologyUuidBuilder_ = null; } - onChanged(); return this; } @@ -8628,7 +9028,6 @@ public final class ContextOuterClass { * .context.Uuid topology_uuid = 2; */ public context.ContextOuterClass.Uuid.Builder getTopologyUuidBuilder() { - bitField0_ |= 0x00000002; onChanged(); return getTopologyUuidFieldBuilder().getBuilder(); } @@ -8682,17 +9081,7 @@ public final class ContextOuterClass { @java.lang.Override public TopologyId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new TopologyId(input, extensionRegistry); } }; @@ -8819,6 +9208,88 @@ public final class ContextOuterClass { return new Topology(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private Topology(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + context.ContextOuterClass.TopologyId.Builder subBuilder = null; + if (topologyId_ != null) { + subBuilder = topologyId_.toBuilder(); + } + topologyId_ = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(topologyId_); + topologyId_ = subBuilder.buildPartial(); + } + break; + } + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + name_ = s; + break; + } + case 26: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + deviceIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + deviceIds_.add(input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry)); + break; + } + case 34: + { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + linkIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000002; + } + linkIds_.add(input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry)); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_); + } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + linkIds_ = java.util.Collections.unmodifiableList(linkIds_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return context.ContextOuterClass.internal_static_context_Topology_descriptor; } @@ -8855,13 +9326,12 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() { - return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; + return getTopologyId(); } public static final int NAME_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object name_ = ""; + private volatile java.lang.Object name_; /** * string name = 2; @@ -8898,7 +9368,6 @@ public final class ContextOuterClass { public static final int DEVICE_IDS_FIELD_NUMBER = 3; - @SuppressWarnings("serial") private java.util.List deviceIds_; /** @@ -8943,7 +9412,6 @@ public final class ContextOuterClass { public static final int LINK_IDS_FIELD_NUMBER = 4; - @SuppressWarnings("serial") private java.util.List linkIds_; /** @@ -9004,7 +9472,7 @@ public final class ContextOuterClass { if (topologyId_ != null) { output.writeMessage(1, getTopologyId()); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + if (!getNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_); } for (int i = 0; i < deviceIds_.size(); i++) { @@ -9013,7 +9481,7 @@ public final class ContextOuterClass { for (int i = 0; i < linkIds_.size(); i++) { output.writeMessage(4, linkIds_.get(i)); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -9025,7 +9493,7 @@ public final class ContextOuterClass { if (topologyId_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getTopologyId()); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + if (!getNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_); } for (int i = 0; i < deviceIds_.size(); i++) { @@ -9034,7 +9502,7 @@ public final class ContextOuterClass { for (int i = 0; i < linkIds_.size(); i++) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, linkIds_.get(i)); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -9060,7 +9528,7 @@ public final class ContextOuterClass { return false; if (!getLinkIdsList().equals(other.getLinkIdsList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -9086,7 +9554,7 @@ public final class ContextOuterClass { hash = (37 * hash) + LINK_IDS_FIELD_NUMBER; hash = (53 * hash) + getLinkIdsList().hashCode(); } - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -9180,36 +9648,43 @@ public final class ContextOuterClass { // Construct using context.ContextOuterClass.Topology.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getDeviceIdsFieldBuilder(); + getLinkIdsFieldBuilder(); + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; - topologyId_ = null; - if (topologyIdBuilder_ != null) { - topologyIdBuilder_.dispose(); + if (topologyIdBuilder_ == null) { + topologyId_ = null; + } else { + topologyId_ = null; topologyIdBuilder_ = null; } name_ = ""; if (deviceIdsBuilder_ == null) { deviceIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - deviceIds_ = null; deviceIdsBuilder_.clear(); } - bitField0_ = (bitField0_ & ~0x00000004); if (linkIdsBuilder_ == null) { linkIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); } else { - linkIds_ = null; linkIdsBuilder_.clear(); } - bitField0_ = (bitField0_ & ~0x00000008); return this; } @@ -9235,43 +9710,63 @@ public final class ContextOuterClass { @java.lang.Override public context.ContextOuterClass.Topology buildPartial() { context.ContextOuterClass.Topology result = new context.ContextOuterClass.Topology(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { - buildPartial0(result); + int from_bitField0_ = bitField0_; + if (topologyIdBuilder_ == null) { + result.topologyId_ = topologyId_; + } else { + result.topologyId_ = topologyIdBuilder_.build(); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(context.ContextOuterClass.Topology result) { + result.name_ = name_; if (deviceIdsBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { + if (((bitField0_ & 0x00000001) != 0)) { deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_); - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); } result.deviceIds_ = deviceIds_; } else { result.deviceIds_ = deviceIdsBuilder_.build(); } if (linkIdsBuilder_ == null) { - if (((bitField0_ & 0x00000008) != 0)) { + if (((bitField0_ & 0x00000002) != 0)) { linkIds_ = java.util.Collections.unmodifiableList(linkIds_); - bitField0_ = (bitField0_ & ~0x00000008); + bitField0_ = (bitField0_ & ~0x00000002); } result.linkIds_ = linkIds_; } else { result.linkIds_ = linkIdsBuilder_.build(); } + onBuilt(); + return result; } - private void buildPartial0(context.ContextOuterClass.Topology result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.topologyId_ = topologyIdBuilder_ == null ? topologyId_ : topologyIdBuilder_.build(); - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.name_ = name_; - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -9292,14 +9787,13 @@ public final class ContextOuterClass { } if (!other.getName().isEmpty()) { name_ = other.name_; - bitField0_ |= 0x00000002; onChanged(); } if (deviceIdsBuilder_ == null) { if (!other.deviceIds_.isEmpty()) { if (deviceIds_.isEmpty()) { deviceIds_ = other.deviceIds_; - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); } else { ensureDeviceIdsIsMutable(); deviceIds_.addAll(other.deviceIds_); @@ -9312,7 +9806,7 @@ public final class ContextOuterClass { deviceIdsBuilder_.dispose(); deviceIdsBuilder_ = null; deviceIds_ = other.deviceIds_; - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); deviceIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getDeviceIdsFieldBuilder() : null; } else { deviceIdsBuilder_.addAllMessages(other.deviceIds_); @@ -9323,7 +9817,7 @@ public final class ContextOuterClass { if (!other.linkIds_.isEmpty()) { if (linkIds_.isEmpty()) { linkIds_ = other.linkIds_; - bitField0_ = (bitField0_ & ~0x00000008); + bitField0_ = (bitField0_ & ~0x00000002); } else { ensureLinkIdsIsMutable(); linkIds_.addAll(other.linkIds_); @@ -9336,14 +9830,14 @@ public final class ContextOuterClass { linkIdsBuilder_.dispose(); linkIdsBuilder_ = null; linkIds_ = other.linkIds_; - bitField0_ = (bitField0_ & ~0x00000008); + bitField0_ = (bitField0_ & ~0x00000002); linkIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getLinkIdsFieldBuilder() : null; } else { linkIdsBuilder_.addAllMessages(other.linkIds_); } } } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -9355,73 +9849,17 @@ public final class ContextOuterClass { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + context.ContextOuterClass.Topology parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - input.readMessage(getTopologyIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000001; - break; - } - // case 10 - case 18: - { - name_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } - // case 18 - case 26: - { - context.ContextOuterClass.DeviceId m = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry); - if (deviceIdsBuilder_ == null) { - ensureDeviceIdsIsMutable(); - deviceIds_.add(m); - } else { - deviceIdsBuilder_.addMessage(m); - } - break; - } - // case 26 - case 34: - { - context.ContextOuterClass.LinkId m = input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry); - if (linkIdsBuilder_ == null) { - ensureLinkIdsIsMutable(); - linkIds_.add(m); - } else { - linkIdsBuilder_.addMessage(m); - } - break; - } - // case 34 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.Topology) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } @@ -9436,7 +9874,7 @@ public final class ContextOuterClass { * @return Whether the topologyId field is set. */ public boolean hasTopologyId() { - return ((bitField0_ & 0x00000001) != 0); + return topologyIdBuilder_ != null || topologyId_ != null; } /** @@ -9460,11 +9898,10 @@ public final class ContextOuterClass { throw new NullPointerException(); } topologyId_ = value; + onChanged(); } else { topologyIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -9474,11 +9911,10 @@ public final class ContextOuterClass { public Builder setTopologyId(context.ContextOuterClass.TopologyId.Builder builderForValue) { if (topologyIdBuilder_ == null) { topologyId_ = builderForValue.build(); + onChanged(); } else { topologyIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -9487,16 +9923,15 @@ public final class ContextOuterClass { */ public Builder mergeTopologyId(context.ContextOuterClass.TopologyId value) { if (topologyIdBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0) && topologyId_ != null && topologyId_ != context.ContextOuterClass.TopologyId.getDefaultInstance()) { - getTopologyIdBuilder().mergeFrom(value); + if (topologyId_ != null) { + topologyId_ = context.ContextOuterClass.TopologyId.newBuilder(topologyId_).mergeFrom(value).buildPartial(); } else { topologyId_ = value; } + onChanged(); } else { topologyIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -9504,13 +9939,13 @@ public final class ContextOuterClass { * .context.TopologyId topology_id = 1; */ public Builder clearTopologyId() { - bitField0_ = (bitField0_ & ~0x00000001); - topologyId_ = null; - if (topologyIdBuilder_ != null) { - topologyIdBuilder_.dispose(); + if (topologyIdBuilder_ == null) { + topologyId_ = null; + onChanged(); + } else { + topologyId_ = null; topologyIdBuilder_ = null; } - onChanged(); return this; } @@ -9518,7 +9953,6 @@ public final class ContextOuterClass { * .context.TopologyId topology_id = 1; */ public context.ContextOuterClass.TopologyId.Builder getTopologyIdBuilder() { - bitField0_ |= 0x00000001; onChanged(); return getTopologyIdFieldBuilder().getBuilder(); } @@ -9588,7 +10022,6 @@ public final class ContextOuterClass { throw new NullPointerException(); } name_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -9599,7 +10032,6 @@ public final class ContextOuterClass { */ public Builder clearName() { name_ = getDefaultInstance().getName(); - bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } @@ -9615,7 +10047,6 @@ public final class ContextOuterClass { } checkByteStringIsUtf8(value); name_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -9623,9 +10054,9 @@ public final class ContextOuterClass { private java.util.List deviceIds_ = java.util.Collections.emptyList(); private void ensureDeviceIdsIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { + if (!((bitField0_ & 0x00000001) != 0)) { deviceIds_ = new java.util.ArrayList(deviceIds_); - bitField0_ |= 0x00000004; + bitField0_ |= 0x00000001; } } @@ -9777,7 +10208,7 @@ public final class ContextOuterClass { public Builder clearDeviceIds() { if (deviceIdsBuilder_ == null) { deviceIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { deviceIdsBuilder_.clear(); @@ -9851,7 +10282,7 @@ public final class ContextOuterClass { private com.google.protobuf.RepeatedFieldBuilderV3 getDeviceIdsFieldBuilder() { if (deviceIdsBuilder_ == null) { - deviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(deviceIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean()); + deviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(deviceIds_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); deviceIds_ = null; } return deviceIdsBuilder_; @@ -9860,9 +10291,9 @@ public final class ContextOuterClass { private java.util.List linkIds_ = java.util.Collections.emptyList(); private void ensureLinkIdsIsMutable() { - if (!((bitField0_ & 0x00000008) != 0)) { + if (!((bitField0_ & 0x00000002) != 0)) { linkIds_ = new java.util.ArrayList(linkIds_); - bitField0_ |= 0x00000008; + bitField0_ |= 0x00000002; } } @@ -10014,7 +10445,7 @@ public final class ContextOuterClass { public Builder clearLinkIds() { if (linkIdsBuilder_ == null) { linkIds_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000008); + bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { linkIdsBuilder_.clear(); @@ -10088,7 +10519,7 @@ public final class ContextOuterClass { private com.google.protobuf.RepeatedFieldBuilderV3 getLinkIdsFieldBuilder() { if (linkIdsBuilder_ == null) { - linkIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(linkIds_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean()); + linkIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(linkIds_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); linkIds_ = null; } return linkIdsBuilder_; @@ -10121,17 +10552,7 @@ public final class ContextOuterClass { @java.lang.Override public Topology parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new Topology(input, extensionRegistry); } }; @@ -10258,6 +10679,88 @@ public final class ContextOuterClass { return new TopologyDetails(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private TopologyDetails(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + context.ContextOuterClass.TopologyId.Builder subBuilder = null; + if (topologyId_ != null) { + subBuilder = topologyId_.toBuilder(); + } + topologyId_ = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(topologyId_); + topologyId_ = subBuilder.buildPartial(); + } + break; + } + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + name_ = s; + break; + } + case 26: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + devices_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + devices_.add(input.readMessage(context.ContextOuterClass.Device.parser(), extensionRegistry)); + break; + } + case 34: + { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + links_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000002; + } + links_.add(input.readMessage(context.ContextOuterClass.Link.parser(), extensionRegistry)); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + devices_ = java.util.Collections.unmodifiableList(devices_); + } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + links_ = java.util.Collections.unmodifiableList(links_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return context.ContextOuterClass.internal_static_context_TopologyDetails_descriptor; } @@ -10294,13 +10797,12 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() { - return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; + return getTopologyId(); } public static final int NAME_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object name_ = ""; + private volatile java.lang.Object name_; /** * string name = 2; @@ -10337,7 +10839,6 @@ public final class ContextOuterClass { public static final int DEVICES_FIELD_NUMBER = 3; - @SuppressWarnings("serial") private java.util.List devices_; /** @@ -10382,7 +10883,6 @@ public final class ContextOuterClass { public static final int LINKS_FIELD_NUMBER = 4; - @SuppressWarnings("serial") private java.util.List links_; /** @@ -10443,7 +10943,7 @@ public final class ContextOuterClass { if (topologyId_ != null) { output.writeMessage(1, getTopologyId()); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + if (!getNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_); } for (int i = 0; i < devices_.size(); i++) { @@ -10452,7 +10952,7 @@ public final class ContextOuterClass { for (int i = 0; i < links_.size(); i++) { output.writeMessage(4, links_.get(i)); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -10464,7 +10964,7 @@ public final class ContextOuterClass { if (topologyId_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getTopologyId()); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + if (!getNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_); } for (int i = 0; i < devices_.size(); i++) { @@ -10473,7 +10973,7 @@ public final class ContextOuterClass { for (int i = 0; i < links_.size(); i++) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, links_.get(i)); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -10499,7 +10999,7 @@ public final class ContextOuterClass { return false; if (!getLinksList().equals(other.getLinksList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -10525,7 +11025,7 @@ public final class ContextOuterClass { hash = (37 * hash) + LINKS_FIELD_NUMBER; hash = (53 * hash) + getLinksList().hashCode(); } - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -10619,36 +11119,43 @@ public final class ContextOuterClass { // Construct using context.ContextOuterClass.TopologyDetails.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getDevicesFieldBuilder(); + getLinksFieldBuilder(); + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; - topologyId_ = null; - if (topologyIdBuilder_ != null) { - topologyIdBuilder_.dispose(); + if (topologyIdBuilder_ == null) { + topologyId_ = null; + } else { + topologyId_ = null; topologyIdBuilder_ = null; } name_ = ""; if (devicesBuilder_ == null) { devices_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - devices_ = null; devicesBuilder_.clear(); } - bitField0_ = (bitField0_ & ~0x00000004); if (linksBuilder_ == null) { links_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); } else { - links_ = null; linksBuilder_.clear(); } - bitField0_ = (bitField0_ & ~0x00000008); return this; } @@ -10674,43 +11181,63 @@ public final class ContextOuterClass { @java.lang.Override public context.ContextOuterClass.TopologyDetails buildPartial() { context.ContextOuterClass.TopologyDetails result = new context.ContextOuterClass.TopologyDetails(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { - buildPartial0(result); + int from_bitField0_ = bitField0_; + if (topologyIdBuilder_ == null) { + result.topologyId_ = topologyId_; + } else { + result.topologyId_ = topologyIdBuilder_.build(); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(context.ContextOuterClass.TopologyDetails result) { + result.name_ = name_; if (devicesBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { + if (((bitField0_ & 0x00000001) != 0)) { devices_ = java.util.Collections.unmodifiableList(devices_); - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); } result.devices_ = devices_; } else { result.devices_ = devicesBuilder_.build(); } if (linksBuilder_ == null) { - if (((bitField0_ & 0x00000008) != 0)) { + if (((bitField0_ & 0x00000002) != 0)) { links_ = java.util.Collections.unmodifiableList(links_); - bitField0_ = (bitField0_ & ~0x00000008); + bitField0_ = (bitField0_ & ~0x00000002); } result.links_ = links_; } else { result.links_ = linksBuilder_.build(); } + onBuilt(); + return result; } - private void buildPartial0(context.ContextOuterClass.TopologyDetails result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.topologyId_ = topologyIdBuilder_ == null ? topologyId_ : topologyIdBuilder_.build(); - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.name_ = name_; - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -10731,14 +11258,13 @@ public final class ContextOuterClass { } if (!other.getName().isEmpty()) { name_ = other.name_; - bitField0_ |= 0x00000002; onChanged(); } if (devicesBuilder_ == null) { if (!other.devices_.isEmpty()) { if (devices_.isEmpty()) { devices_ = other.devices_; - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); } else { ensureDevicesIsMutable(); devices_.addAll(other.devices_); @@ -10751,7 +11277,7 @@ public final class ContextOuterClass { devicesBuilder_.dispose(); devicesBuilder_ = null; devices_ = other.devices_; - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); devicesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getDevicesFieldBuilder() : null; } else { devicesBuilder_.addAllMessages(other.devices_); @@ -10762,7 +11288,7 @@ public final class ContextOuterClass { if (!other.links_.isEmpty()) { if (links_.isEmpty()) { links_ = other.links_; - bitField0_ = (bitField0_ & ~0x00000008); + bitField0_ = (bitField0_ & ~0x00000002); } else { ensureLinksIsMutable(); links_.addAll(other.links_); @@ -10775,14 +11301,14 @@ public final class ContextOuterClass { linksBuilder_.dispose(); linksBuilder_ = null; links_ = other.links_; - bitField0_ = (bitField0_ & ~0x00000008); + bitField0_ = (bitField0_ & ~0x00000002); linksBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getLinksFieldBuilder() : null; } else { linksBuilder_.addAllMessages(other.links_); } } } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -10794,73 +11320,17 @@ public final class ContextOuterClass { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + context.ContextOuterClass.TopologyDetails parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - input.readMessage(getTopologyIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000001; - break; - } - // case 10 - case 18: - { - name_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } - // case 18 - case 26: - { - context.ContextOuterClass.Device m = input.readMessage(context.ContextOuterClass.Device.parser(), extensionRegistry); - if (devicesBuilder_ == null) { - ensureDevicesIsMutable(); - devices_.add(m); - } else { - devicesBuilder_.addMessage(m); - } - break; - } - // case 26 - case 34: - { - context.ContextOuterClass.Link m = input.readMessage(context.ContextOuterClass.Link.parser(), extensionRegistry); - if (linksBuilder_ == null) { - ensureLinksIsMutable(); - links_.add(m); - } else { - linksBuilder_.addMessage(m); - } - break; - } - // case 34 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.TopologyDetails) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } @@ -10875,7 +11345,7 @@ public final class ContextOuterClass { * @return Whether the topologyId field is set. */ public boolean hasTopologyId() { - return ((bitField0_ & 0x00000001) != 0); + return topologyIdBuilder_ != null || topologyId_ != null; } /** @@ -10899,11 +11369,10 @@ public final class ContextOuterClass { throw new NullPointerException(); } topologyId_ = value; + onChanged(); } else { topologyIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -10913,11 +11382,10 @@ public final class ContextOuterClass { public Builder setTopologyId(context.ContextOuterClass.TopologyId.Builder builderForValue) { if (topologyIdBuilder_ == null) { topologyId_ = builderForValue.build(); + onChanged(); } else { topologyIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -10926,16 +11394,15 @@ public final class ContextOuterClass { */ public Builder mergeTopologyId(context.ContextOuterClass.TopologyId value) { if (topologyIdBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0) && topologyId_ != null && topologyId_ != context.ContextOuterClass.TopologyId.getDefaultInstance()) { - getTopologyIdBuilder().mergeFrom(value); + if (topologyId_ != null) { + topologyId_ = context.ContextOuterClass.TopologyId.newBuilder(topologyId_).mergeFrom(value).buildPartial(); } else { topologyId_ = value; } + onChanged(); } else { topologyIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -10943,13 +11410,13 @@ public final class ContextOuterClass { * .context.TopologyId topology_id = 1; */ public Builder clearTopologyId() { - bitField0_ = (bitField0_ & ~0x00000001); - topologyId_ = null; - if (topologyIdBuilder_ != null) { - topologyIdBuilder_.dispose(); + if (topologyIdBuilder_ == null) { + topologyId_ = null; + onChanged(); + } else { + topologyId_ = null; topologyIdBuilder_ = null; } - onChanged(); return this; } @@ -10957,7 +11424,6 @@ public final class ContextOuterClass { * .context.TopologyId topology_id = 1; */ public context.ContextOuterClass.TopologyId.Builder getTopologyIdBuilder() { - bitField0_ |= 0x00000001; onChanged(); return getTopologyIdFieldBuilder().getBuilder(); } @@ -11027,7 +11493,6 @@ public final class ContextOuterClass { throw new NullPointerException(); } name_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -11038,7 +11503,6 @@ public final class ContextOuterClass { */ public Builder clearName() { name_ = getDefaultInstance().getName(); - bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } @@ -11054,7 +11518,6 @@ public final class ContextOuterClass { } checkByteStringIsUtf8(value); name_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -11062,9 +11525,9 @@ public final class ContextOuterClass { private java.util.List devices_ = java.util.Collections.emptyList(); private void ensureDevicesIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { + if (!((bitField0_ & 0x00000001) != 0)) { devices_ = new java.util.ArrayList(devices_); - bitField0_ |= 0x00000004; + bitField0_ |= 0x00000001; } } @@ -11216,7 +11679,7 @@ public final class ContextOuterClass { public Builder clearDevices() { if (devicesBuilder_ == null) { devices_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { devicesBuilder_.clear(); @@ -11290,7 +11753,7 @@ public final class ContextOuterClass { private com.google.protobuf.RepeatedFieldBuilderV3 getDevicesFieldBuilder() { if (devicesBuilder_ == null) { - devicesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(devices_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean()); + devicesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(devices_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); devices_ = null; } return devicesBuilder_; @@ -11299,9 +11762,9 @@ public final class ContextOuterClass { private java.util.List links_ = java.util.Collections.emptyList(); private void ensureLinksIsMutable() { - if (!((bitField0_ & 0x00000008) != 0)) { + if (!((bitField0_ & 0x00000002) != 0)) { links_ = new java.util.ArrayList(links_); - bitField0_ |= 0x00000008; + bitField0_ |= 0x00000002; } } @@ -11453,7 +11916,7 @@ public final class ContextOuterClass { public Builder clearLinks() { if (linksBuilder_ == null) { links_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000008); + bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { linksBuilder_.clear(); @@ -11527,7 +11990,7 @@ public final class ContextOuterClass { private com.google.protobuf.RepeatedFieldBuilderV3 getLinksFieldBuilder() { if (linksBuilder_ == null) { - linksBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(links_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean()); + linksBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(links_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); links_ = null; } return linksBuilder_; @@ -11560,17 +12023,7 @@ public final class ContextOuterClass { @java.lang.Override public TopologyDetails parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new TopologyDetails(input, extensionRegistry); } }; @@ -11641,6 +12094,57 @@ public final class ContextOuterClass { return new TopologyIdList(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private TopologyIdList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + topologyIds_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + topologyIds_.add(input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry)); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + topologyIds_ = java.util.Collections.unmodifiableList(topologyIds_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return context.ContextOuterClass.internal_static_context_TopologyIdList_descriptor; } @@ -11652,7 +12156,6 @@ public final class ContextOuterClass { public static final int TOPOLOGY_IDS_FIELD_NUMBER = 1; - @SuppressWarnings("serial") private java.util.List topologyIds_; /** @@ -11713,7 +12216,7 @@ public final class ContextOuterClass { for (int i = 0; i < topologyIds_.size(); i++) { output.writeMessage(1, topologyIds_.get(i)); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -11725,7 +12228,7 @@ public final class ContextOuterClass { for (int i = 0; i < topologyIds_.size(); i++) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, topologyIds_.get(i)); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -11741,7 +12244,7 @@ public final class ContextOuterClass { context.ContextOuterClass.TopologyIdList other = (context.ContextOuterClass.TopologyIdList) obj; if (!getTopologyIdsList().equals(other.getTopologyIdsList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -11757,7 +12260,7 @@ public final class ContextOuterClass { hash = (37 * hash) + TOPOLOGY_IDS_FIELD_NUMBER; hash = (53 * hash) + getTopologyIdsList().hashCode(); } - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -11851,23 +12354,29 @@ public final class ContextOuterClass { // Construct using context.ContextOuterClass.TopologyIdList.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getTopologyIdsFieldBuilder(); + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; if (topologyIdsBuilder_ == null) { topologyIds_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - topologyIds_ = null; topologyIdsBuilder_.clear(); } - bitField0_ = (bitField0_ & ~0x00000001); return this; } @@ -11893,15 +12402,7 @@ public final class ContextOuterClass { @java.lang.Override public context.ContextOuterClass.TopologyIdList buildPartial() { context.ContextOuterClass.TopologyIdList result = new context.ContextOuterClass.TopologyIdList(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { - buildPartial0(result); - } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(context.ContextOuterClass.TopologyIdList result) { + int from_bitField0_ = bitField0_; if (topologyIdsBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { topologyIds_ = java.util.Collections.unmodifiableList(topologyIds_); @@ -11911,10 +12412,38 @@ public final class ContextOuterClass { } else { result.topologyIds_ = topologyIdsBuilder_.build(); } + onBuilt(); + return result; } - private void buildPartial0(context.ContextOuterClass.TopologyIdList result) { - int from_bitField0_ = bitField0_; + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -11954,7 +12483,7 @@ public final class ContextOuterClass { } } } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -11966,47 +12495,17 @@ public final class ContextOuterClass { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + context.ContextOuterClass.TopologyIdList parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - context.ContextOuterClass.TopologyId m = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry); - if (topologyIdsBuilder_ == null) { - ensureTopologyIdsIsMutable(); - topologyIds_.add(m); - } else { - topologyIdsBuilder_.addMessage(m); - } - break; - } - // case 10 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.TopologyIdList) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } @@ -12276,17 +12775,7 @@ public final class ContextOuterClass { @java.lang.Override public TopologyIdList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new TopologyIdList(input, extensionRegistry); } }; @@ -12357,6 +12846,57 @@ public final class ContextOuterClass { return new TopologyList(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private TopologyList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + topologies_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + topologies_.add(input.readMessage(context.ContextOuterClass.Topology.parser(), extensionRegistry)); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + topologies_ = java.util.Collections.unmodifiableList(topologies_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return context.ContextOuterClass.internal_static_context_TopologyList_descriptor; } @@ -12368,7 +12908,6 @@ public final class ContextOuterClass { public static final int TOPOLOGIES_FIELD_NUMBER = 1; - @SuppressWarnings("serial") private java.util.List topologies_; /** @@ -12429,7 +12968,7 @@ public final class ContextOuterClass { for (int i = 0; i < topologies_.size(); i++) { output.writeMessage(1, topologies_.get(i)); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -12441,7 +12980,7 @@ public final class ContextOuterClass { for (int i = 0; i < topologies_.size(); i++) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, topologies_.get(i)); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -12457,7 +12996,7 @@ public final class ContextOuterClass { context.ContextOuterClass.TopologyList other = (context.ContextOuterClass.TopologyList) obj; if (!getTopologiesList().equals(other.getTopologiesList())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -12473,7 +13012,7 @@ public final class ContextOuterClass { hash = (37 * hash) + TOPOLOGIES_FIELD_NUMBER; hash = (53 * hash) + getTopologiesList().hashCode(); } - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -12567,23 +13106,29 @@ public final class ContextOuterClass { // Construct using context.ContextOuterClass.TopologyList.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getTopologiesFieldBuilder(); + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; if (topologiesBuilder_ == null) { topologies_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - topologies_ = null; topologiesBuilder_.clear(); } - bitField0_ = (bitField0_ & ~0x00000001); return this; } @@ -12609,15 +13154,7 @@ public final class ContextOuterClass { @java.lang.Override public context.ContextOuterClass.TopologyList buildPartial() { context.ContextOuterClass.TopologyList result = new context.ContextOuterClass.TopologyList(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { - buildPartial0(result); - } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(context.ContextOuterClass.TopologyList result) { + int from_bitField0_ = bitField0_; if (topologiesBuilder_ == null) { if (((bitField0_ & 0x00000001) != 0)) { topologies_ = java.util.Collections.unmodifiableList(topologies_); @@ -12627,10 +13164,38 @@ public final class ContextOuterClass { } else { result.topologies_ = topologiesBuilder_.build(); } + onBuilt(); + return result; } - private void buildPartial0(context.ContextOuterClass.TopologyList result) { - int from_bitField0_ = bitField0_; + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -12670,7 +13235,7 @@ public final class ContextOuterClass { } } } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -12682,47 +13247,17 @@ public final class ContextOuterClass { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + context.ContextOuterClass.TopologyList parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - context.ContextOuterClass.Topology m = input.readMessage(context.ContextOuterClass.Topology.parser(), extensionRegistry); - if (topologiesBuilder_ == null) { - ensureTopologiesIsMutable(); - topologies_.add(m); - } else { - topologiesBuilder_.addMessage(m); - } - break; - } - // case 10 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.TopologyList) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } @@ -12992,17 +13527,7 @@ public final class ContextOuterClass { @java.lang.Override public TopologyList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new TopologyList(input, extensionRegistry); } }; @@ -13081,6 +13606,70 @@ public final class ContextOuterClass { return new TopologyEvent(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private TopologyEvent(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + context.ContextOuterClass.Event.Builder subBuilder = null; + if (event_ != null) { + subBuilder = event_.toBuilder(); + } + event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(event_); + event_ = subBuilder.buildPartial(); + } + break; + } + case 18: + { + context.ContextOuterClass.TopologyId.Builder subBuilder = null; + if (topologyId_ != null) { + subBuilder = topologyId_.toBuilder(); + } + topologyId_ = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(topologyId_); + topologyId_ = subBuilder.buildPartial(); + } + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return context.ContextOuterClass.internal_static_context_TopologyEvent_descriptor; } @@ -13117,7 +13706,7 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() { - return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_; + return getEvent(); } public static final int TOPOLOGY_ID_FIELD_NUMBER = 2; @@ -13147,7 +13736,7 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() { - return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_; + return getTopologyId(); } private byte memoizedIsInitialized = -1; @@ -13171,7 +13760,7 @@ public final class ContextOuterClass { if (topologyId_ != null) { output.writeMessage(2, getTopologyId()); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -13186,7 +13775,7 @@ public final class ContextOuterClass { if (topologyId_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getTopologyId()); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -13212,7 +13801,7 @@ public final class ContextOuterClass { if (!getTopologyId().equals(other.getTopologyId())) return false; } - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -13232,7 +13821,7 @@ public final class ContextOuterClass { hash = (37 * hash) + TOPOLOGY_ID_FIELD_NUMBER; hash = (53 * hash) + getTopologyId().hashCode(); } - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -13326,24 +13915,32 @@ public final class ContextOuterClass { // Construct using context.ContextOuterClass.TopologyEvent.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; - event_ = null; - if (eventBuilder_ != null) { - eventBuilder_.dispose(); + if (eventBuilder_ == null) { + event_ = null; + } else { + event_ = null; eventBuilder_ = null; } - topologyId_ = null; - if (topologyIdBuilder_ != null) { - topologyIdBuilder_.dispose(); + if (topologyIdBuilder_ == null) { + topologyId_ = null; + } else { + topologyId_ = null; topologyIdBuilder_ = null; } return this; @@ -13371,21 +13968,48 @@ public final class ContextOuterClass { @java.lang.Override public context.ContextOuterClass.TopologyEvent buildPartial() { context.ContextOuterClass.TopologyEvent result = new context.ContextOuterClass.TopologyEvent(this); - if (bitField0_ != 0) { - buildPartial0(result); + if (eventBuilder_ == null) { + result.event_ = event_; + } else { + result.event_ = eventBuilder_.build(); + } + if (topologyIdBuilder_ == null) { + result.topologyId_ = topologyId_; + } else { + result.topologyId_ = topologyIdBuilder_.build(); } onBuilt(); return result; } - private void buildPartial0(context.ContextOuterClass.TopologyEvent result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.event_ = eventBuilder_ == null ? event_ : eventBuilder_.build(); - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.topologyId_ = topologyIdBuilder_ == null ? topologyId_ : topologyIdBuilder_.build(); - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -13407,7 +14031,7 @@ public final class ContextOuterClass { if (other.hasTopologyId()) { mergeTopologyId(other.getTopologyId()); } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -13419,54 +14043,20 @@ public final class ContextOuterClass { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + context.ContextOuterClass.TopologyEvent parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - input.readMessage(getEventFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000001; - break; - } - // case 10 - case 18: - { - input.readMessage(getTopologyIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000002; - break; - } - // case 18 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.TopologyEvent) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } - private int bitField0_; - private context.ContextOuterClass.Event event_; private com.google.protobuf.SingleFieldBuilderV3 eventBuilder_; @@ -13476,7 +14066,7 @@ public final class ContextOuterClass { * @return Whether the event field is set. */ public boolean hasEvent() { - return ((bitField0_ & 0x00000001) != 0); + return eventBuilder_ != null || event_ != null; } /** @@ -13500,11 +14090,10 @@ public final class ContextOuterClass { throw new NullPointerException(); } event_ = value; + onChanged(); } else { eventBuilder_.setMessage(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -13514,11 +14103,10 @@ public final class ContextOuterClass { public Builder setEvent(context.ContextOuterClass.Event.Builder builderForValue) { if (eventBuilder_ == null) { event_ = builderForValue.build(); + onChanged(); } else { eventBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -13527,16 +14115,15 @@ public final class ContextOuterClass { */ public Builder mergeEvent(context.ContextOuterClass.Event value) { if (eventBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0) && event_ != null && event_ != context.ContextOuterClass.Event.getDefaultInstance()) { - getEventBuilder().mergeFrom(value); + if (event_ != null) { + event_ = context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial(); } else { event_ = value; } + onChanged(); } else { eventBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -13544,13 +14131,13 @@ public final class ContextOuterClass { * .context.Event event = 1; */ public Builder clearEvent() { - bitField0_ = (bitField0_ & ~0x00000001); - event_ = null; - if (eventBuilder_ != null) { - eventBuilder_.dispose(); + if (eventBuilder_ == null) { + event_ = null; + onChanged(); + } else { + event_ = null; eventBuilder_ = null; } - onChanged(); return this; } @@ -13558,7 +14145,6 @@ public final class ContextOuterClass { * .context.Event event = 1; */ public context.ContextOuterClass.Event.Builder getEventBuilder() { - bitField0_ |= 0x00000001; onChanged(); return getEventFieldBuilder().getBuilder(); } @@ -13594,7 +14180,7 @@ public final class ContextOuterClass { * @return Whether the topologyId field is set. */ public boolean hasTopologyId() { - return ((bitField0_ & 0x00000002) != 0); + return topologyIdBuilder_ != null || topologyId_ != null; } /** @@ -13618,11 +14204,10 @@ public final class ContextOuterClass { throw new NullPointerException(); } topologyId_ = value; + onChanged(); } else { topologyIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000002; - onChanged(); return this; } @@ -13632,11 +14217,10 @@ public final class ContextOuterClass { public Builder setTopologyId(context.ContextOuterClass.TopologyId.Builder builderForValue) { if (topologyIdBuilder_ == null) { topologyId_ = builderForValue.build(); + onChanged(); } else { topologyIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000002; - onChanged(); return this; } @@ -13645,16 +14229,15 @@ public final class ContextOuterClass { */ public Builder mergeTopologyId(context.ContextOuterClass.TopologyId value) { if (topologyIdBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0) && topologyId_ != null && topologyId_ != context.ContextOuterClass.TopologyId.getDefaultInstance()) { - getTopologyIdBuilder().mergeFrom(value); + if (topologyId_ != null) { + topologyId_ = context.ContextOuterClass.TopologyId.newBuilder(topologyId_).mergeFrom(value).buildPartial(); } else { topologyId_ = value; } + onChanged(); } else { topologyIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000002; - onChanged(); return this; } @@ -13662,13 +14245,13 @@ public final class ContextOuterClass { * .context.TopologyId topology_id = 2; */ public Builder clearTopologyId() { - bitField0_ = (bitField0_ & ~0x00000002); - topologyId_ = null; - if (topologyIdBuilder_ != null) { - topologyIdBuilder_.dispose(); + if (topologyIdBuilder_ == null) { + topologyId_ = null; + onChanged(); + } else { + topologyId_ = null; topologyIdBuilder_ = null; } - onChanged(); return this; } @@ -13676,7 +14259,6 @@ public final class ContextOuterClass { * .context.TopologyId topology_id = 2; */ public context.ContextOuterClass.TopologyId.Builder getTopologyIdBuilder() { - bitField0_ |= 0x00000002; onChanged(); return getTopologyIdFieldBuilder().getBuilder(); } @@ -13730,17 +14312,7 @@ public final class ContextOuterClass { @java.lang.Override public TopologyEvent parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new TopologyEvent(input, extensionRegistry); } }; @@ -13806,6 +14378,57 @@ public final class ContextOuterClass { return new DeviceId(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private DeviceId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + context.ContextOuterClass.Uuid.Builder subBuilder = null; + if (deviceUuid_ != null) { + subBuilder = deviceUuid_.toBuilder(); + } + deviceUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(deviceUuid_); + deviceUuid_ = subBuilder.buildPartial(); + } + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return context.ContextOuterClass.internal_static_context_DeviceId_descriptor; } @@ -13842,7 +14465,7 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.UuidOrBuilder getDeviceUuidOrBuilder() { - return deviceUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : deviceUuid_; + return getDeviceUuid(); } private byte memoizedIsInitialized = -1; @@ -13863,7 +14486,7 @@ public final class ContextOuterClass { if (deviceUuid_ != null) { output.writeMessage(1, getDeviceUuid()); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -13875,7 +14498,7 @@ public final class ContextOuterClass { if (deviceUuid_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getDeviceUuid()); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -13895,7 +14518,7 @@ public final class ContextOuterClass { if (!getDeviceUuid().equals(other.getDeviceUuid())) return false; } - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -13911,7 +14534,7 @@ public final class ContextOuterClass { hash = (37 * hash) + DEVICE_UUID_FIELD_NUMBER; hash = (53 * hash) + getDeviceUuid().hashCode(); } - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -14009,19 +14632,26 @@ public final class ContextOuterClass { // Construct using context.ContextOuterClass.DeviceId.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; - deviceUuid_ = null; - if (deviceUuidBuilder_ != null) { - deviceUuidBuilder_.dispose(); + if (deviceUuidBuilder_ == null) { + deviceUuid_ = null; + } else { + deviceUuid_ = null; deviceUuidBuilder_ = null; } return this; @@ -14049,18 +14679,43 @@ public final class ContextOuterClass { @java.lang.Override public context.ContextOuterClass.DeviceId buildPartial() { context.ContextOuterClass.DeviceId result = new context.ContextOuterClass.DeviceId(this); - if (bitField0_ != 0) { - buildPartial0(result); + if (deviceUuidBuilder_ == null) { + result.deviceUuid_ = deviceUuid_; + } else { + result.deviceUuid_ = deviceUuidBuilder_.build(); } onBuilt(); return result; } - private void buildPartial0(context.ContextOuterClass.DeviceId result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.deviceUuid_ = deviceUuidBuilder_ == null ? deviceUuid_ : deviceUuidBuilder_.build(); - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -14079,7 +14734,7 @@ public final class ContextOuterClass { if (other.hasDeviceUuid()) { mergeDeviceUuid(other.getDeviceUuid()); } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -14091,47 +14746,20 @@ public final class ContextOuterClass { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + context.ContextOuterClass.DeviceId parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - input.readMessage(getDeviceUuidFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000001; - break; - } - // case 10 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.DeviceId) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } - private int bitField0_; - private context.ContextOuterClass.Uuid deviceUuid_; private com.google.protobuf.SingleFieldBuilderV3 deviceUuidBuilder_; @@ -14141,7 +14769,7 @@ public final class ContextOuterClass { * @return Whether the deviceUuid field is set. */ public boolean hasDeviceUuid() { - return ((bitField0_ & 0x00000001) != 0); + return deviceUuidBuilder_ != null || deviceUuid_ != null; } /** @@ -14165,11 +14793,10 @@ public final class ContextOuterClass { throw new NullPointerException(); } deviceUuid_ = value; + onChanged(); } else { deviceUuidBuilder_.setMessage(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -14179,11 +14806,10 @@ public final class ContextOuterClass { public Builder setDeviceUuid(context.ContextOuterClass.Uuid.Builder builderForValue) { if (deviceUuidBuilder_ == null) { deviceUuid_ = builderForValue.build(); + onChanged(); } else { deviceUuidBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -14192,16 +14818,15 @@ public final class ContextOuterClass { */ public Builder mergeDeviceUuid(context.ContextOuterClass.Uuid value) { if (deviceUuidBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0) && deviceUuid_ != null && deviceUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) { - getDeviceUuidBuilder().mergeFrom(value); + if (deviceUuid_ != null) { + deviceUuid_ = context.ContextOuterClass.Uuid.newBuilder(deviceUuid_).mergeFrom(value).buildPartial(); } else { deviceUuid_ = value; } + onChanged(); } else { deviceUuidBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -14209,13 +14834,13 @@ public final class ContextOuterClass { * .context.Uuid device_uuid = 1; */ public Builder clearDeviceUuid() { - bitField0_ = (bitField0_ & ~0x00000001); - deviceUuid_ = null; - if (deviceUuidBuilder_ != null) { - deviceUuidBuilder_.dispose(); + if (deviceUuidBuilder_ == null) { + deviceUuid_ = null; + onChanged(); + } else { + deviceUuid_ = null; deviceUuidBuilder_ = null; } - onChanged(); return this; } @@ -14223,7 +14848,6 @@ public final class ContextOuterClass { * .context.Uuid device_uuid = 1; */ public context.ContextOuterClass.Uuid.Builder getDeviceUuidBuilder() { - bitField0_ |= 0x00000001; onChanged(); return getDeviceUuidFieldBuilder().getBuilder(); } @@ -14277,17 +14901,7 @@ public final class ContextOuterClass { @java.lang.Override public DeviceId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new DeviceId(input, extensionRegistry); } }; @@ -14539,6 +15153,154 @@ public final class ContextOuterClass { return new Device(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private Device(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + context.ContextOuterClass.DeviceId.Builder subBuilder = null; + if (deviceId_ != null) { + subBuilder = deviceId_.toBuilder(); + } + deviceId_ = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(deviceId_); + deviceId_ = subBuilder.buildPartial(); + } + break; + } + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + name_ = s; + break; + } + case 26: + { + java.lang.String s = input.readStringRequireUtf8(); + deviceType_ = s; + break; + } + case 34: + { + context.ContextOuterClass.DeviceConfig.Builder subBuilder = null; + if (deviceConfig_ != null) { + subBuilder = deviceConfig_.toBuilder(); + } + deviceConfig_ = input.readMessage(context.ContextOuterClass.DeviceConfig.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(deviceConfig_); + deviceConfig_ = subBuilder.buildPartial(); + } + break; + } + case 40: + { + int rawValue = input.readEnum(); + deviceOperationalStatus_ = rawValue; + break; + } + case 48: + { + int rawValue = input.readEnum(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + deviceDrivers_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + deviceDrivers_.add(rawValue); + break; + } + case 50: + { + int length = input.readRawVarint32(); + int oldLimit = input.pushLimit(length); + while (input.getBytesUntilLimit() > 0) { + int rawValue = input.readEnum(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + deviceDrivers_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + deviceDrivers_.add(rawValue); + } + input.popLimit(oldLimit); + break; + } + case 58: + { + if (!((mutable_bitField0_ & 0x00000002) != 0)) { + deviceEndpoints_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000002; + } + deviceEndpoints_.add(input.readMessage(context.ContextOuterClass.EndPoint.parser(), extensionRegistry)); + break; + } + case 66: + { + if (!((mutable_bitField0_ & 0x00000004) != 0)) { + components_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000004; + } + components_.add(input.readMessage(context.ContextOuterClass.Component.parser(), extensionRegistry)); + break; + } + case 74: + { + context.ContextOuterClass.DeviceId.Builder subBuilder = null; + if (controllerId_ != null) { + subBuilder = controllerId_.toBuilder(); + } + controllerId_ = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(controllerId_); + controllerId_ = subBuilder.buildPartial(); + } + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + deviceDrivers_ = java.util.Collections.unmodifiableList(deviceDrivers_); + } + if (((mutable_bitField0_ & 0x00000002) != 0)) { + deviceEndpoints_ = java.util.Collections.unmodifiableList(deviceEndpoints_); + } + if (((mutable_bitField0_ & 0x00000004) != 0)) { + components_ = java.util.Collections.unmodifiableList(components_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return context.ContextOuterClass.internal_static_context_Device_descriptor; } @@ -14575,13 +15337,12 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() { - return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; + return getDeviceId(); } public static final int NAME_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object name_ = ""; + private volatile java.lang.Object name_; /** * string name = 2; @@ -14618,8 +15379,7 @@ public final class ContextOuterClass { public static final int DEVICE_TYPE_FIELD_NUMBER = 3; - @SuppressWarnings("serial") - private volatile java.lang.Object deviceType_ = ""; + private volatile java.lang.Object deviceType_; /** * string device_type = 3; @@ -14681,12 +15441,12 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.DeviceConfigOrBuilder getDeviceConfigOrBuilder() { - return deviceConfig_ == null ? context.ContextOuterClass.DeviceConfig.getDefaultInstance() : deviceConfig_; + return getDeviceConfig(); } public static final int DEVICE_OPERATIONAL_STATUS_FIELD_NUMBER = 5; - private int deviceOperationalStatus_ = 0; + private int deviceOperationalStatus_; /** * .context.DeviceOperationalStatusEnum device_operational_status = 5; @@ -14703,19 +15463,20 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.DeviceOperationalStatusEnum getDeviceOperationalStatus() { - context.ContextOuterClass.DeviceOperationalStatusEnum result = context.ContextOuterClass.DeviceOperationalStatusEnum.forNumber(deviceOperationalStatus_); + @SuppressWarnings("deprecation") + context.ContextOuterClass.DeviceOperationalStatusEnum result = context.ContextOuterClass.DeviceOperationalStatusEnum.valueOf(deviceOperationalStatus_); return result == null ? context.ContextOuterClass.DeviceOperationalStatusEnum.UNRECOGNIZED : result; } public static final int DEVICE_DRIVERS_FIELD_NUMBER = 6; - @SuppressWarnings("serial") private java.util.List deviceDrivers_; private static final com.google.protobuf.Internal.ListAdapter.Converter deviceDrivers_converter_ = new com.google.protobuf.Internal.ListAdapter.Converter() { public context.ContextOuterClass.DeviceDriverEnum convert(java.lang.Integer from) { - context.ContextOuterClass.DeviceDriverEnum result = context.ContextOuterClass.DeviceDriverEnum.forNumber(from); + @SuppressWarnings("deprecation") + context.ContextOuterClass.DeviceDriverEnum result = context.ContextOuterClass.DeviceDriverEnum.valueOf(from); return result == null ? context.ContextOuterClass.DeviceDriverEnum.UNRECOGNIZED : result; } }; @@ -14771,7 +15532,6 @@ public final class ContextOuterClass { public static final int DEVICE_ENDPOINTS_FIELD_NUMBER = 7; - @SuppressWarnings("serial") private java.util.List deviceEndpoints_; /** @@ -14816,7 +15576,6 @@ public final class ContextOuterClass { public static final int COMPONENTS_FIELD_NUMBER = 8; - @SuppressWarnings("serial") private java.util.List components_; /** @@ -14918,7 +15677,7 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.DeviceIdOrBuilder getControllerIdOrBuilder() { - return controllerId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : controllerId_; + return getControllerId(); } private byte memoizedIsInitialized = -1; @@ -14940,10 +15699,10 @@ public final class ContextOuterClass { if (deviceId_ != null) { output.writeMessage(1, getDeviceId()); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + if (!getNameBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(deviceType_)) { + if (!getDeviceTypeBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, deviceType_); } if (deviceConfig_ != null) { @@ -14968,7 +15727,7 @@ public final class ContextOuterClass { if (controllerId_ != null) { output.writeMessage(9, getControllerId()); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -14980,10 +15739,10 @@ public final class ContextOuterClass { if (deviceId_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getDeviceId()); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + if (!getNameBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(deviceType_)) { + if (!getDeviceTypeBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, deviceType_); } if (deviceConfig_ != null) { @@ -15013,7 +15772,7 @@ public final class ContextOuterClass { if (controllerId_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(9, getControllerId()); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -15057,7 +15816,7 @@ public final class ContextOuterClass { if (!getControllerId().equals(other.getControllerId())) return false; } - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -15099,7 +15858,7 @@ public final class ContextOuterClass { hash = (37 * hash) + CONTROLLER_ID_FIELD_NUMBER; hash = (53 * hash) + getControllerId().hashCode(); } - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -15193,48 +15952,57 @@ public final class ContextOuterClass { // Construct using context.ContextOuterClass.Device.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getDeviceEndpointsFieldBuilder(); + getComponentsFieldBuilder(); + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; - deviceId_ = null; - if (deviceIdBuilder_ != null) { - deviceIdBuilder_.dispose(); + if (deviceIdBuilder_ == null) { + deviceId_ = null; + } else { + deviceId_ = null; deviceIdBuilder_ = null; } name_ = ""; deviceType_ = ""; - deviceConfig_ = null; - if (deviceConfigBuilder_ != null) { - deviceConfigBuilder_.dispose(); + if (deviceConfigBuilder_ == null) { + deviceConfig_ = null; + } else { + deviceConfig_ = null; deviceConfigBuilder_ = null; } deviceOperationalStatus_ = 0; deviceDrivers_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000020); + bitField0_ = (bitField0_ & ~0x00000001); if (deviceEndpointsBuilder_ == null) { deviceEndpoints_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000002); } else { - deviceEndpoints_ = null; deviceEndpointsBuilder_.clear(); } - bitField0_ = (bitField0_ & ~0x00000040); if (componentsBuilder_ == null) { components_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000004); } else { - components_ = null; componentsBuilder_.clear(); } - bitField0_ = (bitField0_ & ~0x00000080); - controllerId_ = null; - if (controllerIdBuilder_ != null) { - controllerIdBuilder_.dispose(); + if (controllerIdBuilder_ == null) { + controllerId_ = null; + } else { + controllerId_ = null; controllerIdBuilder_ = null; } return this; @@ -15262,60 +16030,80 @@ public final class ContextOuterClass { @java.lang.Override public context.ContextOuterClass.Device buildPartial() { context.ContextOuterClass.Device result = new context.ContextOuterClass.Device(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { - buildPartial0(result); + int from_bitField0_ = bitField0_; + if (deviceIdBuilder_ == null) { + result.deviceId_ = deviceId_; + } else { + result.deviceId_ = deviceIdBuilder_.build(); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(context.ContextOuterClass.Device result) { - if (((bitField0_ & 0x00000020) != 0)) { + result.name_ = name_; + result.deviceType_ = deviceType_; + if (deviceConfigBuilder_ == null) { + result.deviceConfig_ = deviceConfig_; + } else { + result.deviceConfig_ = deviceConfigBuilder_.build(); + } + result.deviceOperationalStatus_ = deviceOperationalStatus_; + if (((bitField0_ & 0x00000001) != 0)) { deviceDrivers_ = java.util.Collections.unmodifiableList(deviceDrivers_); - bitField0_ = (bitField0_ & ~0x00000020); + bitField0_ = (bitField0_ & ~0x00000001); } result.deviceDrivers_ = deviceDrivers_; if (deviceEndpointsBuilder_ == null) { - if (((bitField0_ & 0x00000040) != 0)) { + if (((bitField0_ & 0x00000002) != 0)) { deviceEndpoints_ = java.util.Collections.unmodifiableList(deviceEndpoints_); - bitField0_ = (bitField0_ & ~0x00000040); + bitField0_ = (bitField0_ & ~0x00000002); } result.deviceEndpoints_ = deviceEndpoints_; } else { result.deviceEndpoints_ = deviceEndpointsBuilder_.build(); } if (componentsBuilder_ == null) { - if (((bitField0_ & 0x00000080) != 0)) { + if (((bitField0_ & 0x00000004) != 0)) { components_ = java.util.Collections.unmodifiableList(components_); - bitField0_ = (bitField0_ & ~0x00000080); + bitField0_ = (bitField0_ & ~0x00000004); } result.components_ = components_; } else { result.components_ = componentsBuilder_.build(); } + if (controllerIdBuilder_ == null) { + result.controllerId_ = controllerId_; + } else { + result.controllerId_ = controllerIdBuilder_.build(); + } + onBuilt(); + return result; } - private void buildPartial0(context.ContextOuterClass.Device result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.deviceId_ = deviceIdBuilder_ == null ? deviceId_ : deviceIdBuilder_.build(); - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.name_ = name_; - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.deviceType_ = deviceType_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.deviceConfig_ = deviceConfigBuilder_ == null ? deviceConfig_ : deviceConfigBuilder_.build(); - } - if (((from_bitField0_ & 0x00000010) != 0)) { - result.deviceOperationalStatus_ = deviceOperationalStatus_; - } - if (((from_bitField0_ & 0x00000100) != 0)) { - result.controllerId_ = controllerIdBuilder_ == null ? controllerId_ : controllerIdBuilder_.build(); - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -15336,12 +16124,10 @@ public final class ContextOuterClass { } if (!other.getName().isEmpty()) { name_ = other.name_; - bitField0_ |= 0x00000002; onChanged(); } if (!other.getDeviceType().isEmpty()) { deviceType_ = other.deviceType_; - bitField0_ |= 0x00000004; onChanged(); } if (other.hasDeviceConfig()) { @@ -15353,7 +16139,7 @@ public final class ContextOuterClass { if (!other.deviceDrivers_.isEmpty()) { if (deviceDrivers_.isEmpty()) { deviceDrivers_ = other.deviceDrivers_; - bitField0_ = (bitField0_ & ~0x00000020); + bitField0_ = (bitField0_ & ~0x00000001); } else { ensureDeviceDriversIsMutable(); deviceDrivers_.addAll(other.deviceDrivers_); @@ -15364,7 +16150,7 @@ public final class ContextOuterClass { if (!other.deviceEndpoints_.isEmpty()) { if (deviceEndpoints_.isEmpty()) { deviceEndpoints_ = other.deviceEndpoints_; - bitField0_ = (bitField0_ & ~0x00000040); + bitField0_ = (bitField0_ & ~0x00000002); } else { ensureDeviceEndpointsIsMutable(); deviceEndpoints_.addAll(other.deviceEndpoints_); @@ -15377,7 +16163,7 @@ public final class ContextOuterClass { deviceEndpointsBuilder_.dispose(); deviceEndpointsBuilder_ = null; deviceEndpoints_ = other.deviceEndpoints_; - bitField0_ = (bitField0_ & ~0x00000040); + bitField0_ = (bitField0_ & ~0x00000002); deviceEndpointsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getDeviceEndpointsFieldBuilder() : null; } else { deviceEndpointsBuilder_.addAllMessages(other.deviceEndpoints_); @@ -15388,7 +16174,7 @@ public final class ContextOuterClass { if (!other.components_.isEmpty()) { if (components_.isEmpty()) { components_ = other.components_; - bitField0_ = (bitField0_ & ~0x00000080); + bitField0_ = (bitField0_ & ~0x00000004); } else { ensureComponentsIsMutable(); components_.addAll(other.components_); @@ -15401,7 +16187,7 @@ public final class ContextOuterClass { componentsBuilder_.dispose(); componentsBuilder_ = null; components_ = other.components_; - bitField0_ = (bitField0_ & ~0x00000080); + bitField0_ = (bitField0_ & ~0x00000004); componentsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getComponentsFieldBuilder() : null; } else { componentsBuilder_.addAllMessages(other.components_); @@ -15411,7 +16197,7 @@ public final class ContextOuterClass { if (other.hasControllerId()) { mergeControllerId(other.getControllerId()); } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -15423,122 +16209,17 @@ public final class ContextOuterClass { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + context.ContextOuterClass.Device parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - input.readMessage(getDeviceIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000001; - break; - } - // case 10 - case 18: - { - name_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } - // case 18 - case 26: - { - deviceType_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000004; - break; - } - // case 26 - case 34: - { - input.readMessage(getDeviceConfigFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000008; - break; - } - // case 34 - case 40: - { - deviceOperationalStatus_ = input.readEnum(); - bitField0_ |= 0x00000010; - break; - } - // case 40 - case 48: - { - int tmpRaw = input.readEnum(); - ensureDeviceDriversIsMutable(); - deviceDrivers_.add(tmpRaw); - break; - } - // case 48 - case 50: - { - int length = input.readRawVarint32(); - int oldLimit = input.pushLimit(length); - while (input.getBytesUntilLimit() > 0) { - int tmpRaw = input.readEnum(); - ensureDeviceDriversIsMutable(); - deviceDrivers_.add(tmpRaw); - } - input.popLimit(oldLimit); - break; - } - // case 50 - case 58: - { - context.ContextOuterClass.EndPoint m = input.readMessage(context.ContextOuterClass.EndPoint.parser(), extensionRegistry); - if (deviceEndpointsBuilder_ == null) { - ensureDeviceEndpointsIsMutable(); - deviceEndpoints_.add(m); - } else { - deviceEndpointsBuilder_.addMessage(m); - } - break; - } - // case 58 - case 66: - { - context.ContextOuterClass.Component m = input.readMessage(context.ContextOuterClass.Component.parser(), extensionRegistry); - if (componentsBuilder_ == null) { - ensureComponentsIsMutable(); - components_.add(m); - } else { - componentsBuilder_.addMessage(m); - } - break; - } - // case 66 - case 74: - { - input.readMessage(getControllerIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000100; - break; - } - // case 74 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (context.ContextOuterClass.Device) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } @@ -15553,7 +16234,7 @@ public final class ContextOuterClass { * @return Whether the deviceId field is set. */ public boolean hasDeviceId() { - return ((bitField0_ & 0x00000001) != 0); + return deviceIdBuilder_ != null || deviceId_ != null; } /** @@ -15577,11 +16258,10 @@ public final class ContextOuterClass { throw new NullPointerException(); } deviceId_ = value; + onChanged(); } else { deviceIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -15591,11 +16271,10 @@ public final class ContextOuterClass { public Builder setDeviceId(context.ContextOuterClass.DeviceId.Builder builderForValue) { if (deviceIdBuilder_ == null) { deviceId_ = builderForValue.build(); + onChanged(); } else { deviceIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -15604,16 +16283,15 @@ public final class ContextOuterClass { */ public Builder mergeDeviceId(context.ContextOuterClass.DeviceId value) { if (deviceIdBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0) && deviceId_ != null && deviceId_ != context.ContextOuterClass.DeviceId.getDefaultInstance()) { - getDeviceIdBuilder().mergeFrom(value); + if (deviceId_ != null) { + deviceId_ = context.ContextOuterClass.DeviceId.newBuilder(deviceId_).mergeFrom(value).buildPartial(); } else { deviceId_ = value; } + onChanged(); } else { deviceIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -15621,13 +16299,13 @@ public final class ContextOuterClass { * .context.DeviceId device_id = 1; */ public Builder clearDeviceId() { - bitField0_ = (bitField0_ & ~0x00000001); - deviceId_ = null; - if (deviceIdBuilder_ != null) { - deviceIdBuilder_.dispose(); + if (deviceIdBuilder_ == null) { + deviceId_ = null; + onChanged(); + } else { + deviceId_ = null; deviceIdBuilder_ = null; } - onChanged(); return this; } @@ -15635,7 +16313,6 @@ public final class ContextOuterClass { * .context.DeviceId device_id = 1; */ public context.ContextOuterClass.DeviceId.Builder getDeviceIdBuilder() { - bitField0_ |= 0x00000001; onChanged(); return getDeviceIdFieldBuilder().getBuilder(); } @@ -15705,7 +16382,6 @@ public final class ContextOuterClass { throw new NullPointerException(); } name_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -15716,7 +16392,6 @@ public final class ContextOuterClass { */ public Builder clearName() { name_ = getDefaultInstance().getName(); - bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } @@ -15732,7 +16407,6 @@ public final class ContextOuterClass { } checkByteStringIsUtf8(value); name_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -15780,7 +16454,6 @@ public final class ContextOuterClass { throw new NullPointerException(); } deviceType_ = value; - bitField0_ |= 0x00000004; onChanged(); return this; } @@ -15791,7 +16464,6 @@ public final class ContextOuterClass { */ public Builder clearDeviceType() { deviceType_ = getDefaultInstance().getDeviceType(); - bitField0_ = (bitField0_ & ~0x00000004); onChanged(); return this; } @@ -15807,7 +16479,6 @@ public final class ContextOuterClass { } checkByteStringIsUtf8(value); deviceType_ = value; - bitField0_ |= 0x00000004; onChanged(); return this; } @@ -15821,7 +16492,7 @@ public final class ContextOuterClass { * @return Whether the deviceConfig field is set. */ public boolean hasDeviceConfig() { - return ((bitField0_ & 0x00000008) != 0); + return deviceConfigBuilder_ != null || deviceConfig_ != null; } /** @@ -15845,11 +16516,10 @@ public final class ContextOuterClass { throw new NullPointerException(); } deviceConfig_ = value; + onChanged(); } else { deviceConfigBuilder_.setMessage(value); } - bitField0_ |= 0x00000008; - onChanged(); return this; } @@ -15859,11 +16529,10 @@ public final class ContextOuterClass { public Builder setDeviceConfig(context.ContextOuterClass.DeviceConfig.Builder builderForValue) { if (deviceConfigBuilder_ == null) { deviceConfig_ = builderForValue.build(); + onChanged(); } else { deviceConfigBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000008; - onChanged(); return this; } @@ -15872,16 +16541,15 @@ public final class ContextOuterClass { */ public Builder mergeDeviceConfig(context.ContextOuterClass.DeviceConfig value) { if (deviceConfigBuilder_ == null) { - if (((bitField0_ & 0x00000008) != 0) && deviceConfig_ != null && deviceConfig_ != context.ContextOuterClass.DeviceConfig.getDefaultInstance()) { - getDeviceConfigBuilder().mergeFrom(value); + if (deviceConfig_ != null) { + deviceConfig_ = context.ContextOuterClass.DeviceConfig.newBuilder(deviceConfig_).mergeFrom(value).buildPartial(); } else { deviceConfig_ = value; } + onChanged(); } else { deviceConfigBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000008; - onChanged(); return this; } @@ -15889,13 +16557,13 @@ public final class ContextOuterClass { * .context.DeviceConfig device_config = 4; */ public Builder clearDeviceConfig() { - bitField0_ = (bitField0_ & ~0x00000008); - deviceConfig_ = null; - if (deviceConfigBuilder_ != null) { - deviceConfigBuilder_.dispose(); + if (deviceConfigBuilder_ == null) { + deviceConfig_ = null; + onChanged(); + } else { + deviceConfig_ = null; deviceConfigBuilder_ = null; } - onChanged(); return this; } @@ -15903,7 +16571,6 @@ public final class ContextOuterClass { * .context.DeviceConfig device_config = 4; */ public context.ContextOuterClass.DeviceConfig.Builder getDeviceConfigBuilder() { - bitField0_ |= 0x00000008; onChanged(); return getDeviceConfigFieldBuilder().getBuilder(); } @@ -15948,7 +16615,6 @@ public final class ContextOuterClass { */ public Builder setDeviceOperationalStatusValue(int value) { deviceOperationalStatus_ = value; - bitField0_ |= 0x00000010; onChanged(); return this; } @@ -15959,7 +16625,8 @@ public final class ContextOuterClass { */ @java.lang.Override public context.ContextOuterClass.DeviceOperationalStatusEnum getDeviceOperationalStatus() { - context.ContextOuterClass.DeviceOperationalStatusEnum result = context.ContextOuterClass.DeviceOperationalStatusEnum.forNumber(deviceOperationalStatus_); + @SuppressWarnings("deprecation") + context.ContextOuterClass.DeviceOperationalStatusEnum result = context.ContextOuterClass.DeviceOperationalStatusEnum.valueOf(deviceOperationalStatus_); return result == null ? context.ContextOuterClass.DeviceOperationalStatusEnum.UNRECOGNIZED : result; } @@ -15972,7 +16639,6 @@ public final class ContextOuterClass { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000010; deviceOperationalStatus_ = value.getNumber(); onChanged(); return this; @@ -15983,7 +16649,6 @@ public final class ContextOuterClass { * @return This builder for chaining. */ public Builder clearDeviceOperationalStatus() { - bitField0_ = (bitField0_ & ~0x00000010); deviceOperationalStatus_ = 0; onChanged(); return this; @@ -15992,9 +16657,9 @@ public final class ContextOuterClass { private java.util.List deviceDrivers_ = java.util.Collections.emptyList(); private void ensureDeviceDriversIsMutable() { - if (!((bitField0_ & 0x00000020) != 0)) { + if (!((bitField0_ & 0x00000001) != 0)) { deviceDrivers_ = new java.util.ArrayList(deviceDrivers_); - bitField0_ |= 0x00000020; + bitField0_ |= 0x00000001; } } @@ -16074,7 +16739,7 @@ public final class ContextOuterClass { */ public Builder clearDeviceDrivers() { deviceDrivers_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000020); + bitField0_ = (bitField0_ & ~0x00000001); onChanged(); return this; } @@ -16098,8 +16763,8 @@ public final class ContextOuterClass { /** * repeated .context.DeviceDriverEnum device_drivers = 6; - * @param index The index to set the value at. - * @param value The enum numeric value on the wire for deviceDrivers to set. + * @param index The index of the value to return. + * @return The enum numeric value on the wire of deviceDrivers at the given index. * @return This builder for chaining. */ public Builder setDeviceDriversValue(int index, int value) { @@ -16138,9 +16803,9 @@ public final class ContextOuterClass { private java.util.List deviceEndpoints_ = java.util.Collections.emptyList(); private void ensureDeviceEndpointsIsMutable() { - if (!((bitField0_ & 0x00000040) != 0)) { + if (!((bitField0_ & 0x00000002) != 0)) { deviceEndpoints_ = new java.util.ArrayList(deviceEndpoints_); - bitField0_ |= 0x00000040; + bitField0_ |= 0x00000002; } } @@ -16292,7 +16957,7 @@ public final class ContextOuterClass { public Builder clearDeviceEndpoints() { if (deviceEndpointsBuilder_ == null) { deviceEndpoints_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000040); + bitField0_ = (bitField0_ & ~0x00000002); onChanged(); } else { deviceEndpointsBuilder_.clear(); @@ -16366,7 +17031,7 @@ public final class ContextOuterClass { private com.google.protobuf.RepeatedFieldBuilderV3 getDeviceEndpointsFieldBuilder() { if (deviceEndpointsBuilder_ == null) { - deviceEndpointsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(deviceEndpoints_, ((bitField0_ & 0x00000040) != 0), getParentForChildren(), isClean()); + deviceEndpointsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(deviceEndpoints_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean()); deviceEndpoints_ = null; } return deviceEndpointsBuilder_; @@ -16375,9 +17040,9 @@ public final class ContextOuterClass { private java.util.List components_ = java.util.Collections.emptyList(); private void ensureComponentsIsMutable() { - if (!((bitField0_ & 0x00000080) != 0)) { + if (!((bitField0_ & 0x00000004) != 0)) { components_ = new java.util.ArrayList(components_); - bitField0_ |= 0x00000080; + bitField0_ |= 0x00000004; } } @@ -16573,7 +17238,7 @@ public final class ContextOuterClass { public Builder clearComponents() { if (componentsBuilder_ == null) { components_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000080); + bitField0_ = (bitField0_ & ~0x00000004); onChanged(); } else { componentsBuilder_.clear(); @@ -16675,7 +17340,7 @@ public final class ContextOuterClass { private com.google.protobuf.RepeatedFieldBuilderV3 getComponentsFieldBuilder() { if (componentsBuilder_ == null) { - componentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(components_, ((bitField0_ & 0x00000080) != 0), getParentForChildren(), isClean()); + componentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(components_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean()); components_ = null; } return componentsBuilder_; @@ -16694,7 +17359,7 @@ public final class ContextOuterClass { * @return Whether the controllerId field is set. */ public boolean hasControllerId() { - return ((bitField0_ & 0x00000100) != 0); + return controllerIdBuilder_ != null || controllerId_ != null; } /** @@ -16726,11 +17391,10 @@ public final class ContextOuterClass { throw new NullPointerException(); } controllerId_ = value; + onChanged(); } else { controllerIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000100; - onChanged(); return this; } @@ -16744,11 +17408,10 @@ public final class ContextOuterClass { public Builder setControllerId(context.ContextOuterClass.DeviceId.Builder builderForValue) { if (controllerIdBuilder_ == null) { controllerId_ = builderForValue.build(); + onChanged(); } else { controllerIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000100; - onChanged(); return this; } @@ -16761,16 +17424,15 @@ public final class ContextOuterClass { */ public Builder mergeControllerId(context.ContextOuterClass.DeviceId value) { if (controllerIdBuilder_ == null) { - if (((bitField0_ & 0x00000100) != 0) && controllerId_ != null && controllerId_ != context.ContextOuterClass.DeviceId.getDefaultInstance()) { - getControllerIdBuilder().mergeFrom(value); + if (controllerId_ != null) { + controllerId_ = context.ContextOuterClass.DeviceId.newBuilder(controllerId_).mergeFrom(value).buildPartial(); } else { controllerId_ = value; } + onChanged(); } else { controllerIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000100; - onChanged(); return this; } @@ -16782,13 +17444,13 @@ public final class ContextOuterClass { * .context.DeviceId controller_id = 9; */ public Builder clearControllerId() { - bitField0_ = (bitField0_ & ~0x00000100); - controllerId_ = null; - if (controllerIdBuilder_ != null) { - controllerIdBuilder_.dispose(); + if (controllerIdBuilder_ == null) { + controllerId_ = null; + onChanged(); + } else { + controllerId_ = null; controllerIdBuilder_ = null; } - onChanged(); return this; } @@ -16800,7 +17462,6 @@ public final class ContextOuterClass { * .context.DeviceId controller_id = 9; */ public context.ContextOuterClass.DeviceId.Builder getControllerIdBuilder() { - bitField0_ |= 0x00000100; onChanged(); return getControllerIdFieldBuilder().getBuilder(); } @@ -16862,17 +17523,7 @@ public final class ContextOuterClass { @java.lang.Override public Device parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new Device(input, extensionRegistry); } }; @@ -16975,9 +17626,7 @@ public final class ContextOuterClass { * * map<string, string> attributes = 4; */ - /* nullable */ - java.lang.String getAttributesOrDefault(java.lang.String key, /* nullable */ - java.lang.String defaultValue); + java.lang.String getAttributesOrDefault(java.lang.String key, java.lang.String defaultValue); /** *
@@ -17030,6 +17679,86 @@ public final class ContextOuterClass {
             return new Component();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Component(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (componentUuid_ != null) {
+                                    subBuilder = componentUuid_.toBuilder();
+                                }
+                                componentUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(componentUuid_);
+                                    componentUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                type_ = s;
+                                break;
+                            }
+                        case 34:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    attributes_ = com.google.protobuf.MapField.newMapField(AttributesDefaultEntryHolder.defaultEntry);
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                com.google.protobuf.MapEntry attributes__ = input.readMessage(AttributesDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
+                                attributes_.getMutableMap().put(attributes__.getKey(), attributes__.getValue());
+                                break;
+                            }
+                        case 42:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                parent_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Component_descriptor;
         }
@@ -17077,13 +17806,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getComponentUuidOrBuilder() {
-            return componentUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : componentUuid_;
+            return getComponentUuid();
         }
 
         public static final int NAME_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 2;
@@ -17120,8 +17848,7 @@ public final class ContextOuterClass {
 
         public static final int TYPE_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object type_ = "";
+        private volatile java.lang.Object type_;
 
         /**
          * string type = 3;
@@ -17163,7 +17890,6 @@ public final class ContextOuterClass {
             static final com.google.protobuf.MapEntry defaultEntry = com.google.protobuf.MapEntry.newDefaultInstance(context.ContextOuterClass.internal_static_context_Component_AttributesEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.STRING, "");
         }
 
-        @SuppressWarnings("serial")
         private com.google.protobuf.MapField attributes_;
 
         private com.google.protobuf.MapField internalGetAttributes() {
@@ -17187,7 +17913,7 @@ public final class ContextOuterClass {
         @java.lang.Override
         public boolean containsAttributes(java.lang.String key) {
             if (key == null) {
-                throw new NullPointerException("map key");
+                throw new java.lang.NullPointerException();
             }
             return internalGetAttributes().getMap().containsKey(key);
         }
@@ -17221,11 +17947,9 @@ public final class ContextOuterClass {
          * map<string, string> attributes = 4;
          */
         @java.lang.Override
-        public /* nullable */
-        java.lang.String getAttributesOrDefault(java.lang.String key, /* nullable */
-        java.lang.String defaultValue) {
+        public java.lang.String getAttributesOrDefault(java.lang.String key, java.lang.String defaultValue) {
             if (key == null) {
-                throw new NullPointerException("map key");
+                throw new java.lang.NullPointerException();
             }
             java.util.Map map = internalGetAttributes().getMap();
             return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -17241,7 +17965,7 @@ public final class ContextOuterClass {
         @java.lang.Override
         public java.lang.String getAttributesOrThrow(java.lang.String key) {
             if (key == null) {
-                throw new NullPointerException("map key");
+                throw new java.lang.NullPointerException();
             }
             java.util.Map map = internalGetAttributes().getMap();
             if (!map.containsKey(key)) {
@@ -17252,8 +17976,7 @@ public final class ContextOuterClass {
 
         public static final int PARENT_FIELD_NUMBER = 5;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object parent_ = "";
+        private volatile java.lang.Object parent_;
 
         /**
          * string parent = 5;
@@ -17306,17 +18029,17 @@ public final class ContextOuterClass {
             if (componentUuid_ != null) {
                 output.writeMessage(1, getComponentUuid());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(type_)) {
+            if (!getTypeBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 3, type_);
             }
             com.google.protobuf.GeneratedMessageV3.serializeStringMapTo(output, internalGetAttributes(), AttributesDefaultEntryHolder.defaultEntry, 4);
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parent_)) {
+            if (!getParentBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 5, parent_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -17328,20 +18051,20 @@ public final class ContextOuterClass {
             if (componentUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getComponentUuid());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(type_)) {
+            if (!getTypeBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, type_);
             }
             for (java.util.Map.Entry entry : internalGetAttributes().getMap().entrySet()) {
                 com.google.protobuf.MapEntry attributes__ = AttributesDefaultEntryHolder.defaultEntry.newBuilderForType().setKey(entry.getKey()).setValue(entry.getValue()).build();
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, attributes__);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parent_)) {
+            if (!getParentBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, parent_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -17369,7 +18092,7 @@ public final class ContextOuterClass {
                 return false;
             if (!getParent().equals(other.getParent()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -17395,7 +18118,7 @@ public final class ContextOuterClass {
             }
             hash = (37 * hash) + PARENT_FIELD_NUMBER;
             hash = (53 * hash) + getParent().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -17513,19 +18236,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Component.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                componentUuid_ = null;
-                if (componentUuidBuilder_ != null) {
-                    componentUuidBuilder_.dispose();
+                if (componentUuidBuilder_ == null) {
+                    componentUuid_ = null;
+                } else {
+                    componentUuid_ = null;
                     componentUuidBuilder_ = null;
                 }
                 name_ = "";
@@ -17557,31 +18287,49 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Component buildPartial() {
                 context.ContextOuterClass.Component result = new context.ContextOuterClass.Component(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (componentUuidBuilder_ == null) {
+                    result.componentUuid_ = componentUuid_;
+                } else {
+                    result.componentUuid_ = componentUuidBuilder_.build();
                 }
+                result.name_ = name_;
+                result.type_ = type_;
+                result.attributes_ = internalGetAttributes();
+                result.attributes_.makeImmutable();
+                result.parent_ = parent_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Component result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.componentUuid_ = componentUuidBuilder_ == null ? componentUuid_ : componentUuidBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.name_ = name_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.type_ = type_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.attributes_ = internalGetAttributes();
-                    result.attributes_.makeImmutable();
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.parent_ = parent_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -17602,22 +18350,18 @@ public final class ContextOuterClass {
                 }
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (!other.getType().isEmpty()) {
                     type_ = other.type_;
-                    bitField0_ |= 0x00000004;
                     onChanged();
                 }
                 internalGetMutableAttributes().mergeFrom(other.internalGetAttributes());
-                bitField0_ |= 0x00000008;
                 if (!other.getParent().isEmpty()) {
                     parent_ = other.parent_;
-                    bitField0_ |= 0x00000010;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -17629,71 +18373,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Component parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getComponentUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    type_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    com.google.protobuf.MapEntry attributes__ = input.readMessage(AttributesDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
-                                    internalGetMutableAttributes().getMutableMap().put(attributes__.getKey(), attributes__.getValue());
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    parent_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 42
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Component) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -17708,7 +18398,7 @@ public final class ContextOuterClass {
              * @return Whether the componentUuid field is set.
              */
             public boolean hasComponentUuid() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return componentUuidBuilder_ != null || componentUuid_ != null;
             }
 
             /**
@@ -17732,11 +18422,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     componentUuid_ = value;
+                    onChanged();
                 } else {
                     componentUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -17746,11 +18435,10 @@ public final class ContextOuterClass {
             public Builder setComponentUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (componentUuidBuilder_ == null) {
                     componentUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     componentUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -17759,16 +18447,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeComponentUuid(context.ContextOuterClass.Uuid value) {
                 if (componentUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && componentUuid_ != null && componentUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getComponentUuidBuilder().mergeFrom(value);
+                    if (componentUuid_ != null) {
+                        componentUuid_ = context.ContextOuterClass.Uuid.newBuilder(componentUuid_).mergeFrom(value).buildPartial();
                     } else {
                         componentUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     componentUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -17776,13 +18463,13 @@ public final class ContextOuterClass {
              * .context.Uuid component_uuid = 1;
              */
             public Builder clearComponentUuid() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                componentUuid_ = null;
-                if (componentUuidBuilder_ != null) {
-                    componentUuidBuilder_.dispose();
+                if (componentUuidBuilder_ == null) {
+                    componentUuid_ = null;
+                    onChanged();
+                } else {
+                    componentUuid_ = null;
                     componentUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -17790,7 +18477,6 @@ public final class ContextOuterClass {
              * .context.Uuid component_uuid = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getComponentUuidBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getComponentUuidFieldBuilder().getBuilder();
             }
@@ -17860,7 +18546,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -17871,7 +18556,6 @@ public final class ContextOuterClass {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -17887,7 +18571,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -17935,7 +18618,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 type_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -17946,7 +18628,6 @@ public final class ContextOuterClass {
              */
             public Builder clearType() {
                 type_ = getDefaultInstance().getType();
-                bitField0_ = (bitField0_ & ~0x00000004);
                 onChanged();
                 return this;
             }
@@ -17962,7 +18643,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 type_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -17977,14 +18657,14 @@ public final class ContextOuterClass {
             }
 
             private com.google.protobuf.MapField internalGetMutableAttributes() {
+                onChanged();
+                ;
                 if (attributes_ == null) {
                     attributes_ = com.google.protobuf.MapField.newMapField(AttributesDefaultEntryHolder.defaultEntry);
                 }
                 if (!attributes_.isMutable()) {
                     attributes_ = attributes_.copy();
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return attributes_;
             }
 
@@ -18002,7 +18682,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public boolean containsAttributes(java.lang.String key) {
                 if (key == null) {
-                    throw new NullPointerException("map key");
+                    throw new java.lang.NullPointerException();
                 }
                 return internalGetAttributes().getMap().containsKey(key);
             }
@@ -18036,11 +18716,9 @@ public final class ContextOuterClass {
              * map<string, string> attributes = 4;
              */
             @java.lang.Override
-            public /* nullable */
-            java.lang.String getAttributesOrDefault(java.lang.String key, /* nullable */
-            java.lang.String defaultValue) {
+            public java.lang.String getAttributesOrDefault(java.lang.String key, java.lang.String defaultValue) {
                 if (key == null) {
-                    throw new NullPointerException("map key");
+                    throw new java.lang.NullPointerException();
                 }
                 java.util.Map map = internalGetAttributes().getMap();
                 return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -18056,7 +18734,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public java.lang.String getAttributesOrThrow(java.lang.String key) {
                 if (key == null) {
-                    throw new NullPointerException("map key");
+                    throw new java.lang.NullPointerException();
                 }
                 java.util.Map map = internalGetAttributes().getMap();
                 if (!map.containsKey(key)) {
@@ -18066,7 +18744,6 @@ public final class ContextOuterClass {
             }
 
             public Builder clearAttributes() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 internalGetMutableAttributes().getMutableMap().clear();
                 return this;
             }
@@ -18080,7 +18757,7 @@ public final class ContextOuterClass {
              */
             public Builder removeAttributes(java.lang.String key) {
                 if (key == null) {
-                    throw new NullPointerException("map key");
+                    throw new java.lang.NullPointerException();
                 }
                 internalGetMutableAttributes().getMutableMap().remove(key);
                 return this;
@@ -18091,7 +18768,6 @@ public final class ContextOuterClass {
              */
             @java.lang.Deprecated
             public java.util.Map getMutableAttributes() {
-                bitField0_ |= 0x00000008;
                 return internalGetMutableAttributes().getMutableMap();
             }
 
@@ -18104,13 +18780,12 @@ public final class ContextOuterClass {
              */
             public Builder putAttributes(java.lang.String key, java.lang.String value) {
                 if (key == null) {
-                    throw new NullPointerException("map key");
+                    throw new java.lang.NullPointerException();
                 }
                 if (value == null) {
-                    throw new NullPointerException("map value");
+                    throw new java.lang.NullPointerException();
                 }
                 internalGetMutableAttributes().getMutableMap().put(key, value);
-                bitField0_ |= 0x00000008;
                 return this;
             }
 
@@ -18123,7 +18798,6 @@ public final class ContextOuterClass {
              */
             public Builder putAllAttributes(java.util.Map values) {
                 internalGetMutableAttributes().getMutableMap().putAll(values);
-                bitField0_ |= 0x00000008;
                 return this;
             }
 
@@ -18170,7 +18844,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 parent_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -18181,7 +18854,6 @@ public final class ContextOuterClass {
              */
             public Builder clearParent() {
                 parent_ = getDefaultInstance().getParent();
-                bitField0_ = (bitField0_ & ~0x00000010);
                 onChanged();
                 return this;
             }
@@ -18197,7 +18869,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 parent_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -18229,17 +18900,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Component parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Component(input, extensionRegistry);
             }
         };
 
@@ -18310,6 +18971,57 @@ public final class ContextOuterClass {
             return new DeviceConfig();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private DeviceConfig(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    configRules_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                configRules_.add(input.readMessage(context.ContextOuterClass.ConfigRule.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    configRules_ = java.util.Collections.unmodifiableList(configRules_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_DeviceConfig_descriptor;
         }
@@ -18321,7 +19033,6 @@ public final class ContextOuterClass {
 
         public static final int CONFIG_RULES_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List configRules_;
 
         /**
@@ -18382,7 +19093,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < configRules_.size(); i++) {
                 output.writeMessage(1, configRules_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -18394,7 +19105,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < configRules_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, configRules_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -18410,7 +19121,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.DeviceConfig other = (context.ContextOuterClass.DeviceConfig) obj;
             if (!getConfigRulesList().equals(other.getConfigRulesList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -18426,7 +19137,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONFIG_RULES_FIELD_NUMBER;
                 hash = (53 * hash) + getConfigRulesList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -18520,23 +19231,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.DeviceConfig.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getConfigRulesFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (configRulesBuilder_ == null) {
                     configRules_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    configRules_ = null;
                     configRulesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -18562,15 +19279,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.DeviceConfig buildPartial() {
                 context.ContextOuterClass.DeviceConfig result = new context.ContextOuterClass.DeviceConfig(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.DeviceConfig result) {
+                int from_bitField0_ = bitField0_;
                 if (configRulesBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         configRules_ = java.util.Collections.unmodifiableList(configRules_);
@@ -18580,10 +19289,38 @@ public final class ContextOuterClass {
                 } else {
                     result.configRules_ = configRulesBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.DeviceConfig result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -18623,7 +19360,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -18635,47 +19372,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.DeviceConfig parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.ConfigRule m = input.readMessage(context.ContextOuterClass.ConfigRule.parser(), extensionRegistry);
-                                    if (configRulesBuilder_ == null) {
-                                        ensureConfigRulesIsMutable();
-                                        configRules_.add(m);
-                                    } else {
-                                        configRulesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.DeviceConfig) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -18945,17 +19652,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public DeviceConfig parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new DeviceConfig(input, extensionRegistry);
             }
         };
 
@@ -19026,6 +19723,57 @@ public final class ContextOuterClass {
             return new DeviceIdList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private DeviceIdList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    deviceIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                deviceIds_.add(input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_DeviceIdList_descriptor;
         }
@@ -19037,7 +19785,6 @@ public final class ContextOuterClass {
 
         public static final int DEVICE_IDS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List deviceIds_;
 
         /**
@@ -19098,7 +19845,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < deviceIds_.size(); i++) {
                 output.writeMessage(1, deviceIds_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -19110,7 +19857,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < deviceIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, deviceIds_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -19126,7 +19873,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.DeviceIdList other = (context.ContextOuterClass.DeviceIdList) obj;
             if (!getDeviceIdsList().equals(other.getDeviceIdsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -19142,7 +19889,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + DEVICE_IDS_FIELD_NUMBER;
                 hash = (53 * hash) + getDeviceIdsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -19236,23 +19983,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.DeviceIdList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getDeviceIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (deviceIdsBuilder_ == null) {
                     deviceIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    deviceIds_ = null;
                     deviceIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -19278,15 +20031,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.DeviceIdList buildPartial() {
                 context.ContextOuterClass.DeviceIdList result = new context.ContextOuterClass.DeviceIdList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.DeviceIdList result) {
+                int from_bitField0_ = bitField0_;
                 if (deviceIdsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_);
@@ -19296,10 +20041,38 @@ public final class ContextOuterClass {
                 } else {
                     result.deviceIds_ = deviceIdsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.DeviceIdList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -19339,7 +20112,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -19351,47 +20124,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.DeviceIdList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.DeviceId m = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry);
-                                    if (deviceIdsBuilder_ == null) {
-                                        ensureDeviceIdsIsMutable();
-                                        deviceIds_.add(m);
-                                    } else {
-                                        deviceIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.DeviceIdList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -19661,17 +20404,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public DeviceIdList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new DeviceIdList(input, extensionRegistry);
             }
         };
 
@@ -19742,6 +20475,57 @@ public final class ContextOuterClass {
             return new DeviceList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private DeviceList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    devices_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                devices_.add(input.readMessage(context.ContextOuterClass.Device.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    devices_ = java.util.Collections.unmodifiableList(devices_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_DeviceList_descriptor;
         }
@@ -19753,7 +20537,6 @@ public final class ContextOuterClass {
 
         public static final int DEVICES_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List devices_;
 
         /**
@@ -19814,7 +20597,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < devices_.size(); i++) {
                 output.writeMessage(1, devices_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -19826,7 +20609,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < devices_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, devices_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -19842,7 +20625,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.DeviceList other = (context.ContextOuterClass.DeviceList) obj;
             if (!getDevicesList().equals(other.getDevicesList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -19858,7 +20641,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + DEVICES_FIELD_NUMBER;
                 hash = (53 * hash) + getDevicesList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -19952,23 +20735,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.DeviceList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getDevicesFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (devicesBuilder_ == null) {
                     devices_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    devices_ = null;
                     devicesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -19994,15 +20783,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.DeviceList buildPartial() {
                 context.ContextOuterClass.DeviceList result = new context.ContextOuterClass.DeviceList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.DeviceList result) {
+                int from_bitField0_ = bitField0_;
                 if (devicesBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         devices_ = java.util.Collections.unmodifiableList(devices_);
@@ -20012,10 +20793,38 @@ public final class ContextOuterClass {
                 } else {
                     result.devices_ = devicesBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.DeviceList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -20055,7 +20864,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -20067,47 +20876,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.DeviceList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.Device m = input.readMessage(context.ContextOuterClass.Device.parser(), extensionRegistry);
-                                    if (devicesBuilder_ == null) {
-                                        ensureDevicesIsMutable();
-                                        devices_.add(m);
-                                    } else {
-                                        devicesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.DeviceList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -20377,17 +21156,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public DeviceList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new DeviceList(input, extensionRegistry);
             }
         };
 
@@ -20467,6 +21236,72 @@ public final class ContextOuterClass {
             return new DeviceFilter();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private DeviceFilter(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.DeviceIdList.Builder subBuilder = null;
+                                if (deviceIds_ != null) {
+                                    subBuilder = deviceIds_.toBuilder();
+                                }
+                                deviceIds_ = input.readMessage(context.ContextOuterClass.DeviceIdList.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(deviceIds_);
+                                    deviceIds_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 16:
+                            {
+                                includeEndpoints_ = input.readBool();
+                                break;
+                            }
+                        case 24:
+                            {
+                                includeConfigRules_ = input.readBool();
+                                break;
+                            }
+                        case 32:
+                            {
+                                includeComponents_ = input.readBool();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_DeviceFilter_descriptor;
         }
@@ -20503,12 +21338,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.DeviceIdListOrBuilder getDeviceIdsOrBuilder() {
-            return deviceIds_ == null ? context.ContextOuterClass.DeviceIdList.getDefaultInstance() : deviceIds_;
+            return getDeviceIds();
         }
 
         public static final int INCLUDE_ENDPOINTS_FIELD_NUMBER = 2;
 
-        private boolean includeEndpoints_ = false;
+        private boolean includeEndpoints_;
 
         /**
          * bool include_endpoints = 2;
@@ -20521,7 +21356,7 @@ public final class ContextOuterClass {
 
         public static final int INCLUDE_CONFIG_RULES_FIELD_NUMBER = 3;
 
-        private boolean includeConfigRules_ = false;
+        private boolean includeConfigRules_;
 
         /**
          * bool include_config_rules = 3;
@@ -20534,7 +21369,7 @@ public final class ContextOuterClass {
 
         public static final int INCLUDE_COMPONENTS_FIELD_NUMBER = 4;
 
-        private boolean includeComponents_ = false;
+        private boolean includeComponents_;
 
         /**
          * bool include_components = 4;
@@ -20572,7 +21407,7 @@ public final class ContextOuterClass {
             if (includeComponents_ != false) {
                 output.writeBool(4, includeComponents_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -20593,7 +21428,7 @@ public final class ContextOuterClass {
             if (includeComponents_ != false) {
                 size += com.google.protobuf.CodedOutputStream.computeBoolSize(4, includeComponents_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -20619,7 +21454,7 @@ public final class ContextOuterClass {
                 return false;
             if (getIncludeComponents() != other.getIncludeComponents())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -20641,7 +21476,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIncludeConfigRules());
             hash = (37 * hash) + INCLUDE_COMPONENTS_FIELD_NUMBER;
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIncludeComponents());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -20735,19 +21570,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.DeviceFilter.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                deviceIds_ = null;
-                if (deviceIdsBuilder_ != null) {
-                    deviceIdsBuilder_.dispose();
+                if (deviceIdsBuilder_ == null) {
+                    deviceIds_ = null;
+                } else {
+                    deviceIds_ = null;
                     deviceIdsBuilder_ = null;
                 }
                 includeEndpoints_ = false;
@@ -20778,27 +21620,46 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.DeviceFilter buildPartial() {
                 context.ContextOuterClass.DeviceFilter result = new context.ContextOuterClass.DeviceFilter(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (deviceIdsBuilder_ == null) {
+                    result.deviceIds_ = deviceIds_;
+                } else {
+                    result.deviceIds_ = deviceIdsBuilder_.build();
                 }
+                result.includeEndpoints_ = includeEndpoints_;
+                result.includeConfigRules_ = includeConfigRules_;
+                result.includeComponents_ = includeComponents_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.DeviceFilter result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.deviceIds_ = deviceIdsBuilder_ == null ? deviceIds_ : deviceIdsBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.includeEndpoints_ = includeEndpoints_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.includeConfigRules_ = includeConfigRules_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.includeComponents_ = includeComponents_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -20826,7 +21687,7 @@ public final class ContextOuterClass {
                 if (other.getIncludeComponents() != false) {
                     setIncludeComponents(other.getIncludeComponents());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -20838,68 +21699,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.DeviceFilter parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getDeviceIdsFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 16:
-                                {
-                                    includeEndpoints_ = input.readBool();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            case 24:
-                                {
-                                    includeConfigRules_ = input.readBool();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 32:
-                                {
-                                    includeComponents_ = input.readBool();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 32
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.DeviceFilter) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.DeviceIdList deviceIds_;
 
             private com.google.protobuf.SingleFieldBuilderV3 deviceIdsBuilder_;
@@ -20909,7 +21722,7 @@ public final class ContextOuterClass {
              * @return Whether the deviceIds field is set.
              */
             public boolean hasDeviceIds() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return deviceIdsBuilder_ != null || deviceIds_ != null;
             }
 
             /**
@@ -20933,11 +21746,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     deviceIds_ = value;
+                    onChanged();
                 } else {
                     deviceIdsBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -20947,11 +21759,10 @@ public final class ContextOuterClass {
             public Builder setDeviceIds(context.ContextOuterClass.DeviceIdList.Builder builderForValue) {
                 if (deviceIdsBuilder_ == null) {
                     deviceIds_ = builderForValue.build();
+                    onChanged();
                 } else {
                     deviceIdsBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -20960,16 +21771,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeDeviceIds(context.ContextOuterClass.DeviceIdList value) {
                 if (deviceIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && deviceIds_ != null && deviceIds_ != context.ContextOuterClass.DeviceIdList.getDefaultInstance()) {
-                        getDeviceIdsBuilder().mergeFrom(value);
+                    if (deviceIds_ != null) {
+                        deviceIds_ = context.ContextOuterClass.DeviceIdList.newBuilder(deviceIds_).mergeFrom(value).buildPartial();
                     } else {
                         deviceIds_ = value;
                     }
+                    onChanged();
                 } else {
                     deviceIdsBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -20977,13 +21787,13 @@ public final class ContextOuterClass {
              * .context.DeviceIdList device_ids = 1;
              */
             public Builder clearDeviceIds() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                deviceIds_ = null;
-                if (deviceIdsBuilder_ != null) {
-                    deviceIdsBuilder_.dispose();
+                if (deviceIdsBuilder_ == null) {
+                    deviceIds_ = null;
+                    onChanged();
+                } else {
+                    deviceIds_ = null;
                     deviceIdsBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -20991,7 +21801,6 @@ public final class ContextOuterClass {
              * .context.DeviceIdList device_ids = 1;
              */
             public context.ContextOuterClass.DeviceIdList.Builder getDeviceIdsBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getDeviceIdsFieldBuilder().getBuilder();
             }
@@ -21036,7 +21845,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeEndpoints(boolean value) {
                 includeEndpoints_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -21046,7 +21854,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeEndpoints() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 includeEndpoints_ = false;
                 onChanged();
                 return this;
@@ -21070,7 +21877,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeConfigRules(boolean value) {
                 includeConfigRules_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -21080,7 +21886,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeConfigRules() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 includeConfigRules_ = false;
                 onChanged();
                 return this;
@@ -21104,7 +21909,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeComponents(boolean value) {
                 includeComponents_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -21114,7 +21918,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeComponents() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 includeComponents_ = false;
                 onChanged();
                 return this;
@@ -21147,17 +21950,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public DeviceFilter parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new DeviceFilter(input, extensionRegistry);
             }
         };
 
@@ -21253,6 +22046,83 @@ public final class ContextOuterClass {
             return new DeviceEvent();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private DeviceEvent(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Event.Builder subBuilder = null;
+                                if (event_ != null) {
+                                    subBuilder = event_.toBuilder();
+                                }
+                                event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(event_);
+                                    event_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.DeviceId.Builder subBuilder = null;
+                                if (deviceId_ != null) {
+                                    subBuilder = deviceId_.toBuilder();
+                                }
+                                deviceId_ = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(deviceId_);
+                                    deviceId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 26:
+                            {
+                                context.ContextOuterClass.DeviceConfig.Builder subBuilder = null;
+                                if (deviceConfig_ != null) {
+                                    subBuilder = deviceConfig_.toBuilder();
+                                }
+                                deviceConfig_ = input.readMessage(context.ContextOuterClass.DeviceConfig.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(deviceConfig_);
+                                    deviceConfig_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_DeviceEvent_descriptor;
         }
@@ -21289,7 +22159,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() {
-            return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_;
+            return getEvent();
         }
 
         public static final int DEVICE_ID_FIELD_NUMBER = 2;
@@ -21319,7 +22189,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() {
-            return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_;
+            return getDeviceId();
         }
 
         public static final int DEVICE_CONFIG_FIELD_NUMBER = 3;
@@ -21349,7 +22219,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.DeviceConfigOrBuilder getDeviceConfigOrBuilder() {
-            return deviceConfig_ == null ? context.ContextOuterClass.DeviceConfig.getDefaultInstance() : deviceConfig_;
+            return getDeviceConfig();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -21376,7 +22246,7 @@ public final class ContextOuterClass {
             if (deviceConfig_ != null) {
                 output.writeMessage(3, getDeviceConfig());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -21394,7 +22264,7 @@ public final class ContextOuterClass {
             if (deviceConfig_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getDeviceConfig());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -21426,7 +22296,7 @@ public final class ContextOuterClass {
                 if (!getDeviceConfig().equals(other.getDeviceConfig()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -21450,7 +22320,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + DEVICE_CONFIG_FIELD_NUMBER;
                 hash = (53 * hash) + getDeviceConfig().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -21544,29 +22414,38 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.DeviceEvent.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                deviceId_ = null;
-                if (deviceIdBuilder_ != null) {
-                    deviceIdBuilder_.dispose();
+                if (deviceIdBuilder_ == null) {
+                    deviceId_ = null;
+                } else {
+                    deviceId_ = null;
                     deviceIdBuilder_ = null;
                 }
-                deviceConfig_ = null;
-                if (deviceConfigBuilder_ != null) {
-                    deviceConfigBuilder_.dispose();
+                if (deviceConfigBuilder_ == null) {
+                    deviceConfig_ = null;
+                } else {
+                    deviceConfig_ = null;
                     deviceConfigBuilder_ = null;
                 }
                 return this;
@@ -21594,24 +22473,53 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.DeviceEvent buildPartial() {
                 context.ContextOuterClass.DeviceEvent result = new context.ContextOuterClass.DeviceEvent(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (eventBuilder_ == null) {
+                    result.event_ = event_;
+                } else {
+                    result.event_ = eventBuilder_.build();
+                }
+                if (deviceIdBuilder_ == null) {
+                    result.deviceId_ = deviceId_;
+                } else {
+                    result.deviceId_ = deviceIdBuilder_.build();
+                }
+                if (deviceConfigBuilder_ == null) {
+                    result.deviceConfig_ = deviceConfig_;
+                } else {
+                    result.deviceConfig_ = deviceConfigBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.DeviceEvent result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.event_ = eventBuilder_ == null ? event_ : eventBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.deviceId_ = deviceIdBuilder_ == null ? deviceId_ : deviceIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.deviceConfig_ = deviceConfigBuilder_ == null ? deviceConfig_ : deviceConfigBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -21636,7 +22544,7 @@ public final class ContextOuterClass {
                 if (other.hasDeviceConfig()) {
                     mergeDeviceConfig(other.getDeviceConfig());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -21648,61 +22556,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.DeviceEvent parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEventFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getDeviceIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    input.readMessage(getDeviceConfigFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.DeviceEvent) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Event event_;
 
             private com.google.protobuf.SingleFieldBuilderV3 eventBuilder_;
@@ -21712,7 +22579,7 @@ public final class ContextOuterClass {
              * @return Whether the event field is set.
              */
             public boolean hasEvent() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return eventBuilder_ != null || event_ != null;
             }
 
             /**
@@ -21736,11 +22603,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     event_ = value;
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -21750,11 +22616,10 @@ public final class ContextOuterClass {
             public Builder setEvent(context.ContextOuterClass.Event.Builder builderForValue) {
                 if (eventBuilder_ == null) {
                     event_ = builderForValue.build();
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -21763,16 +22628,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEvent(context.ContextOuterClass.Event value) {
                 if (eventBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && event_ != null && event_ != context.ContextOuterClass.Event.getDefaultInstance()) {
-                        getEventBuilder().mergeFrom(value);
+                    if (event_ != null) {
+                        event_ = context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial();
                     } else {
                         event_ = value;
                     }
+                    onChanged();
                 } else {
                     eventBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -21780,13 +22644,13 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public Builder clearEvent() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                    onChanged();
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -21794,7 +22658,6 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public context.ContextOuterClass.Event.Builder getEventBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEventFieldBuilder().getBuilder();
             }
@@ -21830,7 +22693,7 @@ public final class ContextOuterClass {
              * @return Whether the deviceId field is set.
              */
             public boolean hasDeviceId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return deviceIdBuilder_ != null || deviceId_ != null;
             }
 
             /**
@@ -21854,11 +22717,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     deviceId_ = value;
+                    onChanged();
                 } else {
                     deviceIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -21868,11 +22730,10 @@ public final class ContextOuterClass {
             public Builder setDeviceId(context.ContextOuterClass.DeviceId.Builder builderForValue) {
                 if (deviceIdBuilder_ == null) {
                     deviceId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     deviceIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -21881,16 +22742,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeDeviceId(context.ContextOuterClass.DeviceId value) {
                 if (deviceIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && deviceId_ != null && deviceId_ != context.ContextOuterClass.DeviceId.getDefaultInstance()) {
-                        getDeviceIdBuilder().mergeFrom(value);
+                    if (deviceId_ != null) {
+                        deviceId_ = context.ContextOuterClass.DeviceId.newBuilder(deviceId_).mergeFrom(value).buildPartial();
                     } else {
                         deviceId_ = value;
                     }
+                    onChanged();
                 } else {
                     deviceIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -21898,13 +22758,13 @@ public final class ContextOuterClass {
              * .context.DeviceId device_id = 2;
              */
             public Builder clearDeviceId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                deviceId_ = null;
-                if (deviceIdBuilder_ != null) {
-                    deviceIdBuilder_.dispose();
+                if (deviceIdBuilder_ == null) {
+                    deviceId_ = null;
+                    onChanged();
+                } else {
+                    deviceId_ = null;
                     deviceIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -21912,7 +22772,6 @@ public final class ContextOuterClass {
              * .context.DeviceId device_id = 2;
              */
             public context.ContextOuterClass.DeviceId.Builder getDeviceIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getDeviceIdFieldBuilder().getBuilder();
             }
@@ -21948,7 +22807,7 @@ public final class ContextOuterClass {
              * @return Whether the deviceConfig field is set.
              */
             public boolean hasDeviceConfig() {
-                return ((bitField0_ & 0x00000004) != 0);
+                return deviceConfigBuilder_ != null || deviceConfig_ != null;
             }
 
             /**
@@ -21972,11 +22831,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     deviceConfig_ = value;
+                    onChanged();
                 } else {
                     deviceConfigBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -21986,11 +22844,10 @@ public final class ContextOuterClass {
             public Builder setDeviceConfig(context.ContextOuterClass.DeviceConfig.Builder builderForValue) {
                 if (deviceConfigBuilder_ == null) {
                     deviceConfig_ = builderForValue.build();
+                    onChanged();
                 } else {
                     deviceConfigBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -21999,16 +22856,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeDeviceConfig(context.ContextOuterClass.DeviceConfig value) {
                 if (deviceConfigBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0) && deviceConfig_ != null && deviceConfig_ != context.ContextOuterClass.DeviceConfig.getDefaultInstance()) {
-                        getDeviceConfigBuilder().mergeFrom(value);
+                    if (deviceConfig_ != null) {
+                        deviceConfig_ = context.ContextOuterClass.DeviceConfig.newBuilder(deviceConfig_).mergeFrom(value).buildPartial();
                     } else {
                         deviceConfig_ = value;
                     }
+                    onChanged();
                 } else {
                     deviceConfigBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -22016,13 +22872,13 @@ public final class ContextOuterClass {
              * .context.DeviceConfig device_config = 3;
              */
             public Builder clearDeviceConfig() {
-                bitField0_ = (bitField0_ & ~0x00000004);
-                deviceConfig_ = null;
-                if (deviceConfigBuilder_ != null) {
-                    deviceConfigBuilder_.dispose();
+                if (deviceConfigBuilder_ == null) {
+                    deviceConfig_ = null;
+                    onChanged();
+                } else {
+                    deviceConfig_ = null;
                     deviceConfigBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -22030,7 +22886,6 @@ public final class ContextOuterClass {
              * .context.DeviceConfig device_config = 3;
              */
             public context.ContextOuterClass.DeviceConfig.Builder getDeviceConfigBuilder() {
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return getDeviceConfigFieldBuilder().getBuilder();
             }
@@ -22084,17 +22939,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public DeviceEvent parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new DeviceEvent(input, extensionRegistry);
             }
         };
 
@@ -22160,6 +23005,57 @@ public final class ContextOuterClass {
             return new LinkId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private LinkId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (linkUuid_ != null) {
+                                    subBuilder = linkUuid_.toBuilder();
+                                }
+                                linkUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(linkUuid_);
+                                    linkUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_LinkId_descriptor;
         }
@@ -22196,7 +23092,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getLinkUuidOrBuilder() {
-            return linkUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : linkUuid_;
+            return getLinkUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -22217,7 +23113,7 @@ public final class ContextOuterClass {
             if (linkUuid_ != null) {
                 output.writeMessage(1, getLinkUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -22229,7 +23125,7 @@ public final class ContextOuterClass {
             if (linkUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getLinkUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -22249,7 +23145,7 @@ public final class ContextOuterClass {
                 if (!getLinkUuid().equals(other.getLinkUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -22265,7 +23161,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + LINK_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getLinkUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -22363,19 +23259,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.LinkId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                linkUuid_ = null;
-                if (linkUuidBuilder_ != null) {
-                    linkUuidBuilder_.dispose();
+                if (linkUuidBuilder_ == null) {
+                    linkUuid_ = null;
+                } else {
+                    linkUuid_ = null;
                     linkUuidBuilder_ = null;
                 }
                 return this;
@@ -22403,18 +23306,43 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.LinkId buildPartial() {
                 context.ContextOuterClass.LinkId result = new context.ContextOuterClass.LinkId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (linkUuidBuilder_ == null) {
+                    result.linkUuid_ = linkUuid_;
+                } else {
+                    result.linkUuid_ = linkUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.LinkId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.linkUuid_ = linkUuidBuilder_ == null ? linkUuid_ : linkUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -22433,7 +23361,7 @@ public final class ContextOuterClass {
                 if (other.hasLinkUuid()) {
                     mergeLinkUuid(other.getLinkUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -22445,47 +23373,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.LinkId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getLinkUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.LinkId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid linkUuid_;
 
             private com.google.protobuf.SingleFieldBuilderV3 linkUuidBuilder_;
@@ -22495,7 +23396,7 @@ public final class ContextOuterClass {
              * @return Whether the linkUuid field is set.
              */
             public boolean hasLinkUuid() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return linkUuidBuilder_ != null || linkUuid_ != null;
             }
 
             /**
@@ -22519,11 +23420,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     linkUuid_ = value;
+                    onChanged();
                 } else {
                     linkUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -22533,11 +23433,10 @@ public final class ContextOuterClass {
             public Builder setLinkUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (linkUuidBuilder_ == null) {
                     linkUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     linkUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -22546,16 +23445,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeLinkUuid(context.ContextOuterClass.Uuid value) {
                 if (linkUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && linkUuid_ != null && linkUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getLinkUuidBuilder().mergeFrom(value);
+                    if (linkUuid_ != null) {
+                        linkUuid_ = context.ContextOuterClass.Uuid.newBuilder(linkUuid_).mergeFrom(value).buildPartial();
                     } else {
                         linkUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     linkUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -22563,13 +23461,13 @@ public final class ContextOuterClass {
              * .context.Uuid link_uuid = 1;
              */
             public Builder clearLinkUuid() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                linkUuid_ = null;
-                if (linkUuidBuilder_ != null) {
-                    linkUuidBuilder_.dispose();
+                if (linkUuidBuilder_ == null) {
+                    linkUuid_ = null;
+                    onChanged();
+                } else {
+                    linkUuid_ = null;
                     linkUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -22577,7 +23475,6 @@ public final class ContextOuterClass {
              * .context.Uuid link_uuid = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getLinkUuidBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getLinkUuidFieldBuilder().getBuilder();
             }
@@ -22631,17 +23528,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public LinkId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new LinkId(input, extensionRegistry);
             }
         };
 
@@ -22698,6 +23585,54 @@ public final class ContextOuterClass {
             return new LinkAttributes();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private LinkAttributes(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 13:
+                            {
+                                totalCapacityGbps_ = input.readFloat();
+                                break;
+                            }
+                        case 21:
+                            {
+                                usedCapacityGbps_ = input.readFloat();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_LinkAttributes_descriptor;
         }
@@ -22709,7 +23644,7 @@ public final class ContextOuterClass {
 
         public static final int TOTAL_CAPACITY_GBPS_FIELD_NUMBER = 1;
 
-        private float totalCapacityGbps_ = 0F;
+        private float totalCapacityGbps_;
 
         /**
          * float total_capacity_gbps = 1;
@@ -22722,7 +23657,7 @@ public final class ContextOuterClass {
 
         public static final int USED_CAPACITY_GBPS_FIELD_NUMBER = 2;
 
-        private float usedCapacityGbps_ = 0F;
+        private float usedCapacityGbps_;
 
         /**
          * float used_capacity_gbps = 2;
@@ -22748,13 +23683,13 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (java.lang.Float.floatToRawIntBits(totalCapacityGbps_) != 0) {
+            if (totalCapacityGbps_ != 0F) {
                 output.writeFloat(1, totalCapacityGbps_);
             }
-            if (java.lang.Float.floatToRawIntBits(usedCapacityGbps_) != 0) {
+            if (usedCapacityGbps_ != 0F) {
                 output.writeFloat(2, usedCapacityGbps_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -22763,13 +23698,13 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (java.lang.Float.floatToRawIntBits(totalCapacityGbps_) != 0) {
+            if (totalCapacityGbps_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(1, totalCapacityGbps_);
             }
-            if (java.lang.Float.floatToRawIntBits(usedCapacityGbps_) != 0) {
+            if (usedCapacityGbps_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(2, usedCapacityGbps_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -22787,7 +23722,7 @@ public final class ContextOuterClass {
                 return false;
             if (java.lang.Float.floatToIntBits(getUsedCapacityGbps()) != java.lang.Float.floatToIntBits(other.getUsedCapacityGbps()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -22803,7 +23738,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getTotalCapacityGbps());
             hash = (37 * hash) + USED_CAPACITY_GBPS_FIELD_NUMBER;
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getUsedCapacityGbps());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -22897,16 +23832,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.LinkAttributes.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 totalCapacityGbps_ = 0F;
                 usedCapacityGbps_ = 0F;
                 return this;
@@ -22934,21 +23875,40 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.LinkAttributes buildPartial() {
                 context.ContextOuterClass.LinkAttributes result = new context.ContextOuterClass.LinkAttributes(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.totalCapacityGbps_ = totalCapacityGbps_;
+                result.usedCapacityGbps_ = usedCapacityGbps_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.LinkAttributes result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.totalCapacityGbps_ = totalCapacityGbps_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.usedCapacityGbps_ = usedCapacityGbps_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -22970,7 +23930,7 @@ public final class ContextOuterClass {
                 if (other.getUsedCapacityGbps() != 0F) {
                     setUsedCapacityGbps(other.getUsedCapacityGbps());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -22982,54 +23942,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.LinkAttributes parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 13:
-                                {
-                                    totalCapacityGbps_ = input.readFloat();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 13
-                            case 21:
-                                {
-                                    usedCapacityGbps_ = input.readFloat();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 21
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.LinkAttributes) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private float totalCapacityGbps_;
 
             /**
@@ -23048,7 +23974,6 @@ public final class ContextOuterClass {
              */
             public Builder setTotalCapacityGbps(float value) {
                 totalCapacityGbps_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -23058,7 +23983,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearTotalCapacityGbps() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 totalCapacityGbps_ = 0F;
                 onChanged();
                 return this;
@@ -23082,7 +24006,6 @@ public final class ContextOuterClass {
              */
             public Builder setUsedCapacityGbps(float value) {
                 usedCapacityGbps_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -23092,7 +24015,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearUsedCapacityGbps() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 usedCapacityGbps_ = 0F;
                 onChanged();
                 return this;
@@ -23125,17 +24047,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public LinkAttributes parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new LinkAttributes(input, extensionRegistry);
             }
         };
 
@@ -23253,6 +24165,89 @@ public final class ContextOuterClass {
             return new Link();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Link(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.LinkId.Builder subBuilder = null;
+                                if (linkId_ != null) {
+                                    subBuilder = linkId_.toBuilder();
+                                }
+                                linkId_ = input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(linkId_);
+                                    linkId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    linkEndpointIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                linkEndpointIds_.add(input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 34:
+                            {
+                                context.ContextOuterClass.LinkAttributes.Builder subBuilder = null;
+                                if (attributes_ != null) {
+                                    subBuilder = attributes_.toBuilder();
+                                }
+                                attributes_ = input.readMessage(context.ContextOuterClass.LinkAttributes.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(attributes_);
+                                    attributes_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    linkEndpointIds_ = java.util.Collections.unmodifiableList(linkEndpointIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Link_descriptor;
         }
@@ -23289,13 +24284,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder() {
-            return linkId_ == null ? context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_;
+            return getLinkId();
         }
 
         public static final int NAME_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 2;
@@ -23332,7 +24326,6 @@ public final class ContextOuterClass {
 
         public static final int LINK_ENDPOINT_IDS_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
         private java.util.List linkEndpointIds_;
 
         /**
@@ -23402,7 +24395,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.LinkAttributesOrBuilder getAttributesOrBuilder() {
-            return attributes_ == null ? context.ContextOuterClass.LinkAttributes.getDefaultInstance() : attributes_;
+            return getAttributes();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -23423,7 +24416,7 @@ public final class ContextOuterClass {
             if (linkId_ != null) {
                 output.writeMessage(1, getLinkId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
             }
             for (int i = 0; i < linkEndpointIds_.size(); i++) {
@@ -23432,7 +24425,7 @@ public final class ContextOuterClass {
             if (attributes_ != null) {
                 output.writeMessage(4, getAttributes());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -23444,7 +24437,7 @@ public final class ContextOuterClass {
             if (linkId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getLinkId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
             }
             for (int i = 0; i < linkEndpointIds_.size(); i++) {
@@ -23453,7 +24446,7 @@ public final class ContextOuterClass {
             if (attributes_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getAttributes());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -23483,7 +24476,7 @@ public final class ContextOuterClass {
                 if (!getAttributes().equals(other.getAttributes()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -23509,7 +24502,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + ATTRIBUTES_FIELD_NUMBER;
                 hash = (53 * hash) + getAttributes().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -23603,32 +24596,40 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Link.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getLinkEndpointIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                linkId_ = null;
-                if (linkIdBuilder_ != null) {
-                    linkIdBuilder_.dispose();
+                if (linkIdBuilder_ == null) {
+                    linkId_ = null;
+                } else {
+                    linkId_ = null;
                     linkIdBuilder_ = null;
                 }
                 name_ = "";
                 if (linkEndpointIdsBuilder_ == null) {
                     linkEndpointIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    linkEndpointIds_ = null;
                     linkEndpointIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000004);
-                attributes_ = null;
-                if (attributesBuilder_ != null) {
-                    attributesBuilder_.dispose();
+                if (attributesBuilder_ == null) {
+                    attributes_ = null;
+                } else {
+                    attributes_ = null;
                     attributesBuilder_ = null;
                 }
                 return this;
@@ -23656,37 +24657,59 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Link buildPartial() {
                 context.ContextOuterClass.Link result = new context.ContextOuterClass.Link(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (linkIdBuilder_ == null) {
+                    result.linkId_ = linkId_;
+                } else {
+                    result.linkId_ = linkIdBuilder_.build();
                 }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.Link result) {
+                result.name_ = name_;
                 if (linkEndpointIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         linkEndpointIds_ = java.util.Collections.unmodifiableList(linkEndpointIds_);
-                        bitField0_ = (bitField0_ & ~0x00000004);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.linkEndpointIds_ = linkEndpointIds_;
                 } else {
                     result.linkEndpointIds_ = linkEndpointIdsBuilder_.build();
                 }
+                if (attributesBuilder_ == null) {
+                    result.attributes_ = attributes_;
+                } else {
+                    result.attributes_ = attributesBuilder_.build();
+                }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Link result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.linkId_ = linkIdBuilder_ == null ? linkId_ : linkIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.name_ = name_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.attributes_ = attributesBuilder_ == null ? attributes_ : attributesBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -23707,14 +24730,13 @@ public final class ContextOuterClass {
                 }
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (linkEndpointIdsBuilder_ == null) {
                     if (!other.linkEndpointIds_.isEmpty()) {
                         if (linkEndpointIds_.isEmpty()) {
                             linkEndpointIds_ = other.linkEndpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureLinkEndpointIdsIsMutable();
                             linkEndpointIds_.addAll(other.linkEndpointIds_);
@@ -23727,7 +24749,7 @@ public final class ContextOuterClass {
                             linkEndpointIdsBuilder_.dispose();
                             linkEndpointIdsBuilder_ = null;
                             linkEndpointIds_ = other.linkEndpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             linkEndpointIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getLinkEndpointIdsFieldBuilder() : null;
                         } else {
                             linkEndpointIdsBuilder_.addAllMessages(other.linkEndpointIds_);
@@ -23737,7 +24759,7 @@ public final class ContextOuterClass {
                 if (other.hasAttributes()) {
                     mergeAttributes(other.getAttributes());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -23749,68 +24771,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Link parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getLinkIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    context.ContextOuterClass.EndPointId m = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
-                                    if (linkEndpointIdsBuilder_ == null) {
-                                        ensureLinkEndpointIdsIsMutable();
-                                        linkEndpointIds_.add(m);
-                                    } else {
-                                        linkEndpointIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    input.readMessage(getAttributesFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 34
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Link) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -23825,7 +24796,7 @@ public final class ContextOuterClass {
              * @return Whether the linkId field is set.
              */
             public boolean hasLinkId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return linkIdBuilder_ != null || linkId_ != null;
             }
 
             /**
@@ -23849,11 +24820,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     linkId_ = value;
+                    onChanged();
                 } else {
                     linkIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -23863,11 +24833,10 @@ public final class ContextOuterClass {
             public Builder setLinkId(context.ContextOuterClass.LinkId.Builder builderForValue) {
                 if (linkIdBuilder_ == null) {
                     linkId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     linkIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -23876,16 +24845,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeLinkId(context.ContextOuterClass.LinkId value) {
                 if (linkIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && linkId_ != null && linkId_ != context.ContextOuterClass.LinkId.getDefaultInstance()) {
-                        getLinkIdBuilder().mergeFrom(value);
+                    if (linkId_ != null) {
+                        linkId_ = context.ContextOuterClass.LinkId.newBuilder(linkId_).mergeFrom(value).buildPartial();
                     } else {
                         linkId_ = value;
                     }
+                    onChanged();
                 } else {
                     linkIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -23893,13 +24861,13 @@ public final class ContextOuterClass {
              * .context.LinkId link_id = 1;
              */
             public Builder clearLinkId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                linkId_ = null;
-                if (linkIdBuilder_ != null) {
-                    linkIdBuilder_.dispose();
+                if (linkIdBuilder_ == null) {
+                    linkId_ = null;
+                    onChanged();
+                } else {
+                    linkId_ = null;
                     linkIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -23907,7 +24875,6 @@ public final class ContextOuterClass {
              * .context.LinkId link_id = 1;
              */
             public context.ContextOuterClass.LinkId.Builder getLinkIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getLinkIdFieldBuilder().getBuilder();
             }
@@ -23977,7 +24944,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -23988,7 +24954,6 @@ public final class ContextOuterClass {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -24004,7 +24969,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -24012,9 +24976,9 @@ public final class ContextOuterClass {
             private java.util.List linkEndpointIds_ = java.util.Collections.emptyList();
 
             private void ensureLinkEndpointIdsIsMutable() {
-                if (!((bitField0_ & 0x00000004) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     linkEndpointIds_ = new java.util.ArrayList(linkEndpointIds_);
-                    bitField0_ |= 0x00000004;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -24166,7 +25130,7 @@ public final class ContextOuterClass {
             public Builder clearLinkEndpointIds() {
                 if (linkEndpointIdsBuilder_ == null) {
                     linkEndpointIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000004);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     linkEndpointIdsBuilder_.clear();
@@ -24240,7 +25204,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getLinkEndpointIdsFieldBuilder() {
                 if (linkEndpointIdsBuilder_ == null) {
-                    linkEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(linkEndpointIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
+                    linkEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(linkEndpointIds_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     linkEndpointIds_ = null;
                 }
                 return linkEndpointIdsBuilder_;
@@ -24255,7 +25219,7 @@ public final class ContextOuterClass {
              * @return Whether the attributes field is set.
              */
             public boolean hasAttributes() {
-                return ((bitField0_ & 0x00000008) != 0);
+                return attributesBuilder_ != null || attributes_ != null;
             }
 
             /**
@@ -24279,11 +25243,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     attributes_ = value;
+                    onChanged();
                 } else {
                     attributesBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -24293,11 +25256,10 @@ public final class ContextOuterClass {
             public Builder setAttributes(context.ContextOuterClass.LinkAttributes.Builder builderForValue) {
                 if (attributesBuilder_ == null) {
                     attributes_ = builderForValue.build();
+                    onChanged();
                 } else {
                     attributesBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -24306,16 +25268,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeAttributes(context.ContextOuterClass.LinkAttributes value) {
                 if (attributesBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0) && attributes_ != null && attributes_ != context.ContextOuterClass.LinkAttributes.getDefaultInstance()) {
-                        getAttributesBuilder().mergeFrom(value);
+                    if (attributes_ != null) {
+                        attributes_ = context.ContextOuterClass.LinkAttributes.newBuilder(attributes_).mergeFrom(value).buildPartial();
                     } else {
                         attributes_ = value;
                     }
+                    onChanged();
                 } else {
                     attributesBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -24323,13 +25284,13 @@ public final class ContextOuterClass {
              * .context.LinkAttributes attributes = 4;
              */
             public Builder clearAttributes() {
-                bitField0_ = (bitField0_ & ~0x00000008);
-                attributes_ = null;
-                if (attributesBuilder_ != null) {
-                    attributesBuilder_.dispose();
+                if (attributesBuilder_ == null) {
+                    attributes_ = null;
+                    onChanged();
+                } else {
+                    attributes_ = null;
                     attributesBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -24337,7 +25298,6 @@ public final class ContextOuterClass {
              * .context.LinkAttributes attributes = 4;
              */
             public context.ContextOuterClass.LinkAttributes.Builder getAttributesBuilder() {
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return getAttributesFieldBuilder().getBuilder();
             }
@@ -24391,17 +25351,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Link parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Link(input, extensionRegistry);
             }
         };
 
@@ -24472,6 +25422,57 @@ public final class ContextOuterClass {
             return new LinkIdList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private LinkIdList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    linkIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                linkIds_.add(input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    linkIds_ = java.util.Collections.unmodifiableList(linkIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_LinkIdList_descriptor;
         }
@@ -24483,7 +25484,6 @@ public final class ContextOuterClass {
 
         public static final int LINK_IDS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List linkIds_;
 
         /**
@@ -24544,7 +25544,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < linkIds_.size(); i++) {
                 output.writeMessage(1, linkIds_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -24556,7 +25556,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < linkIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, linkIds_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -24572,7 +25572,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.LinkIdList other = (context.ContextOuterClass.LinkIdList) obj;
             if (!getLinkIdsList().equals(other.getLinkIdsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -24588,7 +25588,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + LINK_IDS_FIELD_NUMBER;
                 hash = (53 * hash) + getLinkIdsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -24682,23 +25682,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.LinkIdList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getLinkIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (linkIdsBuilder_ == null) {
                     linkIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    linkIds_ = null;
                     linkIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -24724,15 +25730,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.LinkIdList buildPartial() {
                 context.ContextOuterClass.LinkIdList result = new context.ContextOuterClass.LinkIdList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.LinkIdList result) {
+                int from_bitField0_ = bitField0_;
                 if (linkIdsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         linkIds_ = java.util.Collections.unmodifiableList(linkIds_);
@@ -24742,10 +25740,38 @@ public final class ContextOuterClass {
                 } else {
                     result.linkIds_ = linkIdsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.LinkIdList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -24785,7 +25811,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -24797,47 +25823,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.LinkIdList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.LinkId m = input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry);
-                                    if (linkIdsBuilder_ == null) {
-                                        ensureLinkIdsIsMutable();
-                                        linkIds_.add(m);
-                                    } else {
-                                        linkIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.LinkIdList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -25107,17 +26103,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public LinkIdList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new LinkIdList(input, extensionRegistry);
             }
         };
 
@@ -25188,6 +26174,57 @@ public final class ContextOuterClass {
             return new LinkList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private LinkList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    links_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                links_.add(input.readMessage(context.ContextOuterClass.Link.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    links_ = java.util.Collections.unmodifiableList(links_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_LinkList_descriptor;
         }
@@ -25199,7 +26236,6 @@ public final class ContextOuterClass {
 
         public static final int LINKS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List links_;
 
         /**
@@ -25260,7 +26296,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < links_.size(); i++) {
                 output.writeMessage(1, links_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -25272,7 +26308,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < links_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, links_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -25288,7 +26324,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.LinkList other = (context.ContextOuterClass.LinkList) obj;
             if (!getLinksList().equals(other.getLinksList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -25304,7 +26340,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + LINKS_FIELD_NUMBER;
                 hash = (53 * hash) + getLinksList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -25398,23 +26434,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.LinkList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getLinksFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (linksBuilder_ == null) {
                     links_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    links_ = null;
                     linksBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -25440,15 +26482,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.LinkList buildPartial() {
                 context.ContextOuterClass.LinkList result = new context.ContextOuterClass.LinkList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.LinkList result) {
+                int from_bitField0_ = bitField0_;
                 if (linksBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         links_ = java.util.Collections.unmodifiableList(links_);
@@ -25458,10 +26492,38 @@ public final class ContextOuterClass {
                 } else {
                     result.links_ = linksBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.LinkList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -25501,7 +26563,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -25513,47 +26575,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.LinkList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.Link m = input.readMessage(context.ContextOuterClass.Link.parser(), extensionRegistry);
-                                    if (linksBuilder_ == null) {
-                                        ensureLinksIsMutable();
-                                        links_.add(m);
-                                    } else {
-                                        linksBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.LinkList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -25823,17 +26855,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public LinkList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new LinkList(input, extensionRegistry);
             }
         };
 
@@ -25912,6 +26934,70 @@ public final class ContextOuterClass {
             return new LinkEvent();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private LinkEvent(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Event.Builder subBuilder = null;
+                                if (event_ != null) {
+                                    subBuilder = event_.toBuilder();
+                                }
+                                event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(event_);
+                                    event_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.LinkId.Builder subBuilder = null;
+                                if (linkId_ != null) {
+                                    subBuilder = linkId_.toBuilder();
+                                }
+                                linkId_ = input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(linkId_);
+                                    linkId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_LinkEvent_descriptor;
         }
@@ -25948,7 +27034,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() {
-            return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_;
+            return getEvent();
         }
 
         public static final int LINK_ID_FIELD_NUMBER = 2;
@@ -25978,7 +27064,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder() {
-            return linkId_ == null ? context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_;
+            return getLinkId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -26002,7 +27088,7 @@ public final class ContextOuterClass {
             if (linkId_ != null) {
                 output.writeMessage(2, getLinkId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -26017,7 +27103,7 @@ public final class ContextOuterClass {
             if (linkId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getLinkId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -26043,7 +27129,7 @@ public final class ContextOuterClass {
                 if (!getLinkId().equals(other.getLinkId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -26063,7 +27149,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + LINK_ID_FIELD_NUMBER;
                 hash = (53 * hash) + getLinkId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -26157,24 +27243,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.LinkEvent.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                linkId_ = null;
-                if (linkIdBuilder_ != null) {
-                    linkIdBuilder_.dispose();
+                if (linkIdBuilder_ == null) {
+                    linkId_ = null;
+                } else {
+                    linkId_ = null;
                     linkIdBuilder_ = null;
                 }
                 return this;
@@ -26202,21 +27296,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.LinkEvent buildPartial() {
                 context.ContextOuterClass.LinkEvent result = new context.ContextOuterClass.LinkEvent(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (eventBuilder_ == null) {
+                    result.event_ = event_;
+                } else {
+                    result.event_ = eventBuilder_.build();
+                }
+                if (linkIdBuilder_ == null) {
+                    result.linkId_ = linkId_;
+                } else {
+                    result.linkId_ = linkIdBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.LinkEvent result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.event_ = eventBuilder_ == null ? event_ : eventBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.linkId_ = linkIdBuilder_ == null ? linkId_ : linkIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -26238,7 +27359,7 @@ public final class ContextOuterClass {
                 if (other.hasLinkId()) {
                     mergeLinkId(other.getLinkId());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -26250,54 +27371,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.LinkEvent parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEventFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getLinkIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.LinkEvent) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Event event_;
 
             private com.google.protobuf.SingleFieldBuilderV3 eventBuilder_;
@@ -26307,7 +27394,7 @@ public final class ContextOuterClass {
              * @return Whether the event field is set.
              */
             public boolean hasEvent() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return eventBuilder_ != null || event_ != null;
             }
 
             /**
@@ -26331,11 +27418,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     event_ = value;
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -26345,11 +27431,10 @@ public final class ContextOuterClass {
             public Builder setEvent(context.ContextOuterClass.Event.Builder builderForValue) {
                 if (eventBuilder_ == null) {
                     event_ = builderForValue.build();
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -26358,16 +27443,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEvent(context.ContextOuterClass.Event value) {
                 if (eventBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && event_ != null && event_ != context.ContextOuterClass.Event.getDefaultInstance()) {
-                        getEventBuilder().mergeFrom(value);
+                    if (event_ != null) {
+                        event_ = context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial();
                     } else {
                         event_ = value;
                     }
+                    onChanged();
                 } else {
                     eventBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -26375,13 +27459,13 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public Builder clearEvent() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                    onChanged();
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -26389,7 +27473,6 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public context.ContextOuterClass.Event.Builder getEventBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEventFieldBuilder().getBuilder();
             }
@@ -26425,7 +27508,7 @@ public final class ContextOuterClass {
              * @return Whether the linkId field is set.
              */
             public boolean hasLinkId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return linkIdBuilder_ != null || linkId_ != null;
             }
 
             /**
@@ -26449,11 +27532,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     linkId_ = value;
+                    onChanged();
                 } else {
                     linkIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -26463,11 +27545,10 @@ public final class ContextOuterClass {
             public Builder setLinkId(context.ContextOuterClass.LinkId.Builder builderForValue) {
                 if (linkIdBuilder_ == null) {
                     linkId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     linkIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -26476,16 +27557,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeLinkId(context.ContextOuterClass.LinkId value) {
                 if (linkIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && linkId_ != null && linkId_ != context.ContextOuterClass.LinkId.getDefaultInstance()) {
-                        getLinkIdBuilder().mergeFrom(value);
+                    if (linkId_ != null) {
+                        linkId_ = context.ContextOuterClass.LinkId.newBuilder(linkId_).mergeFrom(value).buildPartial();
                     } else {
                         linkId_ = value;
                     }
+                    onChanged();
                 } else {
                     linkIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -26493,13 +27573,13 @@ public final class ContextOuterClass {
              * .context.LinkId link_id = 2;
              */
             public Builder clearLinkId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                linkId_ = null;
-                if (linkIdBuilder_ != null) {
-                    linkIdBuilder_.dispose();
+                if (linkIdBuilder_ == null) {
+                    linkId_ = null;
+                    onChanged();
+                } else {
+                    linkId_ = null;
                     linkIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -26507,7 +27587,6 @@ public final class ContextOuterClass {
              * .context.LinkId link_id = 2;
              */
             public context.ContextOuterClass.LinkId.Builder getLinkIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getLinkIdFieldBuilder().getBuilder();
             }
@@ -26561,17 +27640,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public LinkEvent parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new LinkEvent(input, extensionRegistry);
             }
         };
 
@@ -26654,6 +27723,70 @@ public final class ContextOuterClass {
             return new ServiceId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ServiceId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ContextId.Builder subBuilder = null;
+                                if (contextId_ != null) {
+                                    subBuilder = contextId_.toBuilder();
+                                }
+                                contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(contextId_);
+                                    contextId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (serviceUuid_ != null) {
+                                    subBuilder = serviceUuid_.toBuilder();
+                                }
+                                serviceUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(serviceUuid_);
+                                    serviceUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ServiceId_descriptor;
         }
@@ -26690,7 +27823,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() {
-            return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_;
+            return getContextId();
         }
 
         public static final int SERVICE_UUID_FIELD_NUMBER = 2;
@@ -26720,7 +27853,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getServiceUuidOrBuilder() {
-            return serviceUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : serviceUuid_;
+            return getServiceUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -26744,7 +27877,7 @@ public final class ContextOuterClass {
             if (serviceUuid_ != null) {
                 output.writeMessage(2, getServiceUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -26759,7 +27892,7 @@ public final class ContextOuterClass {
             if (serviceUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getServiceUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -26785,7 +27918,7 @@ public final class ContextOuterClass {
                 if (!getServiceUuid().equals(other.getServiceUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -26805,7 +27938,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SERVICE_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getServiceUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -26903,24 +28036,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ServiceId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
-                serviceUuid_ = null;
-                if (serviceUuidBuilder_ != null) {
-                    serviceUuidBuilder_.dispose();
+                if (serviceUuidBuilder_ == null) {
+                    serviceUuid_ = null;
+                } else {
+                    serviceUuid_ = null;
                     serviceUuidBuilder_ = null;
                 }
                 return this;
@@ -26948,21 +28089,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ServiceId buildPartial() {
                 context.ContextOuterClass.ServiceId result = new context.ContextOuterClass.ServiceId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (contextIdBuilder_ == null) {
+                    result.contextId_ = contextId_;
+                } else {
+                    result.contextId_ = contextIdBuilder_.build();
+                }
+                if (serviceUuidBuilder_ == null) {
+                    result.serviceUuid_ = serviceUuid_;
+                } else {
+                    result.serviceUuid_ = serviceUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ServiceId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.contextId_ = contextIdBuilder_ == null ? contextId_ : contextIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.serviceUuid_ = serviceUuidBuilder_ == null ? serviceUuid_ : serviceUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -26984,7 +28152,7 @@ public final class ContextOuterClass {
                 if (other.hasServiceUuid()) {
                     mergeServiceUuid(other.getServiceUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -26996,54 +28164,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ServiceId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getContextIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getServiceUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ServiceId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.ContextId contextId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 contextIdBuilder_;
@@ -27053,7 +28187,7 @@ public final class ContextOuterClass {
              * @return Whether the contextId field is set.
              */
             public boolean hasContextId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return contextIdBuilder_ != null || contextId_ != null;
             }
 
             /**
@@ -27077,11 +28211,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     contextId_ = value;
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -27091,11 +28224,10 @@ public final class ContextOuterClass {
             public Builder setContextId(context.ContextOuterClass.ContextId.Builder builderForValue) {
                 if (contextIdBuilder_ == null) {
                     contextId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -27104,16 +28236,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeContextId(context.ContextOuterClass.ContextId value) {
                 if (contextIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && contextId_ != null && contextId_ != context.ContextOuterClass.ContextId.getDefaultInstance()) {
-                        getContextIdBuilder().mergeFrom(value);
+                    if (contextId_ != null) {
+                        contextId_ = context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial();
                     } else {
                         contextId_ = value;
                     }
+                    onChanged();
                 } else {
                     contextIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -27121,13 +28252,13 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public Builder clearContextId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                    onChanged();
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -27135,7 +28266,6 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getContextIdFieldBuilder().getBuilder();
             }
@@ -27171,7 +28301,7 @@ public final class ContextOuterClass {
              * @return Whether the serviceUuid field is set.
              */
             public boolean hasServiceUuid() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return serviceUuidBuilder_ != null || serviceUuid_ != null;
             }
 
             /**
@@ -27195,11 +28325,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     serviceUuid_ = value;
+                    onChanged();
                 } else {
                     serviceUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -27209,11 +28338,10 @@ public final class ContextOuterClass {
             public Builder setServiceUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (serviceUuidBuilder_ == null) {
                     serviceUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     serviceUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -27222,16 +28350,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeServiceUuid(context.ContextOuterClass.Uuid value) {
                 if (serviceUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && serviceUuid_ != null && serviceUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getServiceUuidBuilder().mergeFrom(value);
+                    if (serviceUuid_ != null) {
+                        serviceUuid_ = context.ContextOuterClass.Uuid.newBuilder(serviceUuid_).mergeFrom(value).buildPartial();
                     } else {
                         serviceUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     serviceUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -27239,13 +28366,13 @@ public final class ContextOuterClass {
              * .context.Uuid service_uuid = 2;
              */
             public Builder clearServiceUuid() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                serviceUuid_ = null;
-                if (serviceUuidBuilder_ != null) {
-                    serviceUuidBuilder_.dispose();
+                if (serviceUuidBuilder_ == null) {
+                    serviceUuid_ = null;
+                    onChanged();
+                } else {
+                    serviceUuid_ = null;
                     serviceUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -27253,7 +28380,6 @@ public final class ContextOuterClass {
              * .context.Uuid service_uuid = 2;
              */
             public context.ContextOuterClass.Uuid.Builder getServiceUuidBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getServiceUuidFieldBuilder().getBuilder();
             }
@@ -27307,17 +28433,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ServiceId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ServiceId(input, extensionRegistry);
             }
         };
 
@@ -27508,6 +28624,133 @@ public final class ContextOuterClass {
             return new Service();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Service(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ServiceId.Builder subBuilder = null;
+                                if (serviceId_ != null) {
+                                    subBuilder = serviceId_.toBuilder();
+                                }
+                                serviceId_ = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(serviceId_);
+                                    serviceId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 24:
+                            {
+                                int rawValue = input.readEnum();
+                                serviceType_ = rawValue;
+                                break;
+                            }
+                        case 34:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    serviceEndpointIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                serviceEndpointIds_.add(input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 42:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+                                    serviceConstraints_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000002;
+                                }
+                                serviceConstraints_.add(input.readMessage(context.ContextOuterClass.Constraint.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 50:
+                            {
+                                context.ContextOuterClass.ServiceStatus.Builder subBuilder = null;
+                                if (serviceStatus_ != null) {
+                                    subBuilder = serviceStatus_.toBuilder();
+                                }
+                                serviceStatus_ = input.readMessage(context.ContextOuterClass.ServiceStatus.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(serviceStatus_);
+                                    serviceStatus_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 58:
+                            {
+                                context.ContextOuterClass.ServiceConfig.Builder subBuilder = null;
+                                if (serviceConfig_ != null) {
+                                    subBuilder = serviceConfig_.toBuilder();
+                                }
+                                serviceConfig_ = input.readMessage(context.ContextOuterClass.ServiceConfig.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(serviceConfig_);
+                                    serviceConfig_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 66:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (timestamp_ != null) {
+                                    subBuilder = timestamp_.toBuilder();
+                                }
+                                timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(timestamp_);
+                                    timestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    serviceEndpointIds_ = java.util.Collections.unmodifiableList(serviceEndpointIds_);
+                }
+                if (((mutable_bitField0_ & 0x00000002) != 0)) {
+                    serviceConstraints_ = java.util.Collections.unmodifiableList(serviceConstraints_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Service_descriptor;
         }
@@ -27544,13 +28787,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() {
-            return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_;
+            return getServiceId();
         }
 
         public static final int NAME_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 2;
@@ -27587,7 +28829,7 @@ public final class ContextOuterClass {
 
         public static final int SERVICE_TYPE_FIELD_NUMBER = 3;
 
-        private int serviceType_ = 0;
+        private int serviceType_;
 
         /**
          * .context.ServiceTypeEnum service_type = 3;
@@ -27604,13 +28846,13 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ServiceTypeEnum getServiceType() {
-            context.ContextOuterClass.ServiceTypeEnum result = context.ContextOuterClass.ServiceTypeEnum.forNumber(serviceType_);
+            @SuppressWarnings("deprecation")
+            context.ContextOuterClass.ServiceTypeEnum result = context.ContextOuterClass.ServiceTypeEnum.valueOf(serviceType_);
             return result == null ? context.ContextOuterClass.ServiceTypeEnum.UNRECOGNIZED : result;
         }
 
         public static final int SERVICE_ENDPOINT_IDS_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
         private java.util.List serviceEndpointIds_;
 
         /**
@@ -27655,7 +28897,6 @@ public final class ContextOuterClass {
 
         public static final int SERVICE_CONSTRAINTS_FIELD_NUMBER = 5;
 
-        @SuppressWarnings("serial")
         private java.util.List serviceConstraints_;
 
         /**
@@ -27725,7 +28966,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ServiceStatusOrBuilder getServiceStatusOrBuilder() {
-            return serviceStatus_ == null ? context.ContextOuterClass.ServiceStatus.getDefaultInstance() : serviceStatus_;
+            return getServiceStatus();
         }
 
         public static final int SERVICE_CONFIG_FIELD_NUMBER = 7;
@@ -27755,7 +28996,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ServiceConfigOrBuilder getServiceConfigOrBuilder() {
-            return serviceConfig_ == null ? context.ContextOuterClass.ServiceConfig.getDefaultInstance() : serviceConfig_;
+            return getServiceConfig();
         }
 
         public static final int TIMESTAMP_FIELD_NUMBER = 8;
@@ -27785,7 +29026,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() {
-            return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_;
+            return getTimestamp();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -27806,7 +29047,7 @@ public final class ContextOuterClass {
             if (serviceId_ != null) {
                 output.writeMessage(1, getServiceId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
             }
             if (serviceType_ != context.ContextOuterClass.ServiceTypeEnum.SERVICETYPE_UNKNOWN.getNumber()) {
@@ -27827,7 +29068,7 @@ public final class ContextOuterClass {
             if (timestamp_ != null) {
                 output.writeMessage(8, getTimestamp());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -27839,7 +29080,7 @@ public final class ContextOuterClass {
             if (serviceId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getServiceId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
             }
             if (serviceType_ != context.ContextOuterClass.ServiceTypeEnum.SERVICETYPE_UNKNOWN.getNumber()) {
@@ -27860,7 +29101,7 @@ public final class ContextOuterClass {
             if (timestamp_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, getTimestamp());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -27906,7 +29147,7 @@ public final class ContextOuterClass {
                 if (!getTimestamp().equals(other.getTimestamp()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -27946,7 +29187,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
                 hash = (53 * hash) + getTimestamp().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -28040,50 +29281,60 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Service.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getServiceEndpointIdsFieldBuilder();
+                    getServiceConstraintsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                serviceId_ = null;
-                if (serviceIdBuilder_ != null) {
-                    serviceIdBuilder_.dispose();
+                if (serviceIdBuilder_ == null) {
+                    serviceId_ = null;
+                } else {
+                    serviceId_ = null;
                     serviceIdBuilder_ = null;
                 }
                 name_ = "";
                 serviceType_ = 0;
                 if (serviceEndpointIdsBuilder_ == null) {
                     serviceEndpointIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    serviceEndpointIds_ = null;
                     serviceEndpointIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000008);
                 if (serviceConstraintsBuilder_ == null) {
                     serviceConstraints_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000002);
                 } else {
-                    serviceConstraints_ = null;
                     serviceConstraintsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000010);
-                serviceStatus_ = null;
-                if (serviceStatusBuilder_ != null) {
-                    serviceStatusBuilder_.dispose();
+                if (serviceStatusBuilder_ == null) {
+                    serviceStatus_ = null;
+                } else {
+                    serviceStatus_ = null;
                     serviceStatusBuilder_ = null;
                 }
-                serviceConfig_ = null;
-                if (serviceConfigBuilder_ != null) {
-                    serviceConfigBuilder_.dispose();
+                if (serviceConfigBuilder_ == null) {
+                    serviceConfig_ = null;
+                } else {
+                    serviceConfig_ = null;
                     serviceConfigBuilder_ = null;
                 }
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
                 return this;
@@ -28111,55 +29362,79 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Service buildPartial() {
                 context.ContextOuterClass.Service result = new context.ContextOuterClass.Service(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (serviceIdBuilder_ == null) {
+                    result.serviceId_ = serviceId_;
+                } else {
+                    result.serviceId_ = serviceIdBuilder_.build();
                 }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.Service result) {
+                result.name_ = name_;
+                result.serviceType_ = serviceType_;
                 if (serviceEndpointIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         serviceEndpointIds_ = java.util.Collections.unmodifiableList(serviceEndpointIds_);
-                        bitField0_ = (bitField0_ & ~0x00000008);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.serviceEndpointIds_ = serviceEndpointIds_;
                 } else {
                     result.serviceEndpointIds_ = serviceEndpointIdsBuilder_.build();
                 }
                 if (serviceConstraintsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000010) != 0)) {
+                    if (((bitField0_ & 0x00000002) != 0)) {
                         serviceConstraints_ = java.util.Collections.unmodifiableList(serviceConstraints_);
-                        bitField0_ = (bitField0_ & ~0x00000010);
+                        bitField0_ = (bitField0_ & ~0x00000002);
                     }
                     result.serviceConstraints_ = serviceConstraints_;
                 } else {
                     result.serviceConstraints_ = serviceConstraintsBuilder_.build();
                 }
-            }
-
-            private void buildPartial0(context.ContextOuterClass.Service result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.serviceId_ = serviceIdBuilder_ == null ? serviceId_ : serviceIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.name_ = name_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.serviceType_ = serviceType_;
-                }
-                if (((from_bitField0_ & 0x00000020) != 0)) {
-                    result.serviceStatus_ = serviceStatusBuilder_ == null ? serviceStatus_ : serviceStatusBuilder_.build();
+                if (serviceStatusBuilder_ == null) {
+                    result.serviceStatus_ = serviceStatus_;
+                } else {
+                    result.serviceStatus_ = serviceStatusBuilder_.build();
                 }
-                if (((from_bitField0_ & 0x00000040) != 0)) {
-                    result.serviceConfig_ = serviceConfigBuilder_ == null ? serviceConfig_ : serviceConfigBuilder_.build();
+                if (serviceConfigBuilder_ == null) {
+                    result.serviceConfig_ = serviceConfig_;
+                } else {
+                    result.serviceConfig_ = serviceConfigBuilder_.build();
                 }
-                if (((from_bitField0_ & 0x00000080) != 0)) {
-                    result.timestamp_ = timestampBuilder_ == null ? timestamp_ : timestampBuilder_.build();
+                if (timestampBuilder_ == null) {
+                    result.timestamp_ = timestamp_;
+                } else {
+                    result.timestamp_ = timestampBuilder_.build();
                 }
+                onBuilt();
+                return result;
+            }
+
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -28180,7 +29455,6 @@ public final class ContextOuterClass {
                 }
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (other.serviceType_ != 0) {
@@ -28190,7 +29464,7 @@ public final class ContextOuterClass {
                     if (!other.serviceEndpointIds_.isEmpty()) {
                         if (serviceEndpointIds_.isEmpty()) {
                             serviceEndpointIds_ = other.serviceEndpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureServiceEndpointIdsIsMutable();
                             serviceEndpointIds_.addAll(other.serviceEndpointIds_);
@@ -28203,7 +29477,7 @@ public final class ContextOuterClass {
                             serviceEndpointIdsBuilder_.dispose();
                             serviceEndpointIdsBuilder_ = null;
                             serviceEndpointIds_ = other.serviceEndpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             serviceEndpointIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getServiceEndpointIdsFieldBuilder() : null;
                         } else {
                             serviceEndpointIdsBuilder_.addAllMessages(other.serviceEndpointIds_);
@@ -28214,7 +29488,7 @@ public final class ContextOuterClass {
                     if (!other.serviceConstraints_.isEmpty()) {
                         if (serviceConstraints_.isEmpty()) {
                             serviceConstraints_ = other.serviceConstraints_;
-                            bitField0_ = (bitField0_ & ~0x00000010);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                         } else {
                             ensureServiceConstraintsIsMutable();
                             serviceConstraints_.addAll(other.serviceConstraints_);
@@ -28227,7 +29501,7 @@ public final class ContextOuterClass {
                             serviceConstraintsBuilder_.dispose();
                             serviceConstraintsBuilder_ = null;
                             serviceConstraints_ = other.serviceConstraints_;
-                            bitField0_ = (bitField0_ & ~0x00000010);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                             serviceConstraintsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getServiceConstraintsFieldBuilder() : null;
                         } else {
                             serviceConstraintsBuilder_.addAllMessages(other.serviceConstraints_);
@@ -28243,7 +29517,7 @@ public final class ContextOuterClass {
                 if (other.hasTimestamp()) {
                     mergeTimestamp(other.getTimestamp());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -28255,101 +29529,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Service parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getServiceIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 24:
-                                {
-                                    serviceType_ = input.readEnum();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 34:
-                                {
-                                    context.ContextOuterClass.EndPointId m = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
-                                    if (serviceEndpointIdsBuilder_ == null) {
-                                        ensureServiceEndpointIdsIsMutable();
-                                        serviceEndpointIds_.add(m);
-                                    } else {
-                                        serviceEndpointIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    context.ContextOuterClass.Constraint m = input.readMessage(context.ContextOuterClass.Constraint.parser(), extensionRegistry);
-                                    if (serviceConstraintsBuilder_ == null) {
-                                        ensureServiceConstraintsIsMutable();
-                                        serviceConstraints_.add(m);
-                                    } else {
-                                        serviceConstraintsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 42
-                            case 50:
-                                {
-                                    input.readMessage(getServiceStatusFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000020;
-                                    break;
-                                }
-                            // case 50
-                            case 58:
-                                {
-                                    input.readMessage(getServiceConfigFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000040;
-                                    break;
-                                }
-                            // case 58
-                            case 66:
-                                {
-                                    input.readMessage(getTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000080;
-                                    break;
-                                }
-                            // case 66
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Service) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -28364,7 +29554,7 @@ public final class ContextOuterClass {
              * @return Whether the serviceId field is set.
              */
             public boolean hasServiceId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return serviceIdBuilder_ != null || serviceId_ != null;
             }
 
             /**
@@ -28388,11 +29578,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     serviceId_ = value;
+                    onChanged();
                 } else {
                     serviceIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -28402,11 +29591,10 @@ public final class ContextOuterClass {
             public Builder setServiceId(context.ContextOuterClass.ServiceId.Builder builderForValue) {
                 if (serviceIdBuilder_ == null) {
                     serviceId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     serviceIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -28415,16 +29603,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeServiceId(context.ContextOuterClass.ServiceId value) {
                 if (serviceIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && serviceId_ != null && serviceId_ != context.ContextOuterClass.ServiceId.getDefaultInstance()) {
-                        getServiceIdBuilder().mergeFrom(value);
+                    if (serviceId_ != null) {
+                        serviceId_ = context.ContextOuterClass.ServiceId.newBuilder(serviceId_).mergeFrom(value).buildPartial();
                     } else {
                         serviceId_ = value;
                     }
+                    onChanged();
                 } else {
                     serviceIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -28432,13 +29619,13 @@ public final class ContextOuterClass {
              * .context.ServiceId service_id = 1;
              */
             public Builder clearServiceId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                serviceId_ = null;
-                if (serviceIdBuilder_ != null) {
-                    serviceIdBuilder_.dispose();
+                if (serviceIdBuilder_ == null) {
+                    serviceId_ = null;
+                    onChanged();
+                } else {
+                    serviceId_ = null;
                     serviceIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -28446,7 +29633,6 @@ public final class ContextOuterClass {
              * .context.ServiceId service_id = 1;
              */
             public context.ContextOuterClass.ServiceId.Builder getServiceIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getServiceIdFieldBuilder().getBuilder();
             }
@@ -28516,7 +29702,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -28527,7 +29712,6 @@ public final class ContextOuterClass {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -28543,7 +29727,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -28566,7 +29749,6 @@ public final class ContextOuterClass {
              */
             public Builder setServiceTypeValue(int value) {
                 serviceType_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -28577,7 +29759,8 @@ public final class ContextOuterClass {
              */
             @java.lang.Override
             public context.ContextOuterClass.ServiceTypeEnum getServiceType() {
-                context.ContextOuterClass.ServiceTypeEnum result = context.ContextOuterClass.ServiceTypeEnum.forNumber(serviceType_);
+                @SuppressWarnings("deprecation")
+                context.ContextOuterClass.ServiceTypeEnum result = context.ContextOuterClass.ServiceTypeEnum.valueOf(serviceType_);
                 return result == null ? context.ContextOuterClass.ServiceTypeEnum.UNRECOGNIZED : result;
             }
 
@@ -28590,7 +29773,6 @@ public final class ContextOuterClass {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000004;
                 serviceType_ = value.getNumber();
                 onChanged();
                 return this;
@@ -28601,7 +29783,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearServiceType() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 serviceType_ = 0;
                 onChanged();
                 return this;
@@ -28610,9 +29791,9 @@ public final class ContextOuterClass {
             private java.util.List serviceEndpointIds_ = java.util.Collections.emptyList();
 
             private void ensureServiceEndpointIdsIsMutable() {
-                if (!((bitField0_ & 0x00000008) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     serviceEndpointIds_ = new java.util.ArrayList(serviceEndpointIds_);
-                    bitField0_ |= 0x00000008;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -28764,7 +29945,7 @@ public final class ContextOuterClass {
             public Builder clearServiceEndpointIds() {
                 if (serviceEndpointIdsBuilder_ == null) {
                     serviceEndpointIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000008);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     serviceEndpointIdsBuilder_.clear();
@@ -28838,7 +30019,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getServiceEndpointIdsFieldBuilder() {
                 if (serviceEndpointIdsBuilder_ == null) {
-                    serviceEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(serviceEndpointIds_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
+                    serviceEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(serviceEndpointIds_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     serviceEndpointIds_ = null;
                 }
                 return serviceEndpointIdsBuilder_;
@@ -28847,9 +30028,9 @@ public final class ContextOuterClass {
             private java.util.List serviceConstraints_ = java.util.Collections.emptyList();
 
             private void ensureServiceConstraintsIsMutable() {
-                if (!((bitField0_ & 0x00000010) != 0)) {
+                if (!((bitField0_ & 0x00000002) != 0)) {
                     serviceConstraints_ = new java.util.ArrayList(serviceConstraints_);
-                    bitField0_ |= 0x00000010;
+                    bitField0_ |= 0x00000002;
                 }
             }
 
@@ -29001,7 +30182,7 @@ public final class ContextOuterClass {
             public Builder clearServiceConstraints() {
                 if (serviceConstraintsBuilder_ == null) {
                     serviceConstraints_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000010);
+                    bitField0_ = (bitField0_ & ~0x00000002);
                     onChanged();
                 } else {
                     serviceConstraintsBuilder_.clear();
@@ -29075,7 +30256,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getServiceConstraintsFieldBuilder() {
                 if (serviceConstraintsBuilder_ == null) {
-                    serviceConstraintsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(serviceConstraints_, ((bitField0_ & 0x00000010) != 0), getParentForChildren(), isClean());
+                    serviceConstraintsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(serviceConstraints_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
                     serviceConstraints_ = null;
                 }
                 return serviceConstraintsBuilder_;
@@ -29090,7 +30271,7 @@ public final class ContextOuterClass {
              * @return Whether the serviceStatus field is set.
              */
             public boolean hasServiceStatus() {
-                return ((bitField0_ & 0x00000020) != 0);
+                return serviceStatusBuilder_ != null || serviceStatus_ != null;
             }
 
             /**
@@ -29114,11 +30295,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     serviceStatus_ = value;
+                    onChanged();
                 } else {
                     serviceStatusBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -29128,11 +30308,10 @@ public final class ContextOuterClass {
             public Builder setServiceStatus(context.ContextOuterClass.ServiceStatus.Builder builderForValue) {
                 if (serviceStatusBuilder_ == null) {
                     serviceStatus_ = builderForValue.build();
+                    onChanged();
                 } else {
                     serviceStatusBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -29141,16 +30320,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeServiceStatus(context.ContextOuterClass.ServiceStatus value) {
                 if (serviceStatusBuilder_ == null) {
-                    if (((bitField0_ & 0x00000020) != 0) && serviceStatus_ != null && serviceStatus_ != context.ContextOuterClass.ServiceStatus.getDefaultInstance()) {
-                        getServiceStatusBuilder().mergeFrom(value);
+                    if (serviceStatus_ != null) {
+                        serviceStatus_ = context.ContextOuterClass.ServiceStatus.newBuilder(serviceStatus_).mergeFrom(value).buildPartial();
                     } else {
                         serviceStatus_ = value;
                     }
+                    onChanged();
                 } else {
                     serviceStatusBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -29158,13 +30336,13 @@ public final class ContextOuterClass {
              * .context.ServiceStatus service_status = 6;
              */
             public Builder clearServiceStatus() {
-                bitField0_ = (bitField0_ & ~0x00000020);
-                serviceStatus_ = null;
-                if (serviceStatusBuilder_ != null) {
-                    serviceStatusBuilder_.dispose();
+                if (serviceStatusBuilder_ == null) {
+                    serviceStatus_ = null;
+                    onChanged();
+                } else {
+                    serviceStatus_ = null;
                     serviceStatusBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -29172,7 +30350,6 @@ public final class ContextOuterClass {
              * .context.ServiceStatus service_status = 6;
              */
             public context.ContextOuterClass.ServiceStatus.Builder getServiceStatusBuilder() {
-                bitField0_ |= 0x00000020;
                 onChanged();
                 return getServiceStatusFieldBuilder().getBuilder();
             }
@@ -29208,7 +30385,7 @@ public final class ContextOuterClass {
              * @return Whether the serviceConfig field is set.
              */
             public boolean hasServiceConfig() {
-                return ((bitField0_ & 0x00000040) != 0);
+                return serviceConfigBuilder_ != null || serviceConfig_ != null;
             }
 
             /**
@@ -29232,11 +30409,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     serviceConfig_ = value;
+                    onChanged();
                 } else {
                     serviceConfigBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000040;
-                onChanged();
                 return this;
             }
 
@@ -29246,11 +30422,10 @@ public final class ContextOuterClass {
             public Builder setServiceConfig(context.ContextOuterClass.ServiceConfig.Builder builderForValue) {
                 if (serviceConfigBuilder_ == null) {
                     serviceConfig_ = builderForValue.build();
+                    onChanged();
                 } else {
                     serviceConfigBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000040;
-                onChanged();
                 return this;
             }
 
@@ -29259,16 +30434,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeServiceConfig(context.ContextOuterClass.ServiceConfig value) {
                 if (serviceConfigBuilder_ == null) {
-                    if (((bitField0_ & 0x00000040) != 0) && serviceConfig_ != null && serviceConfig_ != context.ContextOuterClass.ServiceConfig.getDefaultInstance()) {
-                        getServiceConfigBuilder().mergeFrom(value);
+                    if (serviceConfig_ != null) {
+                        serviceConfig_ = context.ContextOuterClass.ServiceConfig.newBuilder(serviceConfig_).mergeFrom(value).buildPartial();
                     } else {
                         serviceConfig_ = value;
                     }
+                    onChanged();
                 } else {
                     serviceConfigBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000040;
-                onChanged();
                 return this;
             }
 
@@ -29276,13 +30450,13 @@ public final class ContextOuterClass {
              * .context.ServiceConfig service_config = 7;
              */
             public Builder clearServiceConfig() {
-                bitField0_ = (bitField0_ & ~0x00000040);
-                serviceConfig_ = null;
-                if (serviceConfigBuilder_ != null) {
-                    serviceConfigBuilder_.dispose();
+                if (serviceConfigBuilder_ == null) {
+                    serviceConfig_ = null;
+                    onChanged();
+                } else {
+                    serviceConfig_ = null;
                     serviceConfigBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -29290,7 +30464,6 @@ public final class ContextOuterClass {
              * .context.ServiceConfig service_config = 7;
              */
             public context.ContextOuterClass.ServiceConfig.Builder getServiceConfigBuilder() {
-                bitField0_ |= 0x00000040;
                 onChanged();
                 return getServiceConfigFieldBuilder().getBuilder();
             }
@@ -29326,7 +30499,7 @@ public final class ContextOuterClass {
              * @return Whether the timestamp field is set.
              */
             public boolean hasTimestamp() {
-                return ((bitField0_ & 0x00000080) != 0);
+                return timestampBuilder_ != null || timestamp_ != null;
             }
 
             /**
@@ -29350,11 +30523,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     timestamp_ = value;
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000080;
-                onChanged();
                 return this;
             }
 
@@ -29364,11 +30536,10 @@ public final class ContextOuterClass {
             public Builder setTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (timestampBuilder_ == null) {
                     timestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000080;
-                onChanged();
                 return this;
             }
 
@@ -29377,16 +30548,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (timestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000080) != 0) && timestamp_ != null && timestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getTimestampBuilder().mergeFrom(value);
+                    if (timestamp_ != null) {
+                        timestamp_ = context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial();
                     } else {
                         timestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     timestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000080;
-                onChanged();
                 return this;
             }
 
@@ -29394,13 +30564,13 @@ public final class ContextOuterClass {
              * .context.Timestamp timestamp = 8;
              */
             public Builder clearTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000080);
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                    onChanged();
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -29408,7 +30578,6 @@ public final class ContextOuterClass {
              * .context.Timestamp timestamp = 8;
              */
             public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() {
-                bitField0_ |= 0x00000080;
                 onChanged();
                 return getTimestampFieldBuilder().getBuilder();
             }
@@ -29462,17 +30631,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Service parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Service(input, extensionRegistry);
             }
         };
 
@@ -29530,6 +30689,50 @@ public final class ContextOuterClass {
             return new ServiceStatus();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ServiceStatus(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                int rawValue = input.readEnum();
+                                serviceStatus_ = rawValue;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ServiceStatus_descriptor;
         }
@@ -29541,7 +30744,7 @@ public final class ContextOuterClass {
 
         public static final int SERVICE_STATUS_FIELD_NUMBER = 1;
 
-        private int serviceStatus_ = 0;
+        private int serviceStatus_;
 
         /**
          * .context.ServiceStatusEnum service_status = 1;
@@ -29558,7 +30761,8 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ServiceStatusEnum getServiceStatus() {
-            context.ContextOuterClass.ServiceStatusEnum result = context.ContextOuterClass.ServiceStatusEnum.forNumber(serviceStatus_);
+            @SuppressWarnings("deprecation")
+            context.ContextOuterClass.ServiceStatusEnum result = context.ContextOuterClass.ServiceStatusEnum.valueOf(serviceStatus_);
             return result == null ? context.ContextOuterClass.ServiceStatusEnum.UNRECOGNIZED : result;
         }
 
@@ -29580,7 +30784,7 @@ public final class ContextOuterClass {
             if (serviceStatus_ != context.ContextOuterClass.ServiceStatusEnum.SERVICESTATUS_UNDEFINED.getNumber()) {
                 output.writeEnum(1, serviceStatus_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -29592,7 +30796,7 @@ public final class ContextOuterClass {
             if (serviceStatus_ != context.ContextOuterClass.ServiceStatusEnum.SERVICESTATUS_UNDEFINED.getNumber()) {
                 size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, serviceStatus_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -29608,7 +30812,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.ServiceStatus other = (context.ContextOuterClass.ServiceStatus) obj;
             if (serviceStatus_ != other.serviceStatus_)
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -29622,7 +30826,7 @@ public final class ContextOuterClass {
             hash = (19 * hash) + getDescriptor().hashCode();
             hash = (37 * hash) + SERVICE_STATUS_FIELD_NUMBER;
             hash = (53 * hash) + serviceStatus_;
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -29716,16 +30920,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ServiceStatus.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 serviceStatus_ = 0;
                 return this;
             }
@@ -29752,18 +30962,39 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ServiceStatus buildPartial() {
                 context.ContextOuterClass.ServiceStatus result = new context.ContextOuterClass.ServiceStatus(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.serviceStatus_ = serviceStatus_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ServiceStatus result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.serviceStatus_ = serviceStatus_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -29782,7 +31013,7 @@ public final class ContextOuterClass {
                 if (other.serviceStatus_ != 0) {
                     setServiceStatusValue(other.getServiceStatusValue());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -29794,47 +31025,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ServiceStatus parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    serviceStatus_ = input.readEnum();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ServiceStatus) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private int serviceStatus_ = 0;
 
             /**
@@ -29853,7 +31057,6 @@ public final class ContextOuterClass {
              */
             public Builder setServiceStatusValue(int value) {
                 serviceStatus_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -29864,7 +31067,8 @@ public final class ContextOuterClass {
              */
             @java.lang.Override
             public context.ContextOuterClass.ServiceStatusEnum getServiceStatus() {
-                context.ContextOuterClass.ServiceStatusEnum result = context.ContextOuterClass.ServiceStatusEnum.forNumber(serviceStatus_);
+                @SuppressWarnings("deprecation")
+                context.ContextOuterClass.ServiceStatusEnum result = context.ContextOuterClass.ServiceStatusEnum.valueOf(serviceStatus_);
                 return result == null ? context.ContextOuterClass.ServiceStatusEnum.UNRECOGNIZED : result;
             }
 
@@ -29877,7 +31081,6 @@ public final class ContextOuterClass {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000001;
                 serviceStatus_ = value.getNumber();
                 onChanged();
                 return this;
@@ -29888,7 +31091,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearServiceStatus() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 serviceStatus_ = 0;
                 onChanged();
                 return this;
@@ -29921,17 +31123,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ServiceStatus parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ServiceStatus(input, extensionRegistry);
             }
         };
 
@@ -30002,6 +31194,57 @@ public final class ContextOuterClass {
             return new ServiceConfig();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ServiceConfig(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    configRules_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                configRules_.add(input.readMessage(context.ContextOuterClass.ConfigRule.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    configRules_ = java.util.Collections.unmodifiableList(configRules_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ServiceConfig_descriptor;
         }
@@ -30013,7 +31256,6 @@ public final class ContextOuterClass {
 
         public static final int CONFIG_RULES_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List configRules_;
 
         /**
@@ -30074,7 +31316,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < configRules_.size(); i++) {
                 output.writeMessage(1, configRules_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -30086,7 +31328,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < configRules_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, configRules_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -30102,7 +31344,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.ServiceConfig other = (context.ContextOuterClass.ServiceConfig) obj;
             if (!getConfigRulesList().equals(other.getConfigRulesList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -30118,7 +31360,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONFIG_RULES_FIELD_NUMBER;
                 hash = (53 * hash) + getConfigRulesList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -30212,23 +31454,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ServiceConfig.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getConfigRulesFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (configRulesBuilder_ == null) {
                     configRules_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    configRules_ = null;
                     configRulesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -30254,15 +31502,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ServiceConfig buildPartial() {
                 context.ContextOuterClass.ServiceConfig result = new context.ContextOuterClass.ServiceConfig(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.ServiceConfig result) {
+                int from_bitField0_ = bitField0_;
                 if (configRulesBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         configRules_ = java.util.Collections.unmodifiableList(configRules_);
@@ -30272,10 +31512,38 @@ public final class ContextOuterClass {
                 } else {
                     result.configRules_ = configRulesBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ServiceConfig result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -30315,7 +31583,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -30327,47 +31595,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ServiceConfig parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.ConfigRule m = input.readMessage(context.ContextOuterClass.ConfigRule.parser(), extensionRegistry);
-                                    if (configRulesBuilder_ == null) {
-                                        ensureConfigRulesIsMutable();
-                                        configRules_.add(m);
-                                    } else {
-                                        configRulesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ServiceConfig) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -30637,17 +31875,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ServiceConfig parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ServiceConfig(input, extensionRegistry);
             }
         };
 
@@ -30718,6 +31946,57 @@ public final class ContextOuterClass {
             return new ServiceIdList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ServiceIdList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    serviceIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                serviceIds_.add(input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    serviceIds_ = java.util.Collections.unmodifiableList(serviceIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ServiceIdList_descriptor;
         }
@@ -30729,7 +32008,6 @@ public final class ContextOuterClass {
 
         public static final int SERVICE_IDS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List serviceIds_;
 
         /**
@@ -30790,7 +32068,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < serviceIds_.size(); i++) {
                 output.writeMessage(1, serviceIds_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -30802,7 +32080,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < serviceIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, serviceIds_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -30818,7 +32096,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.ServiceIdList other = (context.ContextOuterClass.ServiceIdList) obj;
             if (!getServiceIdsList().equals(other.getServiceIdsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -30834,7 +32112,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SERVICE_IDS_FIELD_NUMBER;
                 hash = (53 * hash) + getServiceIdsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -30928,23 +32206,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ServiceIdList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getServiceIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (serviceIdsBuilder_ == null) {
                     serviceIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    serviceIds_ = null;
                     serviceIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -30970,15 +32254,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ServiceIdList buildPartial() {
                 context.ContextOuterClass.ServiceIdList result = new context.ContextOuterClass.ServiceIdList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.ServiceIdList result) {
+                int from_bitField0_ = bitField0_;
                 if (serviceIdsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         serviceIds_ = java.util.Collections.unmodifiableList(serviceIds_);
@@ -30988,10 +32264,38 @@ public final class ContextOuterClass {
                 } else {
                     result.serviceIds_ = serviceIdsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ServiceIdList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -31031,7 +32335,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -31043,47 +32347,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ServiceIdList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.ServiceId m = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry);
-                                    if (serviceIdsBuilder_ == null) {
-                                        ensureServiceIdsIsMutable();
-                                        serviceIds_.add(m);
-                                    } else {
-                                        serviceIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ServiceIdList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -31353,17 +32627,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ServiceIdList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ServiceIdList(input, extensionRegistry);
             }
         };
 
@@ -31434,6 +32698,57 @@ public final class ContextOuterClass {
             return new ServiceList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ServiceList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    services_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                services_.add(input.readMessage(context.ContextOuterClass.Service.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    services_ = java.util.Collections.unmodifiableList(services_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ServiceList_descriptor;
         }
@@ -31445,7 +32760,6 @@ public final class ContextOuterClass {
 
         public static final int SERVICES_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List services_;
 
         /**
@@ -31506,7 +32820,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < services_.size(); i++) {
                 output.writeMessage(1, services_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -31518,7 +32832,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < services_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, services_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -31534,7 +32848,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.ServiceList other = (context.ContextOuterClass.ServiceList) obj;
             if (!getServicesList().equals(other.getServicesList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -31550,7 +32864,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SERVICES_FIELD_NUMBER;
                 hash = (53 * hash) + getServicesList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -31644,23 +32958,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ServiceList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getServicesFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (servicesBuilder_ == null) {
                     services_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    services_ = null;
                     servicesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -31686,15 +33006,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ServiceList buildPartial() {
                 context.ContextOuterClass.ServiceList result = new context.ContextOuterClass.ServiceList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.ServiceList result) {
+                int from_bitField0_ = bitField0_;
                 if (servicesBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         services_ = java.util.Collections.unmodifiableList(services_);
@@ -31704,10 +33016,38 @@ public final class ContextOuterClass {
                 } else {
                     result.services_ = servicesBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ServiceList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -31747,7 +33087,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -31759,47 +33099,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ServiceList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.Service m = input.readMessage(context.ContextOuterClass.Service.parser(), extensionRegistry);
-                                    if (servicesBuilder_ == null) {
-                                        ensureServicesIsMutable();
-                                        services_.add(m);
-                                    } else {
-                                        servicesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ServiceList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -32069,17 +33379,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ServiceList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ServiceList(input, extensionRegistry);
             }
         };
 
@@ -32159,6 +33459,72 @@ public final class ContextOuterClass {
             return new ServiceFilter();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ServiceFilter(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ServiceIdList.Builder subBuilder = null;
+                                if (serviceIds_ != null) {
+                                    subBuilder = serviceIds_.toBuilder();
+                                }
+                                serviceIds_ = input.readMessage(context.ContextOuterClass.ServiceIdList.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(serviceIds_);
+                                    serviceIds_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 16:
+                            {
+                                includeEndpointIds_ = input.readBool();
+                                break;
+                            }
+                        case 24:
+                            {
+                                includeConstraints_ = input.readBool();
+                                break;
+                            }
+                        case 32:
+                            {
+                                includeConfigRules_ = input.readBool();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ServiceFilter_descriptor;
         }
@@ -32195,12 +33561,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ServiceIdListOrBuilder getServiceIdsOrBuilder() {
-            return serviceIds_ == null ? context.ContextOuterClass.ServiceIdList.getDefaultInstance() : serviceIds_;
+            return getServiceIds();
         }
 
         public static final int INCLUDE_ENDPOINT_IDS_FIELD_NUMBER = 2;
 
-        private boolean includeEndpointIds_ = false;
+        private boolean includeEndpointIds_;
 
         /**
          * bool include_endpoint_ids = 2;
@@ -32213,7 +33579,7 @@ public final class ContextOuterClass {
 
         public static final int INCLUDE_CONSTRAINTS_FIELD_NUMBER = 3;
 
-        private boolean includeConstraints_ = false;
+        private boolean includeConstraints_;
 
         /**
          * bool include_constraints = 3;
@@ -32226,7 +33592,7 @@ public final class ContextOuterClass {
 
         public static final int INCLUDE_CONFIG_RULES_FIELD_NUMBER = 4;
 
-        private boolean includeConfigRules_ = false;
+        private boolean includeConfigRules_;
 
         /**
          * bool include_config_rules = 4;
@@ -32264,7 +33630,7 @@ public final class ContextOuterClass {
             if (includeConfigRules_ != false) {
                 output.writeBool(4, includeConfigRules_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -32285,7 +33651,7 @@ public final class ContextOuterClass {
             if (includeConfigRules_ != false) {
                 size += com.google.protobuf.CodedOutputStream.computeBoolSize(4, includeConfigRules_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -32311,7 +33677,7 @@ public final class ContextOuterClass {
                 return false;
             if (getIncludeConfigRules() != other.getIncludeConfigRules())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -32333,7 +33699,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIncludeConstraints());
             hash = (37 * hash) + INCLUDE_CONFIG_RULES_FIELD_NUMBER;
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIncludeConfigRules());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -32427,19 +33793,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ServiceFilter.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                serviceIds_ = null;
-                if (serviceIdsBuilder_ != null) {
-                    serviceIdsBuilder_.dispose();
+                if (serviceIdsBuilder_ == null) {
+                    serviceIds_ = null;
+                } else {
+                    serviceIds_ = null;
                     serviceIdsBuilder_ = null;
                 }
                 includeEndpointIds_ = false;
@@ -32470,27 +33843,46 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ServiceFilter buildPartial() {
                 context.ContextOuterClass.ServiceFilter result = new context.ContextOuterClass.ServiceFilter(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (serviceIdsBuilder_ == null) {
+                    result.serviceIds_ = serviceIds_;
+                } else {
+                    result.serviceIds_ = serviceIdsBuilder_.build();
                 }
+                result.includeEndpointIds_ = includeEndpointIds_;
+                result.includeConstraints_ = includeConstraints_;
+                result.includeConfigRules_ = includeConfigRules_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ServiceFilter result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.serviceIds_ = serviceIdsBuilder_ == null ? serviceIds_ : serviceIdsBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.includeEndpointIds_ = includeEndpointIds_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.includeConstraints_ = includeConstraints_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.includeConfigRules_ = includeConfigRules_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -32518,7 +33910,7 @@ public final class ContextOuterClass {
                 if (other.getIncludeConfigRules() != false) {
                     setIncludeConfigRules(other.getIncludeConfigRules());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -32530,68 +33922,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ServiceFilter parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getServiceIdsFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 16:
-                                {
-                                    includeEndpointIds_ = input.readBool();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            case 24:
-                                {
-                                    includeConstraints_ = input.readBool();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 32:
-                                {
-                                    includeConfigRules_ = input.readBool();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 32
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ServiceFilter) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.ServiceIdList serviceIds_;
 
             private com.google.protobuf.SingleFieldBuilderV3 serviceIdsBuilder_;
@@ -32601,7 +33945,7 @@ public final class ContextOuterClass {
              * @return Whether the serviceIds field is set.
              */
             public boolean hasServiceIds() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return serviceIdsBuilder_ != null || serviceIds_ != null;
             }
 
             /**
@@ -32625,11 +33969,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     serviceIds_ = value;
+                    onChanged();
                 } else {
                     serviceIdsBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -32639,11 +33982,10 @@ public final class ContextOuterClass {
             public Builder setServiceIds(context.ContextOuterClass.ServiceIdList.Builder builderForValue) {
                 if (serviceIdsBuilder_ == null) {
                     serviceIds_ = builderForValue.build();
+                    onChanged();
                 } else {
                     serviceIdsBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -32652,16 +33994,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeServiceIds(context.ContextOuterClass.ServiceIdList value) {
                 if (serviceIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && serviceIds_ != null && serviceIds_ != context.ContextOuterClass.ServiceIdList.getDefaultInstance()) {
-                        getServiceIdsBuilder().mergeFrom(value);
+                    if (serviceIds_ != null) {
+                        serviceIds_ = context.ContextOuterClass.ServiceIdList.newBuilder(serviceIds_).mergeFrom(value).buildPartial();
                     } else {
                         serviceIds_ = value;
                     }
+                    onChanged();
                 } else {
                     serviceIdsBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -32669,13 +34010,13 @@ public final class ContextOuterClass {
              * .context.ServiceIdList service_ids = 1;
              */
             public Builder clearServiceIds() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                serviceIds_ = null;
-                if (serviceIdsBuilder_ != null) {
-                    serviceIdsBuilder_.dispose();
+                if (serviceIdsBuilder_ == null) {
+                    serviceIds_ = null;
+                    onChanged();
+                } else {
+                    serviceIds_ = null;
                     serviceIdsBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -32683,7 +34024,6 @@ public final class ContextOuterClass {
              * .context.ServiceIdList service_ids = 1;
              */
             public context.ContextOuterClass.ServiceIdList.Builder getServiceIdsBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getServiceIdsFieldBuilder().getBuilder();
             }
@@ -32728,7 +34068,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeEndpointIds(boolean value) {
                 includeEndpointIds_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -32738,7 +34077,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeEndpointIds() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 includeEndpointIds_ = false;
                 onChanged();
                 return this;
@@ -32762,7 +34100,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeConstraints(boolean value) {
                 includeConstraints_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -32772,7 +34109,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeConstraints() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 includeConstraints_ = false;
                 onChanged();
                 return this;
@@ -32796,7 +34132,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeConfigRules(boolean value) {
                 includeConfigRules_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -32806,7 +34141,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeConfigRules() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 includeConfigRules_ = false;
                 onChanged();
                 return this;
@@ -32839,17 +34173,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ServiceFilter parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ServiceFilter(input, extensionRegistry);
             }
         };
 
@@ -32928,6 +34252,70 @@ public final class ContextOuterClass {
             return new ServiceEvent();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ServiceEvent(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Event.Builder subBuilder = null;
+                                if (event_ != null) {
+                                    subBuilder = event_.toBuilder();
+                                }
+                                event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(event_);
+                                    event_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.ServiceId.Builder subBuilder = null;
+                                if (serviceId_ != null) {
+                                    subBuilder = serviceId_.toBuilder();
+                                }
+                                serviceId_ = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(serviceId_);
+                                    serviceId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ServiceEvent_descriptor;
         }
@@ -32964,7 +34352,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() {
-            return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_;
+            return getEvent();
         }
 
         public static final int SERVICE_ID_FIELD_NUMBER = 2;
@@ -32994,7 +34382,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() {
-            return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_;
+            return getServiceId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -33018,7 +34406,7 @@ public final class ContextOuterClass {
             if (serviceId_ != null) {
                 output.writeMessage(2, getServiceId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -33033,7 +34421,7 @@ public final class ContextOuterClass {
             if (serviceId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getServiceId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -33059,7 +34447,7 @@ public final class ContextOuterClass {
                 if (!getServiceId().equals(other.getServiceId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -33079,7 +34467,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SERVICE_ID_FIELD_NUMBER;
                 hash = (53 * hash) + getServiceId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -33173,24 +34561,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ServiceEvent.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                serviceId_ = null;
-                if (serviceIdBuilder_ != null) {
-                    serviceIdBuilder_.dispose();
+                if (serviceIdBuilder_ == null) {
+                    serviceId_ = null;
+                } else {
+                    serviceId_ = null;
                     serviceIdBuilder_ = null;
                 }
                 return this;
@@ -33218,21 +34614,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ServiceEvent buildPartial() {
                 context.ContextOuterClass.ServiceEvent result = new context.ContextOuterClass.ServiceEvent(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (eventBuilder_ == null) {
+                    result.event_ = event_;
+                } else {
+                    result.event_ = eventBuilder_.build();
+                }
+                if (serviceIdBuilder_ == null) {
+                    result.serviceId_ = serviceId_;
+                } else {
+                    result.serviceId_ = serviceIdBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ServiceEvent result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.event_ = eventBuilder_ == null ? event_ : eventBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.serviceId_ = serviceIdBuilder_ == null ? serviceId_ : serviceIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -33254,7 +34677,7 @@ public final class ContextOuterClass {
                 if (other.hasServiceId()) {
                     mergeServiceId(other.getServiceId());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -33266,54 +34689,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ServiceEvent parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEventFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getServiceIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ServiceEvent) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Event event_;
 
             private com.google.protobuf.SingleFieldBuilderV3 eventBuilder_;
@@ -33323,7 +34712,7 @@ public final class ContextOuterClass {
              * @return Whether the event field is set.
              */
             public boolean hasEvent() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return eventBuilder_ != null || event_ != null;
             }
 
             /**
@@ -33347,11 +34736,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     event_ = value;
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -33361,11 +34749,10 @@ public final class ContextOuterClass {
             public Builder setEvent(context.ContextOuterClass.Event.Builder builderForValue) {
                 if (eventBuilder_ == null) {
                     event_ = builderForValue.build();
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -33374,16 +34761,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEvent(context.ContextOuterClass.Event value) {
                 if (eventBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && event_ != null && event_ != context.ContextOuterClass.Event.getDefaultInstance()) {
-                        getEventBuilder().mergeFrom(value);
+                    if (event_ != null) {
+                        event_ = context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial();
                     } else {
                         event_ = value;
                     }
+                    onChanged();
                 } else {
                     eventBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -33391,13 +34777,13 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public Builder clearEvent() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                    onChanged();
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -33405,7 +34791,6 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public context.ContextOuterClass.Event.Builder getEventBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEventFieldBuilder().getBuilder();
             }
@@ -33441,7 +34826,7 @@ public final class ContextOuterClass {
              * @return Whether the serviceId field is set.
              */
             public boolean hasServiceId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return serviceIdBuilder_ != null || serviceId_ != null;
             }
 
             /**
@@ -33465,11 +34850,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     serviceId_ = value;
+                    onChanged();
                 } else {
                     serviceIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -33479,11 +34863,10 @@ public final class ContextOuterClass {
             public Builder setServiceId(context.ContextOuterClass.ServiceId.Builder builderForValue) {
                 if (serviceIdBuilder_ == null) {
                     serviceId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     serviceIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -33492,16 +34875,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeServiceId(context.ContextOuterClass.ServiceId value) {
                 if (serviceIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && serviceId_ != null && serviceId_ != context.ContextOuterClass.ServiceId.getDefaultInstance()) {
-                        getServiceIdBuilder().mergeFrom(value);
+                    if (serviceId_ != null) {
+                        serviceId_ = context.ContextOuterClass.ServiceId.newBuilder(serviceId_).mergeFrom(value).buildPartial();
                     } else {
                         serviceId_ = value;
                     }
+                    onChanged();
                 } else {
                     serviceIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -33509,13 +34891,13 @@ public final class ContextOuterClass {
              * .context.ServiceId service_id = 2;
              */
             public Builder clearServiceId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                serviceId_ = null;
-                if (serviceIdBuilder_ != null) {
-                    serviceIdBuilder_.dispose();
+                if (serviceIdBuilder_ == null) {
+                    serviceId_ = null;
+                    onChanged();
+                } else {
+                    serviceId_ = null;
                     serviceIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -33523,7 +34905,6 @@ public final class ContextOuterClass {
              * .context.ServiceId service_id = 2;
              */
             public context.ContextOuterClass.ServiceId.Builder getServiceIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getServiceIdFieldBuilder().getBuilder();
             }
@@ -33577,17 +34958,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ServiceEvent parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ServiceEvent(input, extensionRegistry);
             }
         };
 
@@ -33670,6 +35041,70 @@ public final class ContextOuterClass {
             return new SliceId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SliceId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ContextId.Builder subBuilder = null;
+                                if (contextId_ != null) {
+                                    subBuilder = contextId_.toBuilder();
+                                }
+                                contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(contextId_);
+                                    contextId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (sliceUuid_ != null) {
+                                    subBuilder = sliceUuid_.toBuilder();
+                                }
+                                sliceUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(sliceUuid_);
+                                    sliceUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_SliceId_descriptor;
         }
@@ -33706,7 +35141,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() {
-            return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_;
+            return getContextId();
         }
 
         public static final int SLICE_UUID_FIELD_NUMBER = 2;
@@ -33736,7 +35171,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getSliceUuidOrBuilder() {
-            return sliceUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : sliceUuid_;
+            return getSliceUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -33760,7 +35195,7 @@ public final class ContextOuterClass {
             if (sliceUuid_ != null) {
                 output.writeMessage(2, getSliceUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -33775,7 +35210,7 @@ public final class ContextOuterClass {
             if (sliceUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getSliceUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -33801,7 +35236,7 @@ public final class ContextOuterClass {
                 if (!getSliceUuid().equals(other.getSliceUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -33821,7 +35256,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SLICE_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getSliceUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -33919,24 +35354,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.SliceId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
-                sliceUuid_ = null;
-                if (sliceUuidBuilder_ != null) {
-                    sliceUuidBuilder_.dispose();
+                if (sliceUuidBuilder_ == null) {
+                    sliceUuid_ = null;
+                } else {
+                    sliceUuid_ = null;
                     sliceUuidBuilder_ = null;
                 }
                 return this;
@@ -33964,21 +35407,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.SliceId buildPartial() {
                 context.ContextOuterClass.SliceId result = new context.ContextOuterClass.SliceId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (contextIdBuilder_ == null) {
+                    result.contextId_ = contextId_;
+                } else {
+                    result.contextId_ = contextIdBuilder_.build();
+                }
+                if (sliceUuidBuilder_ == null) {
+                    result.sliceUuid_ = sliceUuid_;
+                } else {
+                    result.sliceUuid_ = sliceUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.SliceId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.contextId_ = contextIdBuilder_ == null ? contextId_ : contextIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.sliceUuid_ = sliceUuidBuilder_ == null ? sliceUuid_ : sliceUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -34000,7 +35470,7 @@ public final class ContextOuterClass {
                 if (other.hasSliceUuid()) {
                     mergeSliceUuid(other.getSliceUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -34012,54 +35482,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.SliceId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getContextIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getSliceUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.SliceId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.ContextId contextId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 contextIdBuilder_;
@@ -34069,7 +35505,7 @@ public final class ContextOuterClass {
              * @return Whether the contextId field is set.
              */
             public boolean hasContextId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return contextIdBuilder_ != null || contextId_ != null;
             }
 
             /**
@@ -34093,11 +35529,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     contextId_ = value;
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -34107,11 +35542,10 @@ public final class ContextOuterClass {
             public Builder setContextId(context.ContextOuterClass.ContextId.Builder builderForValue) {
                 if (contextIdBuilder_ == null) {
                     contextId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -34120,16 +35554,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeContextId(context.ContextOuterClass.ContextId value) {
                 if (contextIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && contextId_ != null && contextId_ != context.ContextOuterClass.ContextId.getDefaultInstance()) {
-                        getContextIdBuilder().mergeFrom(value);
+                    if (contextId_ != null) {
+                        contextId_ = context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial();
                     } else {
                         contextId_ = value;
                     }
+                    onChanged();
                 } else {
                     contextIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -34137,13 +35570,13 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public Builder clearContextId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                    onChanged();
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -34151,7 +35584,6 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getContextIdFieldBuilder().getBuilder();
             }
@@ -34187,7 +35619,7 @@ public final class ContextOuterClass {
              * @return Whether the sliceUuid field is set.
              */
             public boolean hasSliceUuid() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return sliceUuidBuilder_ != null || sliceUuid_ != null;
             }
 
             /**
@@ -34211,11 +35643,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     sliceUuid_ = value;
+                    onChanged();
                 } else {
                     sliceUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -34225,11 +35656,10 @@ public final class ContextOuterClass {
             public Builder setSliceUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (sliceUuidBuilder_ == null) {
                     sliceUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     sliceUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -34238,16 +35668,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeSliceUuid(context.ContextOuterClass.Uuid value) {
                 if (sliceUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && sliceUuid_ != null && sliceUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getSliceUuidBuilder().mergeFrom(value);
+                    if (sliceUuid_ != null) {
+                        sliceUuid_ = context.ContextOuterClass.Uuid.newBuilder(sliceUuid_).mergeFrom(value).buildPartial();
                     } else {
                         sliceUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     sliceUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -34255,13 +35684,13 @@ public final class ContextOuterClass {
              * .context.Uuid slice_uuid = 2;
              */
             public Builder clearSliceUuid() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                sliceUuid_ = null;
-                if (sliceUuidBuilder_ != null) {
-                    sliceUuidBuilder_.dispose();
+                if (sliceUuidBuilder_ == null) {
+                    sliceUuid_ = null;
+                    onChanged();
+                } else {
+                    sliceUuid_ = null;
                     sliceUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -34269,7 +35698,6 @@ public final class ContextOuterClass {
              * .context.Uuid slice_uuid = 2;
              */
             public context.ContextOuterClass.Uuid.Builder getSliceUuidBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getSliceUuidFieldBuilder().getBuilder();
             }
@@ -34323,17 +35751,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public SliceId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SliceId(input, extensionRegistry);
             }
         };
 
@@ -34580,6 +35998,164 @@ public final class ContextOuterClass {
             return new Slice();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Slice(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.SliceId.Builder subBuilder = null;
+                                if (sliceId_ != null) {
+                                    subBuilder = sliceId_.toBuilder();
+                                }
+                                sliceId_ = input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(sliceId_);
+                                    sliceId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    sliceEndpointIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                sliceEndpointIds_.add(input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 34:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+                                    sliceConstraints_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000002;
+                                }
+                                sliceConstraints_.add(input.readMessage(context.ContextOuterClass.Constraint.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 42:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000004) != 0)) {
+                                    sliceServiceIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000004;
+                                }
+                                sliceServiceIds_.add(input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 50:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000008) != 0)) {
+                                    sliceSubsliceIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000008;
+                                }
+                                sliceSubsliceIds_.add(input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 58:
+                            {
+                                context.ContextOuterClass.SliceStatus.Builder subBuilder = null;
+                                if (sliceStatus_ != null) {
+                                    subBuilder = sliceStatus_.toBuilder();
+                                }
+                                sliceStatus_ = input.readMessage(context.ContextOuterClass.SliceStatus.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(sliceStatus_);
+                                    sliceStatus_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 66:
+                            {
+                                context.ContextOuterClass.SliceConfig.Builder subBuilder = null;
+                                if (sliceConfig_ != null) {
+                                    subBuilder = sliceConfig_.toBuilder();
+                                }
+                                sliceConfig_ = input.readMessage(context.ContextOuterClass.SliceConfig.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(sliceConfig_);
+                                    sliceConfig_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 74:
+                            {
+                                context.ContextOuterClass.SliceOwner.Builder subBuilder = null;
+                                if (sliceOwner_ != null) {
+                                    subBuilder = sliceOwner_.toBuilder();
+                                }
+                                sliceOwner_ = input.readMessage(context.ContextOuterClass.SliceOwner.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(sliceOwner_);
+                                    sliceOwner_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 82:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (timestamp_ != null) {
+                                    subBuilder = timestamp_.toBuilder();
+                                }
+                                timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(timestamp_);
+                                    timestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    sliceEndpointIds_ = java.util.Collections.unmodifiableList(sliceEndpointIds_);
+                }
+                if (((mutable_bitField0_ & 0x00000002) != 0)) {
+                    sliceConstraints_ = java.util.Collections.unmodifiableList(sliceConstraints_);
+                }
+                if (((mutable_bitField0_ & 0x00000004) != 0)) {
+                    sliceServiceIds_ = java.util.Collections.unmodifiableList(sliceServiceIds_);
+                }
+                if (((mutable_bitField0_ & 0x00000008) != 0)) {
+                    sliceSubsliceIds_ = java.util.Collections.unmodifiableList(sliceSubsliceIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Slice_descriptor;
         }
@@ -34616,13 +36192,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.SliceIdOrBuilder getSliceIdOrBuilder() {
-            return sliceId_ == null ? context.ContextOuterClass.SliceId.getDefaultInstance() : sliceId_;
+            return getSliceId();
         }
 
         public static final int NAME_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 2;
@@ -34659,7 +36234,6 @@ public final class ContextOuterClass {
 
         public static final int SLICE_ENDPOINT_IDS_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
         private java.util.List sliceEndpointIds_;
 
         /**
@@ -34704,7 +36278,6 @@ public final class ContextOuterClass {
 
         public static final int SLICE_CONSTRAINTS_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
         private java.util.List sliceConstraints_;
 
         /**
@@ -34749,7 +36322,6 @@ public final class ContextOuterClass {
 
         public static final int SLICE_SERVICE_IDS_FIELD_NUMBER = 5;
 
-        @SuppressWarnings("serial")
         private java.util.List sliceServiceIds_;
 
         /**
@@ -34794,7 +36366,6 @@ public final class ContextOuterClass {
 
         public static final int SLICE_SUBSLICE_IDS_FIELD_NUMBER = 6;
 
-        @SuppressWarnings("serial")
         private java.util.List sliceSubsliceIds_;
 
         /**
@@ -34864,7 +36435,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.SliceStatusOrBuilder getSliceStatusOrBuilder() {
-            return sliceStatus_ == null ? context.ContextOuterClass.SliceStatus.getDefaultInstance() : sliceStatus_;
+            return getSliceStatus();
         }
 
         public static final int SLICE_CONFIG_FIELD_NUMBER = 8;
@@ -34894,7 +36465,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.SliceConfigOrBuilder getSliceConfigOrBuilder() {
-            return sliceConfig_ == null ? context.ContextOuterClass.SliceConfig.getDefaultInstance() : sliceConfig_;
+            return getSliceConfig();
         }
 
         public static final int SLICE_OWNER_FIELD_NUMBER = 9;
@@ -34924,7 +36495,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.SliceOwnerOrBuilder getSliceOwnerOrBuilder() {
-            return sliceOwner_ == null ? context.ContextOuterClass.SliceOwner.getDefaultInstance() : sliceOwner_;
+            return getSliceOwner();
         }
 
         public static final int TIMESTAMP_FIELD_NUMBER = 10;
@@ -34954,7 +36525,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() {
-            return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_;
+            return getTimestamp();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -34975,7 +36546,7 @@ public final class ContextOuterClass {
             if (sliceId_ != null) {
                 output.writeMessage(1, getSliceId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
             }
             for (int i = 0; i < sliceEndpointIds_.size(); i++) {
@@ -35002,7 +36573,7 @@ public final class ContextOuterClass {
             if (timestamp_ != null) {
                 output.writeMessage(10, getTimestamp());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -35014,7 +36585,7 @@ public final class ContextOuterClass {
             if (sliceId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getSliceId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
             }
             for (int i = 0; i < sliceEndpointIds_.size(); i++) {
@@ -35041,7 +36612,7 @@ public final class ContextOuterClass {
             if (timestamp_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, getTimestamp());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -35095,7 +36666,7 @@ public final class ContextOuterClass {
                 if (!getTimestamp().equals(other.getTimestamp()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -35145,7 +36716,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
                 hash = (53 * hash) + getTimestamp().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -35239,68 +36810,79 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Slice.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getSliceEndpointIdsFieldBuilder();
+                    getSliceConstraintsFieldBuilder();
+                    getSliceServiceIdsFieldBuilder();
+                    getSliceSubsliceIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                sliceId_ = null;
-                if (sliceIdBuilder_ != null) {
-                    sliceIdBuilder_.dispose();
+                if (sliceIdBuilder_ == null) {
+                    sliceId_ = null;
+                } else {
+                    sliceId_ = null;
                     sliceIdBuilder_ = null;
                 }
                 name_ = "";
                 if (sliceEndpointIdsBuilder_ == null) {
                     sliceEndpointIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    sliceEndpointIds_ = null;
                     sliceEndpointIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000004);
                 if (sliceConstraintsBuilder_ == null) {
                     sliceConstraints_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000002);
                 } else {
-                    sliceConstraints_ = null;
                     sliceConstraintsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000008);
                 if (sliceServiceIdsBuilder_ == null) {
                     sliceServiceIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000004);
                 } else {
-                    sliceServiceIds_ = null;
                     sliceServiceIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000010);
                 if (sliceSubsliceIdsBuilder_ == null) {
                     sliceSubsliceIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000008);
                 } else {
-                    sliceSubsliceIds_ = null;
                     sliceSubsliceIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000020);
-                sliceStatus_ = null;
-                if (sliceStatusBuilder_ != null) {
-                    sliceStatusBuilder_.dispose();
+                if (sliceStatusBuilder_ == null) {
+                    sliceStatus_ = null;
+                } else {
+                    sliceStatus_ = null;
                     sliceStatusBuilder_ = null;
                 }
-                sliceConfig_ = null;
-                if (sliceConfigBuilder_ != null) {
-                    sliceConfigBuilder_.dispose();
+                if (sliceConfigBuilder_ == null) {
+                    sliceConfig_ = null;
+                } else {
+                    sliceConfig_ = null;
                     sliceConfigBuilder_ = null;
                 }
-                sliceOwner_ = null;
-                if (sliceOwnerBuilder_ != null) {
-                    sliceOwnerBuilder_.dispose();
+                if (sliceOwnerBuilder_ == null) {
+                    sliceOwner_ = null;
+                } else {
+                    sliceOwner_ = null;
                     sliceOwnerBuilder_ = null;
                 }
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
                 return this;
@@ -35328,73 +36910,101 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Slice buildPartial() {
                 context.ContextOuterClass.Slice result = new context.ContextOuterClass.Slice(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (sliceIdBuilder_ == null) {
+                    result.sliceId_ = sliceId_;
+                } else {
+                    result.sliceId_ = sliceIdBuilder_.build();
                 }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.Slice result) {
+                result.name_ = name_;
                 if (sliceEndpointIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         sliceEndpointIds_ = java.util.Collections.unmodifiableList(sliceEndpointIds_);
-                        bitField0_ = (bitField0_ & ~0x00000004);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.sliceEndpointIds_ = sliceEndpointIds_;
                 } else {
                     result.sliceEndpointIds_ = sliceEndpointIdsBuilder_.build();
                 }
                 if (sliceConstraintsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0)) {
+                    if (((bitField0_ & 0x00000002) != 0)) {
                         sliceConstraints_ = java.util.Collections.unmodifiableList(sliceConstraints_);
-                        bitField0_ = (bitField0_ & ~0x00000008);
+                        bitField0_ = (bitField0_ & ~0x00000002);
                     }
                     result.sliceConstraints_ = sliceConstraints_;
                 } else {
                     result.sliceConstraints_ = sliceConstraintsBuilder_.build();
                 }
                 if (sliceServiceIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000010) != 0)) {
+                    if (((bitField0_ & 0x00000004) != 0)) {
                         sliceServiceIds_ = java.util.Collections.unmodifiableList(sliceServiceIds_);
-                        bitField0_ = (bitField0_ & ~0x00000010);
+                        bitField0_ = (bitField0_ & ~0x00000004);
                     }
                     result.sliceServiceIds_ = sliceServiceIds_;
                 } else {
                     result.sliceServiceIds_ = sliceServiceIdsBuilder_.build();
                 }
                 if (sliceSubsliceIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000020) != 0)) {
+                    if (((bitField0_ & 0x00000008) != 0)) {
                         sliceSubsliceIds_ = java.util.Collections.unmodifiableList(sliceSubsliceIds_);
-                        bitField0_ = (bitField0_ & ~0x00000020);
+                        bitField0_ = (bitField0_ & ~0x00000008);
                     }
                     result.sliceSubsliceIds_ = sliceSubsliceIds_;
                 } else {
                     result.sliceSubsliceIds_ = sliceSubsliceIdsBuilder_.build();
                 }
-            }
-
-            private void buildPartial0(context.ContextOuterClass.Slice result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.sliceId_ = sliceIdBuilder_ == null ? sliceId_ : sliceIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.name_ = name_;
-                }
-                if (((from_bitField0_ & 0x00000040) != 0)) {
-                    result.sliceStatus_ = sliceStatusBuilder_ == null ? sliceStatus_ : sliceStatusBuilder_.build();
+                if (sliceStatusBuilder_ == null) {
+                    result.sliceStatus_ = sliceStatus_;
+                } else {
+                    result.sliceStatus_ = sliceStatusBuilder_.build();
                 }
-                if (((from_bitField0_ & 0x00000080) != 0)) {
-                    result.sliceConfig_ = sliceConfigBuilder_ == null ? sliceConfig_ : sliceConfigBuilder_.build();
+                if (sliceConfigBuilder_ == null) {
+                    result.sliceConfig_ = sliceConfig_;
+                } else {
+                    result.sliceConfig_ = sliceConfigBuilder_.build();
                 }
-                if (((from_bitField0_ & 0x00000100) != 0)) {
-                    result.sliceOwner_ = sliceOwnerBuilder_ == null ? sliceOwner_ : sliceOwnerBuilder_.build();
+                if (sliceOwnerBuilder_ == null) {
+                    result.sliceOwner_ = sliceOwner_;
+                } else {
+                    result.sliceOwner_ = sliceOwnerBuilder_.build();
                 }
-                if (((from_bitField0_ & 0x00000200) != 0)) {
-                    result.timestamp_ = timestampBuilder_ == null ? timestamp_ : timestampBuilder_.build();
+                if (timestampBuilder_ == null) {
+                    result.timestamp_ = timestamp_;
+                } else {
+                    result.timestamp_ = timestampBuilder_.build();
                 }
+                onBuilt();
+                return result;
+            }
+
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -35415,14 +37025,13 @@ public final class ContextOuterClass {
                 }
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (sliceEndpointIdsBuilder_ == null) {
                     if (!other.sliceEndpointIds_.isEmpty()) {
                         if (sliceEndpointIds_.isEmpty()) {
                             sliceEndpointIds_ = other.sliceEndpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureSliceEndpointIdsIsMutable();
                             sliceEndpointIds_.addAll(other.sliceEndpointIds_);
@@ -35435,7 +37044,7 @@ public final class ContextOuterClass {
                             sliceEndpointIdsBuilder_.dispose();
                             sliceEndpointIdsBuilder_ = null;
                             sliceEndpointIds_ = other.sliceEndpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             sliceEndpointIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getSliceEndpointIdsFieldBuilder() : null;
                         } else {
                             sliceEndpointIdsBuilder_.addAllMessages(other.sliceEndpointIds_);
@@ -35446,7 +37055,7 @@ public final class ContextOuterClass {
                     if (!other.sliceConstraints_.isEmpty()) {
                         if (sliceConstraints_.isEmpty()) {
                             sliceConstraints_ = other.sliceConstraints_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                         } else {
                             ensureSliceConstraintsIsMutable();
                             sliceConstraints_.addAll(other.sliceConstraints_);
@@ -35459,7 +37068,7 @@ public final class ContextOuterClass {
                             sliceConstraintsBuilder_.dispose();
                             sliceConstraintsBuilder_ = null;
                             sliceConstraints_ = other.sliceConstraints_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                             sliceConstraintsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getSliceConstraintsFieldBuilder() : null;
                         } else {
                             sliceConstraintsBuilder_.addAllMessages(other.sliceConstraints_);
@@ -35470,7 +37079,7 @@ public final class ContextOuterClass {
                     if (!other.sliceServiceIds_.isEmpty()) {
                         if (sliceServiceIds_.isEmpty()) {
                             sliceServiceIds_ = other.sliceServiceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000010);
+                            bitField0_ = (bitField0_ & ~0x00000004);
                         } else {
                             ensureSliceServiceIdsIsMutable();
                             sliceServiceIds_.addAll(other.sliceServiceIds_);
@@ -35483,7 +37092,7 @@ public final class ContextOuterClass {
                             sliceServiceIdsBuilder_.dispose();
                             sliceServiceIdsBuilder_ = null;
                             sliceServiceIds_ = other.sliceServiceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000010);
+                            bitField0_ = (bitField0_ & ~0x00000004);
                             sliceServiceIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getSliceServiceIdsFieldBuilder() : null;
                         } else {
                             sliceServiceIdsBuilder_.addAllMessages(other.sliceServiceIds_);
@@ -35494,7 +37103,7 @@ public final class ContextOuterClass {
                     if (!other.sliceSubsliceIds_.isEmpty()) {
                         if (sliceSubsliceIds_.isEmpty()) {
                             sliceSubsliceIds_ = other.sliceSubsliceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000020);
+                            bitField0_ = (bitField0_ & ~0x00000008);
                         } else {
                             ensureSliceSubsliceIdsIsMutable();
                             sliceSubsliceIds_.addAll(other.sliceSubsliceIds_);
@@ -35507,7 +37116,7 @@ public final class ContextOuterClass {
                             sliceSubsliceIdsBuilder_.dispose();
                             sliceSubsliceIdsBuilder_ = null;
                             sliceSubsliceIds_ = other.sliceSubsliceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000020);
+                            bitField0_ = (bitField0_ & ~0x00000008);
                             sliceSubsliceIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getSliceSubsliceIdsFieldBuilder() : null;
                         } else {
                             sliceSubsliceIdsBuilder_.addAllMessages(other.sliceSubsliceIds_);
@@ -35526,7 +37135,7 @@ public final class ContextOuterClass {
                 if (other.hasTimestamp()) {
                     mergeTimestamp(other.getTimestamp());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -35538,125 +37147,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Slice parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getSliceIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    context.ContextOuterClass.EndPointId m = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
-                                    if (sliceEndpointIdsBuilder_ == null) {
-                                        ensureSliceEndpointIdsIsMutable();
-                                        sliceEndpointIds_.add(m);
-                                    } else {
-                                        sliceEndpointIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    context.ContextOuterClass.Constraint m = input.readMessage(context.ContextOuterClass.Constraint.parser(), extensionRegistry);
-                                    if (sliceConstraintsBuilder_ == null) {
-                                        ensureSliceConstraintsIsMutable();
-                                        sliceConstraints_.add(m);
-                                    } else {
-                                        sliceConstraintsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    context.ContextOuterClass.ServiceId m = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry);
-                                    if (sliceServiceIdsBuilder_ == null) {
-                                        ensureSliceServiceIdsIsMutable();
-                                        sliceServiceIds_.add(m);
-                                    } else {
-                                        sliceServiceIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 42
-                            case 50:
-                                {
-                                    context.ContextOuterClass.SliceId m = input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry);
-                                    if (sliceSubsliceIdsBuilder_ == null) {
-                                        ensureSliceSubsliceIdsIsMutable();
-                                        sliceSubsliceIds_.add(m);
-                                    } else {
-                                        sliceSubsliceIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 50
-                            case 58:
-                                {
-                                    input.readMessage(getSliceStatusFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000040;
-                                    break;
-                                }
-                            // case 58
-                            case 66:
-                                {
-                                    input.readMessage(getSliceConfigFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000080;
-                                    break;
-                                }
-                            // case 66
-                            case 74:
-                                {
-                                    input.readMessage(getSliceOwnerFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000100;
-                                    break;
-                                }
-                            // case 74
-                            case 82:
-                                {
-                                    input.readMessage(getTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000200;
-                                    break;
-                                }
-                            // case 82
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Slice) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -35671,7 +37172,7 @@ public final class ContextOuterClass {
              * @return Whether the sliceId field is set.
              */
             public boolean hasSliceId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return sliceIdBuilder_ != null || sliceId_ != null;
             }
 
             /**
@@ -35695,11 +37196,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     sliceId_ = value;
+                    onChanged();
                 } else {
                     sliceIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -35709,11 +37209,10 @@ public final class ContextOuterClass {
             public Builder setSliceId(context.ContextOuterClass.SliceId.Builder builderForValue) {
                 if (sliceIdBuilder_ == null) {
                     sliceId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     sliceIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -35722,16 +37221,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeSliceId(context.ContextOuterClass.SliceId value) {
                 if (sliceIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && sliceId_ != null && sliceId_ != context.ContextOuterClass.SliceId.getDefaultInstance()) {
-                        getSliceIdBuilder().mergeFrom(value);
+                    if (sliceId_ != null) {
+                        sliceId_ = context.ContextOuterClass.SliceId.newBuilder(sliceId_).mergeFrom(value).buildPartial();
                     } else {
                         sliceId_ = value;
                     }
+                    onChanged();
                 } else {
                     sliceIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -35739,13 +37237,13 @@ public final class ContextOuterClass {
              * .context.SliceId slice_id = 1;
              */
             public Builder clearSliceId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                sliceId_ = null;
-                if (sliceIdBuilder_ != null) {
-                    sliceIdBuilder_.dispose();
+                if (sliceIdBuilder_ == null) {
+                    sliceId_ = null;
+                    onChanged();
+                } else {
+                    sliceId_ = null;
                     sliceIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -35753,7 +37251,6 @@ public final class ContextOuterClass {
              * .context.SliceId slice_id = 1;
              */
             public context.ContextOuterClass.SliceId.Builder getSliceIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getSliceIdFieldBuilder().getBuilder();
             }
@@ -35823,7 +37320,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -35834,7 +37330,6 @@ public final class ContextOuterClass {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -35850,7 +37345,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -35858,9 +37352,9 @@ public final class ContextOuterClass {
             private java.util.List sliceEndpointIds_ = java.util.Collections.emptyList();
 
             private void ensureSliceEndpointIdsIsMutable() {
-                if (!((bitField0_ & 0x00000004) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     sliceEndpointIds_ = new java.util.ArrayList(sliceEndpointIds_);
-                    bitField0_ |= 0x00000004;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -36012,7 +37506,7 @@ public final class ContextOuterClass {
             public Builder clearSliceEndpointIds() {
                 if (sliceEndpointIdsBuilder_ == null) {
                     sliceEndpointIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000004);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     sliceEndpointIdsBuilder_.clear();
@@ -36086,7 +37580,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getSliceEndpointIdsFieldBuilder() {
                 if (sliceEndpointIdsBuilder_ == null) {
-                    sliceEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceEndpointIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
+                    sliceEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceEndpointIds_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     sliceEndpointIds_ = null;
                 }
                 return sliceEndpointIdsBuilder_;
@@ -36095,9 +37589,9 @@ public final class ContextOuterClass {
             private java.util.List sliceConstraints_ = java.util.Collections.emptyList();
 
             private void ensureSliceConstraintsIsMutable() {
-                if (!((bitField0_ & 0x00000008) != 0)) {
+                if (!((bitField0_ & 0x00000002) != 0)) {
                     sliceConstraints_ = new java.util.ArrayList(sliceConstraints_);
-                    bitField0_ |= 0x00000008;
+                    bitField0_ |= 0x00000002;
                 }
             }
 
@@ -36249,7 +37743,7 @@ public final class ContextOuterClass {
             public Builder clearSliceConstraints() {
                 if (sliceConstraintsBuilder_ == null) {
                     sliceConstraints_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000008);
+                    bitField0_ = (bitField0_ & ~0x00000002);
                     onChanged();
                 } else {
                     sliceConstraintsBuilder_.clear();
@@ -36323,7 +37817,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getSliceConstraintsFieldBuilder() {
                 if (sliceConstraintsBuilder_ == null) {
-                    sliceConstraintsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceConstraints_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
+                    sliceConstraintsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceConstraints_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
                     sliceConstraints_ = null;
                 }
                 return sliceConstraintsBuilder_;
@@ -36332,9 +37826,9 @@ public final class ContextOuterClass {
             private java.util.List sliceServiceIds_ = java.util.Collections.emptyList();
 
             private void ensureSliceServiceIdsIsMutable() {
-                if (!((bitField0_ & 0x00000010) != 0)) {
+                if (!((bitField0_ & 0x00000004) != 0)) {
                     sliceServiceIds_ = new java.util.ArrayList(sliceServiceIds_);
-                    bitField0_ |= 0x00000010;
+                    bitField0_ |= 0x00000004;
                 }
             }
 
@@ -36486,7 +37980,7 @@ public final class ContextOuterClass {
             public Builder clearSliceServiceIds() {
                 if (sliceServiceIdsBuilder_ == null) {
                     sliceServiceIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000010);
+                    bitField0_ = (bitField0_ & ~0x00000004);
                     onChanged();
                 } else {
                     sliceServiceIdsBuilder_.clear();
@@ -36560,7 +38054,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getSliceServiceIdsFieldBuilder() {
                 if (sliceServiceIdsBuilder_ == null) {
-                    sliceServiceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceServiceIds_, ((bitField0_ & 0x00000010) != 0), getParentForChildren(), isClean());
+                    sliceServiceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceServiceIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
                     sliceServiceIds_ = null;
                 }
                 return sliceServiceIdsBuilder_;
@@ -36569,9 +38063,9 @@ public final class ContextOuterClass {
             private java.util.List sliceSubsliceIds_ = java.util.Collections.emptyList();
 
             private void ensureSliceSubsliceIdsIsMutable() {
-                if (!((bitField0_ & 0x00000020) != 0)) {
+                if (!((bitField0_ & 0x00000008) != 0)) {
                     sliceSubsliceIds_ = new java.util.ArrayList(sliceSubsliceIds_);
-                    bitField0_ |= 0x00000020;
+                    bitField0_ |= 0x00000008;
                 }
             }
 
@@ -36723,7 +38217,7 @@ public final class ContextOuterClass {
             public Builder clearSliceSubsliceIds() {
                 if (sliceSubsliceIdsBuilder_ == null) {
                     sliceSubsliceIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000020);
+                    bitField0_ = (bitField0_ & ~0x00000008);
                     onChanged();
                 } else {
                     sliceSubsliceIdsBuilder_.clear();
@@ -36797,7 +38291,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getSliceSubsliceIdsFieldBuilder() {
                 if (sliceSubsliceIdsBuilder_ == null) {
-                    sliceSubsliceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceSubsliceIds_, ((bitField0_ & 0x00000020) != 0), getParentForChildren(), isClean());
+                    sliceSubsliceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceSubsliceIds_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
                     sliceSubsliceIds_ = null;
                 }
                 return sliceSubsliceIdsBuilder_;
@@ -36812,7 +38306,7 @@ public final class ContextOuterClass {
              * @return Whether the sliceStatus field is set.
              */
             public boolean hasSliceStatus() {
-                return ((bitField0_ & 0x00000040) != 0);
+                return sliceStatusBuilder_ != null || sliceStatus_ != null;
             }
 
             /**
@@ -36836,11 +38330,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     sliceStatus_ = value;
+                    onChanged();
                 } else {
                     sliceStatusBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000040;
-                onChanged();
                 return this;
             }
 
@@ -36850,11 +38343,10 @@ public final class ContextOuterClass {
             public Builder setSliceStatus(context.ContextOuterClass.SliceStatus.Builder builderForValue) {
                 if (sliceStatusBuilder_ == null) {
                     sliceStatus_ = builderForValue.build();
+                    onChanged();
                 } else {
                     sliceStatusBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000040;
-                onChanged();
                 return this;
             }
 
@@ -36863,16 +38355,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeSliceStatus(context.ContextOuterClass.SliceStatus value) {
                 if (sliceStatusBuilder_ == null) {
-                    if (((bitField0_ & 0x00000040) != 0) && sliceStatus_ != null && sliceStatus_ != context.ContextOuterClass.SliceStatus.getDefaultInstance()) {
-                        getSliceStatusBuilder().mergeFrom(value);
+                    if (sliceStatus_ != null) {
+                        sliceStatus_ = context.ContextOuterClass.SliceStatus.newBuilder(sliceStatus_).mergeFrom(value).buildPartial();
                     } else {
                         sliceStatus_ = value;
                     }
+                    onChanged();
                 } else {
                     sliceStatusBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000040;
-                onChanged();
                 return this;
             }
 
@@ -36880,13 +38371,13 @@ public final class ContextOuterClass {
              * .context.SliceStatus slice_status = 7;
              */
             public Builder clearSliceStatus() {
-                bitField0_ = (bitField0_ & ~0x00000040);
-                sliceStatus_ = null;
-                if (sliceStatusBuilder_ != null) {
-                    sliceStatusBuilder_.dispose();
+                if (sliceStatusBuilder_ == null) {
+                    sliceStatus_ = null;
+                    onChanged();
+                } else {
+                    sliceStatus_ = null;
                     sliceStatusBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -36894,7 +38385,6 @@ public final class ContextOuterClass {
              * .context.SliceStatus slice_status = 7;
              */
             public context.ContextOuterClass.SliceStatus.Builder getSliceStatusBuilder() {
-                bitField0_ |= 0x00000040;
                 onChanged();
                 return getSliceStatusFieldBuilder().getBuilder();
             }
@@ -36930,7 +38420,7 @@ public final class ContextOuterClass {
              * @return Whether the sliceConfig field is set.
              */
             public boolean hasSliceConfig() {
-                return ((bitField0_ & 0x00000080) != 0);
+                return sliceConfigBuilder_ != null || sliceConfig_ != null;
             }
 
             /**
@@ -36954,11 +38444,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     sliceConfig_ = value;
+                    onChanged();
                 } else {
                     sliceConfigBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000080;
-                onChanged();
                 return this;
             }
 
@@ -36968,11 +38457,10 @@ public final class ContextOuterClass {
             public Builder setSliceConfig(context.ContextOuterClass.SliceConfig.Builder builderForValue) {
                 if (sliceConfigBuilder_ == null) {
                     sliceConfig_ = builderForValue.build();
+                    onChanged();
                 } else {
                     sliceConfigBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000080;
-                onChanged();
                 return this;
             }
 
@@ -36981,16 +38469,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeSliceConfig(context.ContextOuterClass.SliceConfig value) {
                 if (sliceConfigBuilder_ == null) {
-                    if (((bitField0_ & 0x00000080) != 0) && sliceConfig_ != null && sliceConfig_ != context.ContextOuterClass.SliceConfig.getDefaultInstance()) {
-                        getSliceConfigBuilder().mergeFrom(value);
+                    if (sliceConfig_ != null) {
+                        sliceConfig_ = context.ContextOuterClass.SliceConfig.newBuilder(sliceConfig_).mergeFrom(value).buildPartial();
                     } else {
                         sliceConfig_ = value;
                     }
+                    onChanged();
                 } else {
                     sliceConfigBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000080;
-                onChanged();
                 return this;
             }
 
@@ -36998,13 +38485,13 @@ public final class ContextOuterClass {
              * .context.SliceConfig slice_config = 8;
              */
             public Builder clearSliceConfig() {
-                bitField0_ = (bitField0_ & ~0x00000080);
-                sliceConfig_ = null;
-                if (sliceConfigBuilder_ != null) {
-                    sliceConfigBuilder_.dispose();
+                if (sliceConfigBuilder_ == null) {
+                    sliceConfig_ = null;
+                    onChanged();
+                } else {
+                    sliceConfig_ = null;
                     sliceConfigBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -37012,7 +38499,6 @@ public final class ContextOuterClass {
              * .context.SliceConfig slice_config = 8;
              */
             public context.ContextOuterClass.SliceConfig.Builder getSliceConfigBuilder() {
-                bitField0_ |= 0x00000080;
                 onChanged();
                 return getSliceConfigFieldBuilder().getBuilder();
             }
@@ -37048,7 +38534,7 @@ public final class ContextOuterClass {
              * @return Whether the sliceOwner field is set.
              */
             public boolean hasSliceOwner() {
-                return ((bitField0_ & 0x00000100) != 0);
+                return sliceOwnerBuilder_ != null || sliceOwner_ != null;
             }
 
             /**
@@ -37072,11 +38558,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     sliceOwner_ = value;
+                    onChanged();
                 } else {
                     sliceOwnerBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000100;
-                onChanged();
                 return this;
             }
 
@@ -37086,11 +38571,10 @@ public final class ContextOuterClass {
             public Builder setSliceOwner(context.ContextOuterClass.SliceOwner.Builder builderForValue) {
                 if (sliceOwnerBuilder_ == null) {
                     sliceOwner_ = builderForValue.build();
+                    onChanged();
                 } else {
                     sliceOwnerBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000100;
-                onChanged();
                 return this;
             }
 
@@ -37099,16 +38583,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeSliceOwner(context.ContextOuterClass.SliceOwner value) {
                 if (sliceOwnerBuilder_ == null) {
-                    if (((bitField0_ & 0x00000100) != 0) && sliceOwner_ != null && sliceOwner_ != context.ContextOuterClass.SliceOwner.getDefaultInstance()) {
-                        getSliceOwnerBuilder().mergeFrom(value);
+                    if (sliceOwner_ != null) {
+                        sliceOwner_ = context.ContextOuterClass.SliceOwner.newBuilder(sliceOwner_).mergeFrom(value).buildPartial();
                     } else {
                         sliceOwner_ = value;
                     }
+                    onChanged();
                 } else {
                     sliceOwnerBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000100;
-                onChanged();
                 return this;
             }
 
@@ -37116,13 +38599,13 @@ public final class ContextOuterClass {
              * .context.SliceOwner slice_owner = 9;
              */
             public Builder clearSliceOwner() {
-                bitField0_ = (bitField0_ & ~0x00000100);
-                sliceOwner_ = null;
-                if (sliceOwnerBuilder_ != null) {
-                    sliceOwnerBuilder_.dispose();
+                if (sliceOwnerBuilder_ == null) {
+                    sliceOwner_ = null;
+                    onChanged();
+                } else {
+                    sliceOwner_ = null;
                     sliceOwnerBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -37130,7 +38613,6 @@ public final class ContextOuterClass {
              * .context.SliceOwner slice_owner = 9;
              */
             public context.ContextOuterClass.SliceOwner.Builder getSliceOwnerBuilder() {
-                bitField0_ |= 0x00000100;
                 onChanged();
                 return getSliceOwnerFieldBuilder().getBuilder();
             }
@@ -37166,7 +38648,7 @@ public final class ContextOuterClass {
              * @return Whether the timestamp field is set.
              */
             public boolean hasTimestamp() {
-                return ((bitField0_ & 0x00000200) != 0);
+                return timestampBuilder_ != null || timestamp_ != null;
             }
 
             /**
@@ -37190,11 +38672,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     timestamp_ = value;
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000200;
-                onChanged();
                 return this;
             }
 
@@ -37204,11 +38685,10 @@ public final class ContextOuterClass {
             public Builder setTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (timestampBuilder_ == null) {
                     timestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000200;
-                onChanged();
                 return this;
             }
 
@@ -37217,16 +38697,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (timestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000200) != 0) && timestamp_ != null && timestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getTimestampBuilder().mergeFrom(value);
+                    if (timestamp_ != null) {
+                        timestamp_ = context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial();
                     } else {
                         timestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     timestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000200;
-                onChanged();
                 return this;
             }
 
@@ -37234,13 +38713,13 @@ public final class ContextOuterClass {
              * .context.Timestamp timestamp = 10;
              */
             public Builder clearTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000200);
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                    onChanged();
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -37248,7 +38727,6 @@ public final class ContextOuterClass {
              * .context.Timestamp timestamp = 10;
              */
             public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() {
-                bitField0_ |= 0x00000200;
                 onChanged();
                 return getTimestampFieldBuilder().getBuilder();
             }
@@ -37302,17 +38780,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Slice parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Slice(input, extensionRegistry);
             }
         };
 
@@ -37387,6 +38855,63 @@ public final class ContextOuterClass {
             return new SliceOwner();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SliceOwner(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (ownerUuid_ != null) {
+                                    subBuilder = ownerUuid_.toBuilder();
+                                }
+                                ownerUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(ownerUuid_);
+                                    ownerUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                ownerString_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_SliceOwner_descriptor;
         }
@@ -37423,13 +38948,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getOwnerUuidOrBuilder() {
-            return ownerUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : ownerUuid_;
+            return getOwnerUuid();
         }
 
         public static final int OWNER_STRING_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object ownerString_ = "";
+        private volatile java.lang.Object ownerString_;
 
         /**
          * string owner_string = 2;
@@ -37482,10 +39006,10 @@ public final class ContextOuterClass {
             if (ownerUuid_ != null) {
                 output.writeMessage(1, getOwnerUuid());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(ownerString_)) {
+            if (!getOwnerStringBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, ownerString_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -37497,10 +39021,10 @@ public final class ContextOuterClass {
             if (ownerUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getOwnerUuid());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(ownerString_)) {
+            if (!getOwnerStringBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, ownerString_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -37522,7 +39046,7 @@ public final class ContextOuterClass {
             }
             if (!getOwnerString().equals(other.getOwnerString()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -37540,7 +39064,7 @@ public final class ContextOuterClass {
             }
             hash = (37 * hash) + OWNER_STRING_FIELD_NUMBER;
             hash = (53 * hash) + getOwnerString().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -37634,19 +39158,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.SliceOwner.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                ownerUuid_ = null;
-                if (ownerUuidBuilder_ != null) {
-                    ownerUuidBuilder_.dispose();
+                if (ownerUuidBuilder_ == null) {
+                    ownerUuid_ = null;
+                } else {
+                    ownerUuid_ = null;
                     ownerUuidBuilder_ = null;
                 }
                 ownerString_ = "";
@@ -37675,21 +39206,44 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.SliceOwner buildPartial() {
                 context.ContextOuterClass.SliceOwner result = new context.ContextOuterClass.SliceOwner(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (ownerUuidBuilder_ == null) {
+                    result.ownerUuid_ = ownerUuid_;
+                } else {
+                    result.ownerUuid_ = ownerUuidBuilder_.build();
                 }
+                result.ownerString_ = ownerString_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.SliceOwner result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.ownerUuid_ = ownerUuidBuilder_ == null ? ownerUuid_ : ownerUuidBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.ownerString_ = ownerString_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -37710,10 +39264,9 @@ public final class ContextOuterClass {
                 }
                 if (!other.getOwnerString().isEmpty()) {
                     ownerString_ = other.ownerString_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -37725,54 +39278,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.SliceOwner parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getOwnerUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    ownerString_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.SliceOwner) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid ownerUuid_;
 
             private com.google.protobuf.SingleFieldBuilderV3 ownerUuidBuilder_;
@@ -37782,7 +39301,7 @@ public final class ContextOuterClass {
              * @return Whether the ownerUuid field is set.
              */
             public boolean hasOwnerUuid() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return ownerUuidBuilder_ != null || ownerUuid_ != null;
             }
 
             /**
@@ -37806,11 +39325,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     ownerUuid_ = value;
+                    onChanged();
                 } else {
                     ownerUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -37820,11 +39338,10 @@ public final class ContextOuterClass {
             public Builder setOwnerUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (ownerUuidBuilder_ == null) {
                     ownerUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     ownerUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -37833,16 +39350,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeOwnerUuid(context.ContextOuterClass.Uuid value) {
                 if (ownerUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && ownerUuid_ != null && ownerUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getOwnerUuidBuilder().mergeFrom(value);
+                    if (ownerUuid_ != null) {
+                        ownerUuid_ = context.ContextOuterClass.Uuid.newBuilder(ownerUuid_).mergeFrom(value).buildPartial();
                     } else {
                         ownerUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     ownerUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -37850,13 +39366,13 @@ public final class ContextOuterClass {
              * .context.Uuid owner_uuid = 1;
              */
             public Builder clearOwnerUuid() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                ownerUuid_ = null;
-                if (ownerUuidBuilder_ != null) {
-                    ownerUuidBuilder_.dispose();
+                if (ownerUuidBuilder_ == null) {
+                    ownerUuid_ = null;
+                    onChanged();
+                } else {
+                    ownerUuid_ = null;
                     ownerUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -37864,7 +39380,6 @@ public final class ContextOuterClass {
              * .context.Uuid owner_uuid = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getOwnerUuidBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getOwnerUuidFieldBuilder().getBuilder();
             }
@@ -37934,7 +39449,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 ownerString_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -37945,7 +39459,6 @@ public final class ContextOuterClass {
              */
             public Builder clearOwnerString() {
                 ownerString_ = getDefaultInstance().getOwnerString();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -37961,7 +39474,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 ownerString_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -37993,17 +39505,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public SliceOwner parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SliceOwner(input, extensionRegistry);
             }
         };
 
@@ -38061,6 +39563,50 @@ public final class ContextOuterClass {
             return new SliceStatus();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SliceStatus(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                int rawValue = input.readEnum();
+                                sliceStatus_ = rawValue;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_SliceStatus_descriptor;
         }
@@ -38072,7 +39618,7 @@ public final class ContextOuterClass {
 
         public static final int SLICE_STATUS_FIELD_NUMBER = 1;
 
-        private int sliceStatus_ = 0;
+        private int sliceStatus_;
 
         /**
          * .context.SliceStatusEnum slice_status = 1;
@@ -38089,7 +39635,8 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.SliceStatusEnum getSliceStatus() {
-            context.ContextOuterClass.SliceStatusEnum result = context.ContextOuterClass.SliceStatusEnum.forNumber(sliceStatus_);
+            @SuppressWarnings("deprecation")
+            context.ContextOuterClass.SliceStatusEnum result = context.ContextOuterClass.SliceStatusEnum.valueOf(sliceStatus_);
             return result == null ? context.ContextOuterClass.SliceStatusEnum.UNRECOGNIZED : result;
         }
 
@@ -38111,7 +39658,7 @@ public final class ContextOuterClass {
             if (sliceStatus_ != context.ContextOuterClass.SliceStatusEnum.SLICESTATUS_UNDEFINED.getNumber()) {
                 output.writeEnum(1, sliceStatus_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -38123,7 +39670,7 @@ public final class ContextOuterClass {
             if (sliceStatus_ != context.ContextOuterClass.SliceStatusEnum.SLICESTATUS_UNDEFINED.getNumber()) {
                 size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, sliceStatus_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -38139,7 +39686,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.SliceStatus other = (context.ContextOuterClass.SliceStatus) obj;
             if (sliceStatus_ != other.sliceStatus_)
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -38153,7 +39700,7 @@ public final class ContextOuterClass {
             hash = (19 * hash) + getDescriptor().hashCode();
             hash = (37 * hash) + SLICE_STATUS_FIELD_NUMBER;
             hash = (53 * hash) + sliceStatus_;
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -38247,16 +39794,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.SliceStatus.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 sliceStatus_ = 0;
                 return this;
             }
@@ -38283,18 +39836,39 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.SliceStatus buildPartial() {
                 context.ContextOuterClass.SliceStatus result = new context.ContextOuterClass.SliceStatus(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.sliceStatus_ = sliceStatus_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.SliceStatus result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.sliceStatus_ = sliceStatus_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -38313,7 +39887,7 @@ public final class ContextOuterClass {
                 if (other.sliceStatus_ != 0) {
                     setSliceStatusValue(other.getSliceStatusValue());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -38325,47 +39899,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.SliceStatus parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    sliceStatus_ = input.readEnum();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.SliceStatus) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private int sliceStatus_ = 0;
 
             /**
@@ -38384,7 +39931,6 @@ public final class ContextOuterClass {
              */
             public Builder setSliceStatusValue(int value) {
                 sliceStatus_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -38395,7 +39941,8 @@ public final class ContextOuterClass {
              */
             @java.lang.Override
             public context.ContextOuterClass.SliceStatusEnum getSliceStatus() {
-                context.ContextOuterClass.SliceStatusEnum result = context.ContextOuterClass.SliceStatusEnum.forNumber(sliceStatus_);
+                @SuppressWarnings("deprecation")
+                context.ContextOuterClass.SliceStatusEnum result = context.ContextOuterClass.SliceStatusEnum.valueOf(sliceStatus_);
                 return result == null ? context.ContextOuterClass.SliceStatusEnum.UNRECOGNIZED : result;
             }
 
@@ -38408,7 +39955,6 @@ public final class ContextOuterClass {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000001;
                 sliceStatus_ = value.getNumber();
                 onChanged();
                 return this;
@@ -38419,7 +39965,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearSliceStatus() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 sliceStatus_ = 0;
                 onChanged();
                 return this;
@@ -38452,17 +39997,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public SliceStatus parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SliceStatus(input, extensionRegistry);
             }
         };
 
@@ -38533,6 +40068,57 @@ public final class ContextOuterClass {
             return new SliceConfig();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SliceConfig(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    configRules_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                configRules_.add(input.readMessage(context.ContextOuterClass.ConfigRule.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    configRules_ = java.util.Collections.unmodifiableList(configRules_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_SliceConfig_descriptor;
         }
@@ -38544,7 +40130,6 @@ public final class ContextOuterClass {
 
         public static final int CONFIG_RULES_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List configRules_;
 
         /**
@@ -38605,7 +40190,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < configRules_.size(); i++) {
                 output.writeMessage(1, configRules_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -38617,7 +40202,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < configRules_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, configRules_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -38633,7 +40218,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.SliceConfig other = (context.ContextOuterClass.SliceConfig) obj;
             if (!getConfigRulesList().equals(other.getConfigRulesList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -38649,7 +40234,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONFIG_RULES_FIELD_NUMBER;
                 hash = (53 * hash) + getConfigRulesList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -38743,23 +40328,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.SliceConfig.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getConfigRulesFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (configRulesBuilder_ == null) {
                     configRules_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    configRules_ = null;
                     configRulesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -38785,15 +40376,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.SliceConfig buildPartial() {
                 context.ContextOuterClass.SliceConfig result = new context.ContextOuterClass.SliceConfig(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.SliceConfig result) {
+                int from_bitField0_ = bitField0_;
                 if (configRulesBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         configRules_ = java.util.Collections.unmodifiableList(configRules_);
@@ -38803,10 +40386,38 @@ public final class ContextOuterClass {
                 } else {
                     result.configRules_ = configRulesBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.SliceConfig result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -38846,7 +40457,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -38858,47 +40469,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.SliceConfig parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.ConfigRule m = input.readMessage(context.ContextOuterClass.ConfigRule.parser(), extensionRegistry);
-                                    if (configRulesBuilder_ == null) {
-                                        ensureConfigRulesIsMutable();
-                                        configRules_.add(m);
-                                    } else {
-                                        configRulesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.SliceConfig) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -39168,17 +40749,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public SliceConfig parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SliceConfig(input, extensionRegistry);
             }
         };
 
@@ -39249,6 +40820,57 @@ public final class ContextOuterClass {
             return new SliceIdList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SliceIdList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    sliceIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                sliceIds_.add(input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    sliceIds_ = java.util.Collections.unmodifiableList(sliceIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_SliceIdList_descriptor;
         }
@@ -39260,7 +40882,6 @@ public final class ContextOuterClass {
 
         public static final int SLICE_IDS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List sliceIds_;
 
         /**
@@ -39321,7 +40942,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < sliceIds_.size(); i++) {
                 output.writeMessage(1, sliceIds_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -39333,7 +40954,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < sliceIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, sliceIds_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -39349,7 +40970,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.SliceIdList other = (context.ContextOuterClass.SliceIdList) obj;
             if (!getSliceIdsList().equals(other.getSliceIdsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -39365,7 +40986,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SLICE_IDS_FIELD_NUMBER;
                 hash = (53 * hash) + getSliceIdsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -39459,23 +41080,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.SliceIdList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getSliceIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (sliceIdsBuilder_ == null) {
                     sliceIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    sliceIds_ = null;
                     sliceIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -39501,15 +41128,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.SliceIdList buildPartial() {
                 context.ContextOuterClass.SliceIdList result = new context.ContextOuterClass.SliceIdList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.SliceIdList result) {
+                int from_bitField0_ = bitField0_;
                 if (sliceIdsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         sliceIds_ = java.util.Collections.unmodifiableList(sliceIds_);
@@ -39519,10 +41138,38 @@ public final class ContextOuterClass {
                 } else {
                     result.sliceIds_ = sliceIdsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.SliceIdList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -39562,7 +41209,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -39574,47 +41221,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.SliceIdList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.SliceId m = input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry);
-                                    if (sliceIdsBuilder_ == null) {
-                                        ensureSliceIdsIsMutable();
-                                        sliceIds_.add(m);
-                                    } else {
-                                        sliceIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.SliceIdList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -39884,17 +41501,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public SliceIdList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SliceIdList(input, extensionRegistry);
             }
         };
 
@@ -39965,6 +41572,57 @@ public final class ContextOuterClass {
             return new SliceList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SliceList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    slices_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                slices_.add(input.readMessage(context.ContextOuterClass.Slice.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    slices_ = java.util.Collections.unmodifiableList(slices_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_SliceList_descriptor;
         }
@@ -39976,7 +41634,6 @@ public final class ContextOuterClass {
 
         public static final int SLICES_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List slices_;
 
         /**
@@ -40037,7 +41694,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < slices_.size(); i++) {
                 output.writeMessage(1, slices_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -40049,7 +41706,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < slices_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, slices_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -40065,7 +41722,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.SliceList other = (context.ContextOuterClass.SliceList) obj;
             if (!getSlicesList().equals(other.getSlicesList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -40081,7 +41738,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SLICES_FIELD_NUMBER;
                 hash = (53 * hash) + getSlicesList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -40175,23 +41832,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.SliceList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getSlicesFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (slicesBuilder_ == null) {
                     slices_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    slices_ = null;
                     slicesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -40217,15 +41880,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.SliceList buildPartial() {
                 context.ContextOuterClass.SliceList result = new context.ContextOuterClass.SliceList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.SliceList result) {
+                int from_bitField0_ = bitField0_;
                 if (slicesBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         slices_ = java.util.Collections.unmodifiableList(slices_);
@@ -40235,10 +41890,38 @@ public final class ContextOuterClass {
                 } else {
                     result.slices_ = slicesBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.SliceList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -40278,7 +41961,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -40290,47 +41973,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.SliceList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.Slice m = input.readMessage(context.ContextOuterClass.Slice.parser(), extensionRegistry);
-                                    if (slicesBuilder_ == null) {
-                                        ensureSlicesIsMutable();
-                                        slices_.add(m);
-                                    } else {
-                                        slicesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.SliceList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -40600,17 +42253,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public SliceList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SliceList(input, extensionRegistry);
             }
         };
 
@@ -40702,6 +42345,82 @@ public final class ContextOuterClass {
             return new SliceFilter();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SliceFilter(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.SliceIdList.Builder subBuilder = null;
+                                if (sliceIds_ != null) {
+                                    subBuilder = sliceIds_.toBuilder();
+                                }
+                                sliceIds_ = input.readMessage(context.ContextOuterClass.SliceIdList.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(sliceIds_);
+                                    sliceIds_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 16:
+                            {
+                                includeEndpointIds_ = input.readBool();
+                                break;
+                            }
+                        case 24:
+                            {
+                                includeConstraints_ = input.readBool();
+                                break;
+                            }
+                        case 32:
+                            {
+                                includeServiceIds_ = input.readBool();
+                                break;
+                            }
+                        case 40:
+                            {
+                                includeSubsliceIds_ = input.readBool();
+                                break;
+                            }
+                        case 48:
+                            {
+                                includeConfigRules_ = input.readBool();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_SliceFilter_descriptor;
         }
@@ -40738,12 +42457,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.SliceIdListOrBuilder getSliceIdsOrBuilder() {
-            return sliceIds_ == null ? context.ContextOuterClass.SliceIdList.getDefaultInstance() : sliceIds_;
+            return getSliceIds();
         }
 
         public static final int INCLUDE_ENDPOINT_IDS_FIELD_NUMBER = 2;
 
-        private boolean includeEndpointIds_ = false;
+        private boolean includeEndpointIds_;
 
         /**
          * bool include_endpoint_ids = 2;
@@ -40756,7 +42475,7 @@ public final class ContextOuterClass {
 
         public static final int INCLUDE_CONSTRAINTS_FIELD_NUMBER = 3;
 
-        private boolean includeConstraints_ = false;
+        private boolean includeConstraints_;
 
         /**
          * bool include_constraints = 3;
@@ -40769,7 +42488,7 @@ public final class ContextOuterClass {
 
         public static final int INCLUDE_SERVICE_IDS_FIELD_NUMBER = 4;
 
-        private boolean includeServiceIds_ = false;
+        private boolean includeServiceIds_;
 
         /**
          * bool include_service_ids = 4;
@@ -40782,7 +42501,7 @@ public final class ContextOuterClass {
 
         public static final int INCLUDE_SUBSLICE_IDS_FIELD_NUMBER = 5;
 
-        private boolean includeSubsliceIds_ = false;
+        private boolean includeSubsliceIds_;
 
         /**
          * bool include_subslice_ids = 5;
@@ -40795,7 +42514,7 @@ public final class ContextOuterClass {
 
         public static final int INCLUDE_CONFIG_RULES_FIELD_NUMBER = 6;
 
-        private boolean includeConfigRules_ = false;
+        private boolean includeConfigRules_;
 
         /**
          * bool include_config_rules = 6;
@@ -40839,7 +42558,7 @@ public final class ContextOuterClass {
             if (includeConfigRules_ != false) {
                 output.writeBool(6, includeConfigRules_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -40866,7 +42585,7 @@ public final class ContextOuterClass {
             if (includeConfigRules_ != false) {
                 size += com.google.protobuf.CodedOutputStream.computeBoolSize(6, includeConfigRules_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -40896,7 +42615,7 @@ public final class ContextOuterClass {
                 return false;
             if (getIncludeConfigRules() != other.getIncludeConfigRules())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -40922,7 +42641,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIncludeSubsliceIds());
             hash = (37 * hash) + INCLUDE_CONFIG_RULES_FIELD_NUMBER;
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIncludeConfigRules());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -41016,19 +42735,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.SliceFilter.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                sliceIds_ = null;
-                if (sliceIdsBuilder_ != null) {
-                    sliceIdsBuilder_.dispose();
+                if (sliceIdsBuilder_ == null) {
+                    sliceIds_ = null;
+                } else {
+                    sliceIds_ = null;
                     sliceIdsBuilder_ = null;
                 }
                 includeEndpointIds_ = false;
@@ -41061,33 +42787,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.SliceFilter buildPartial() {
                 context.ContextOuterClass.SliceFilter result = new context.ContextOuterClass.SliceFilter(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (sliceIdsBuilder_ == null) {
+                    result.sliceIds_ = sliceIds_;
+                } else {
+                    result.sliceIds_ = sliceIdsBuilder_.build();
                 }
+                result.includeEndpointIds_ = includeEndpointIds_;
+                result.includeConstraints_ = includeConstraints_;
+                result.includeServiceIds_ = includeServiceIds_;
+                result.includeSubsliceIds_ = includeSubsliceIds_;
+                result.includeConfigRules_ = includeConfigRules_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.SliceFilter result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.sliceIds_ = sliceIdsBuilder_ == null ? sliceIds_ : sliceIdsBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.includeEndpointIds_ = includeEndpointIds_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.includeConstraints_ = includeConstraints_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.includeServiceIds_ = includeServiceIds_;
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.includeSubsliceIds_ = includeSubsliceIds_;
-                }
-                if (((from_bitField0_ & 0x00000020) != 0)) {
-                    result.includeConfigRules_ = includeConfigRules_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -41121,7 +42862,7 @@ public final class ContextOuterClass {
                 if (other.getIncludeConfigRules() != false) {
                     setIncludeConfigRules(other.getIncludeConfigRules());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -41133,82 +42874,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.SliceFilter parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getSliceIdsFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 16:
-                                {
-                                    includeEndpointIds_ = input.readBool();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            case 24:
-                                {
-                                    includeConstraints_ = input.readBool();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 32:
-                                {
-                                    includeServiceIds_ = input.readBool();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 32
-                            case 40:
-                                {
-                                    includeSubsliceIds_ = input.readBool();
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 40
-                            case 48:
-                                {
-                                    includeConfigRules_ = input.readBool();
-                                    bitField0_ |= 0x00000020;
-                                    break;
-                                }
-                            // case 48
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.SliceFilter) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.SliceIdList sliceIds_;
 
             private com.google.protobuf.SingleFieldBuilderV3 sliceIdsBuilder_;
@@ -41218,7 +42897,7 @@ public final class ContextOuterClass {
              * @return Whether the sliceIds field is set.
              */
             public boolean hasSliceIds() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return sliceIdsBuilder_ != null || sliceIds_ != null;
             }
 
             /**
@@ -41242,11 +42921,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     sliceIds_ = value;
+                    onChanged();
                 } else {
                     sliceIdsBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -41256,11 +42934,10 @@ public final class ContextOuterClass {
             public Builder setSliceIds(context.ContextOuterClass.SliceIdList.Builder builderForValue) {
                 if (sliceIdsBuilder_ == null) {
                     sliceIds_ = builderForValue.build();
+                    onChanged();
                 } else {
                     sliceIdsBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -41269,16 +42946,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeSliceIds(context.ContextOuterClass.SliceIdList value) {
                 if (sliceIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && sliceIds_ != null && sliceIds_ != context.ContextOuterClass.SliceIdList.getDefaultInstance()) {
-                        getSliceIdsBuilder().mergeFrom(value);
+                    if (sliceIds_ != null) {
+                        sliceIds_ = context.ContextOuterClass.SliceIdList.newBuilder(sliceIds_).mergeFrom(value).buildPartial();
                     } else {
                         sliceIds_ = value;
                     }
+                    onChanged();
                 } else {
                     sliceIdsBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -41286,13 +42962,13 @@ public final class ContextOuterClass {
              * .context.SliceIdList slice_ids = 1;
              */
             public Builder clearSliceIds() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                sliceIds_ = null;
-                if (sliceIdsBuilder_ != null) {
-                    sliceIdsBuilder_.dispose();
+                if (sliceIdsBuilder_ == null) {
+                    sliceIds_ = null;
+                    onChanged();
+                } else {
+                    sliceIds_ = null;
                     sliceIdsBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -41300,7 +42976,6 @@ public final class ContextOuterClass {
              * .context.SliceIdList slice_ids = 1;
              */
             public context.ContextOuterClass.SliceIdList.Builder getSliceIdsBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getSliceIdsFieldBuilder().getBuilder();
             }
@@ -41345,7 +43020,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeEndpointIds(boolean value) {
                 includeEndpointIds_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -41355,7 +43029,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeEndpointIds() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 includeEndpointIds_ = false;
                 onChanged();
                 return this;
@@ -41379,7 +43052,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeConstraints(boolean value) {
                 includeConstraints_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -41389,7 +43061,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeConstraints() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 includeConstraints_ = false;
                 onChanged();
                 return this;
@@ -41413,7 +43084,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeServiceIds(boolean value) {
                 includeServiceIds_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -41423,7 +43093,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeServiceIds() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 includeServiceIds_ = false;
                 onChanged();
                 return this;
@@ -41447,7 +43116,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeSubsliceIds(boolean value) {
                 includeSubsliceIds_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -41457,7 +43125,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeSubsliceIds() {
-                bitField0_ = (bitField0_ & ~0x00000010);
                 includeSubsliceIds_ = false;
                 onChanged();
                 return this;
@@ -41481,7 +43148,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeConfigRules(boolean value) {
                 includeConfigRules_ = value;
-                bitField0_ |= 0x00000020;
                 onChanged();
                 return this;
             }
@@ -41491,7 +43157,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeConfigRules() {
-                bitField0_ = (bitField0_ & ~0x00000020);
                 includeConfigRules_ = false;
                 onChanged();
                 return this;
@@ -41524,17 +43189,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public SliceFilter parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SliceFilter(input, extensionRegistry);
             }
         };
 
@@ -41613,6 +43268,70 @@ public final class ContextOuterClass {
             return new SliceEvent();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SliceEvent(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Event.Builder subBuilder = null;
+                                if (event_ != null) {
+                                    subBuilder = event_.toBuilder();
+                                }
+                                event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(event_);
+                                    event_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.SliceId.Builder subBuilder = null;
+                                if (sliceId_ != null) {
+                                    subBuilder = sliceId_.toBuilder();
+                                }
+                                sliceId_ = input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(sliceId_);
+                                    sliceId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_SliceEvent_descriptor;
         }
@@ -41649,7 +43368,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() {
-            return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_;
+            return getEvent();
         }
 
         public static final int SLICE_ID_FIELD_NUMBER = 2;
@@ -41679,7 +43398,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.SliceIdOrBuilder getSliceIdOrBuilder() {
-            return sliceId_ == null ? context.ContextOuterClass.SliceId.getDefaultInstance() : sliceId_;
+            return getSliceId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -41703,7 +43422,7 @@ public final class ContextOuterClass {
             if (sliceId_ != null) {
                 output.writeMessage(2, getSliceId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -41718,7 +43437,7 @@ public final class ContextOuterClass {
             if (sliceId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getSliceId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -41744,7 +43463,7 @@ public final class ContextOuterClass {
                 if (!getSliceId().equals(other.getSliceId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -41764,7 +43483,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SLICE_ID_FIELD_NUMBER;
                 hash = (53 * hash) + getSliceId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -41858,24 +43577,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.SliceEvent.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                sliceId_ = null;
-                if (sliceIdBuilder_ != null) {
-                    sliceIdBuilder_.dispose();
+                if (sliceIdBuilder_ == null) {
+                    sliceId_ = null;
+                } else {
+                    sliceId_ = null;
                     sliceIdBuilder_ = null;
                 }
                 return this;
@@ -41903,21 +43630,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.SliceEvent buildPartial() {
                 context.ContextOuterClass.SliceEvent result = new context.ContextOuterClass.SliceEvent(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (eventBuilder_ == null) {
+                    result.event_ = event_;
+                } else {
+                    result.event_ = eventBuilder_.build();
+                }
+                if (sliceIdBuilder_ == null) {
+                    result.sliceId_ = sliceId_;
+                } else {
+                    result.sliceId_ = sliceIdBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.SliceEvent result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.event_ = eventBuilder_ == null ? event_ : eventBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.sliceId_ = sliceIdBuilder_ == null ? sliceId_ : sliceIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -41939,7 +43693,7 @@ public final class ContextOuterClass {
                 if (other.hasSliceId()) {
                     mergeSliceId(other.getSliceId());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -41951,54 +43705,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.SliceEvent parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEventFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getSliceIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.SliceEvent) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Event event_;
 
             private com.google.protobuf.SingleFieldBuilderV3 eventBuilder_;
@@ -42008,7 +43728,7 @@ public final class ContextOuterClass {
              * @return Whether the event field is set.
              */
             public boolean hasEvent() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return eventBuilder_ != null || event_ != null;
             }
 
             /**
@@ -42032,11 +43752,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     event_ = value;
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -42046,11 +43765,10 @@ public final class ContextOuterClass {
             public Builder setEvent(context.ContextOuterClass.Event.Builder builderForValue) {
                 if (eventBuilder_ == null) {
                     event_ = builderForValue.build();
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -42059,16 +43777,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEvent(context.ContextOuterClass.Event value) {
                 if (eventBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && event_ != null && event_ != context.ContextOuterClass.Event.getDefaultInstance()) {
-                        getEventBuilder().mergeFrom(value);
+                    if (event_ != null) {
+                        event_ = context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial();
                     } else {
                         event_ = value;
                     }
+                    onChanged();
                 } else {
                     eventBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -42076,13 +43793,13 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public Builder clearEvent() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                    onChanged();
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -42090,7 +43807,6 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public context.ContextOuterClass.Event.Builder getEventBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEventFieldBuilder().getBuilder();
             }
@@ -42126,7 +43842,7 @@ public final class ContextOuterClass {
              * @return Whether the sliceId field is set.
              */
             public boolean hasSliceId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return sliceIdBuilder_ != null || sliceId_ != null;
             }
 
             /**
@@ -42150,11 +43866,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     sliceId_ = value;
+                    onChanged();
                 } else {
                     sliceIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -42164,11 +43879,10 @@ public final class ContextOuterClass {
             public Builder setSliceId(context.ContextOuterClass.SliceId.Builder builderForValue) {
                 if (sliceIdBuilder_ == null) {
                     sliceId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     sliceIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -42177,16 +43891,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeSliceId(context.ContextOuterClass.SliceId value) {
                 if (sliceIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && sliceId_ != null && sliceId_ != context.ContextOuterClass.SliceId.getDefaultInstance()) {
-                        getSliceIdBuilder().mergeFrom(value);
+                    if (sliceId_ != null) {
+                        sliceId_ = context.ContextOuterClass.SliceId.newBuilder(sliceId_).mergeFrom(value).buildPartial();
                     } else {
                         sliceId_ = value;
                     }
+                    onChanged();
                 } else {
                     sliceIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -42194,13 +43907,13 @@ public final class ContextOuterClass {
              * .context.SliceId slice_id = 2;
              */
             public Builder clearSliceId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                sliceId_ = null;
-                if (sliceIdBuilder_ != null) {
-                    sliceIdBuilder_.dispose();
+                if (sliceIdBuilder_ == null) {
+                    sliceId_ = null;
+                    onChanged();
+                } else {
+                    sliceId_ = null;
                     sliceIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -42208,7 +43921,6 @@ public final class ContextOuterClass {
              * .context.SliceId slice_id = 2;
              */
             public context.ContextOuterClass.SliceId.Builder getSliceIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getSliceIdFieldBuilder().getBuilder();
             }
@@ -42262,17 +43974,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public SliceEvent parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SliceEvent(input, extensionRegistry);
             }
         };
 
@@ -42338,6 +44040,57 @@ public final class ContextOuterClass {
             return new ConnectionId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (connectionUuid_ != null) {
+                                    subBuilder = connectionUuid_.toBuilder();
+                                }
+                                connectionUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(connectionUuid_);
+                                    connectionUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionId_descriptor;
         }
@@ -42374,7 +44127,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getConnectionUuidOrBuilder() {
-            return connectionUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : connectionUuid_;
+            return getConnectionUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -42395,7 +44148,7 @@ public final class ContextOuterClass {
             if (connectionUuid_ != null) {
                 output.writeMessage(1, getConnectionUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -42407,7 +44160,7 @@ public final class ContextOuterClass {
             if (connectionUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getConnectionUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -42427,7 +44180,7 @@ public final class ContextOuterClass {
                 if (!getConnectionUuid().equals(other.getConnectionUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -42443,7 +44196,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONNECTION_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getConnectionUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -42541,19 +44294,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                connectionUuid_ = null;
-                if (connectionUuidBuilder_ != null) {
-                    connectionUuidBuilder_.dispose();
+                if (connectionUuidBuilder_ == null) {
+                    connectionUuid_ = null;
+                } else {
+                    connectionUuid_ = null;
                     connectionUuidBuilder_ = null;
                 }
                 return this;
@@ -42581,18 +44341,43 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionId buildPartial() {
                 context.ContextOuterClass.ConnectionId result = new context.ContextOuterClass.ConnectionId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (connectionUuidBuilder_ == null) {
+                    result.connectionUuid_ = connectionUuid_;
+                } else {
+                    result.connectionUuid_ = connectionUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.connectionUuid_ = connectionUuidBuilder_ == null ? connectionUuid_ : connectionUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -42611,7 +44396,7 @@ public final class ContextOuterClass {
                 if (other.hasConnectionUuid()) {
                     mergeConnectionUuid(other.getConnectionUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -42623,47 +44408,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getConnectionUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid connectionUuid_;
 
             private com.google.protobuf.SingleFieldBuilderV3 connectionUuidBuilder_;
@@ -42673,7 +44431,7 @@ public final class ContextOuterClass {
              * @return Whether the connectionUuid field is set.
              */
             public boolean hasConnectionUuid() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return connectionUuidBuilder_ != null || connectionUuid_ != null;
             }
 
             /**
@@ -42697,11 +44455,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     connectionUuid_ = value;
+                    onChanged();
                 } else {
                     connectionUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -42711,11 +44468,10 @@ public final class ContextOuterClass {
             public Builder setConnectionUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (connectionUuidBuilder_ == null) {
                     connectionUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     connectionUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -42724,16 +44480,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeConnectionUuid(context.ContextOuterClass.Uuid value) {
                 if (connectionUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && connectionUuid_ != null && connectionUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getConnectionUuidBuilder().mergeFrom(value);
+                    if (connectionUuid_ != null) {
+                        connectionUuid_ = context.ContextOuterClass.Uuid.newBuilder(connectionUuid_).mergeFrom(value).buildPartial();
                     } else {
                         connectionUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     connectionUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -42741,13 +44496,13 @@ public final class ContextOuterClass {
              * .context.Uuid connection_uuid = 1;
              */
             public Builder clearConnectionUuid() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                connectionUuid_ = null;
-                if (connectionUuidBuilder_ != null) {
-                    connectionUuidBuilder_.dispose();
+                if (connectionUuidBuilder_ == null) {
+                    connectionUuid_ = null;
+                    onChanged();
+                } else {
+                    connectionUuid_ = null;
                     connectionUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -42755,7 +44510,6 @@ public final class ContextOuterClass {
              * .context.Uuid connection_uuid = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getConnectionUuidBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getConnectionUuidFieldBuilder().getBuilder();
             }
@@ -42809,17 +44563,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionId(input, extensionRegistry);
             }
         };
 
@@ -42877,6 +44621,50 @@ public final class ContextOuterClass {
             return new ConnectionSettings_L0();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionSettings_L0(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                lspSymbolicName_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionSettings_L0_descriptor;
         }
@@ -42888,8 +44676,7 @@ public final class ContextOuterClass {
 
         public static final int LSP_SYMBOLIC_NAME_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object lspSymbolicName_ = "";
+        private volatile java.lang.Object lspSymbolicName_;
 
         /**
          * string lsp_symbolic_name = 1;
@@ -42939,10 +44726,10 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(lspSymbolicName_)) {
+            if (!getLspSymbolicNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, lspSymbolicName_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -42951,10 +44738,10 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(lspSymbolicName_)) {
+            if (!getLspSymbolicNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, lspSymbolicName_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -42970,7 +44757,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.ConnectionSettings_L0 other = (context.ContextOuterClass.ConnectionSettings_L0) obj;
             if (!getLspSymbolicName().equals(other.getLspSymbolicName()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -42984,7 +44771,7 @@ public final class ContextOuterClass {
             hash = (19 * hash) + getDescriptor().hashCode();
             hash = (37 * hash) + LSP_SYMBOLIC_NAME_FIELD_NUMBER;
             hash = (53 * hash) + getLspSymbolicName().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -43078,16 +44865,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionSettings_L0.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 lspSymbolicName_ = "";
                 return this;
             }
@@ -43114,18 +44907,39 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionSettings_L0 buildPartial() {
                 context.ContextOuterClass.ConnectionSettings_L0 result = new context.ContextOuterClass.ConnectionSettings_L0(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.lspSymbolicName_ = lspSymbolicName_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionSettings_L0 result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.lspSymbolicName_ = lspSymbolicName_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -43143,10 +44957,9 @@ public final class ContextOuterClass {
                     return this;
                 if (!other.getLspSymbolicName().isEmpty()) {
                     lspSymbolicName_ = other.lspSymbolicName_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -43158,47 +44971,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionSettings_L0 parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    lspSymbolicName_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionSettings_L0) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private java.lang.Object lspSymbolicName_ = "";
 
             /**
@@ -43242,7 +45028,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 lspSymbolicName_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -43253,7 +45038,6 @@ public final class ContextOuterClass {
              */
             public Builder clearLspSymbolicName() {
                 lspSymbolicName_ = getDefaultInstance().getLspSymbolicName();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -43269,7 +45053,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 lspSymbolicName_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -43301,17 +45084,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionSettings_L0 parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionSettings_L0(input, extensionRegistry);
             }
         };
 
@@ -43406,6 +45179,76 @@ public final class ContextOuterClass {
             return new ConnectionSettings_L2();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionSettings_L2(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                srcMacAddress_ = s;
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                dstMacAddress_ = s;
+                                break;
+                            }
+                        case 24:
+                            {
+                                etherType_ = input.readUInt32();
+                                break;
+                            }
+                        case 32:
+                            {
+                                vlanId_ = input.readUInt32();
+                                break;
+                            }
+                        case 40:
+                            {
+                                mplsLabel_ = input.readUInt32();
+                                break;
+                            }
+                        case 48:
+                            {
+                                mplsTrafficClass_ = input.readUInt32();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionSettings_L2_descriptor;
         }
@@ -43417,8 +45260,7 @@ public final class ContextOuterClass {
 
         public static final int SRC_MAC_ADDRESS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object srcMacAddress_ = "";
+        private volatile java.lang.Object srcMacAddress_;
 
         /**
          * string src_mac_address = 1;
@@ -43455,8 +45297,7 @@ public final class ContextOuterClass {
 
         public static final int DST_MAC_ADDRESS_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object dstMacAddress_ = "";
+        private volatile java.lang.Object dstMacAddress_;
 
         /**
          * string dst_mac_address = 2;
@@ -43493,7 +45334,7 @@ public final class ContextOuterClass {
 
         public static final int ETHER_TYPE_FIELD_NUMBER = 3;
 
-        private int etherType_ = 0;
+        private int etherType_;
 
         /**
          * uint32 ether_type = 3;
@@ -43506,7 +45347,7 @@ public final class ContextOuterClass {
 
         public static final int VLAN_ID_FIELD_NUMBER = 4;
 
-        private int vlanId_ = 0;
+        private int vlanId_;
 
         /**
          * uint32 vlan_id = 4;
@@ -43519,7 +45360,7 @@ public final class ContextOuterClass {
 
         public static final int MPLS_LABEL_FIELD_NUMBER = 5;
 
-        private int mplsLabel_ = 0;
+        private int mplsLabel_;
 
         /**
          * uint32 mpls_label = 5;
@@ -43532,7 +45373,7 @@ public final class ContextOuterClass {
 
         public static final int MPLS_TRAFFIC_CLASS_FIELD_NUMBER = 6;
 
-        private int mplsTrafficClass_ = 0;
+        private int mplsTrafficClass_;
 
         /**
          * uint32 mpls_traffic_class = 6;
@@ -43558,10 +45399,10 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcMacAddress_)) {
+            if (!getSrcMacAddressBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, srcMacAddress_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstMacAddress_)) {
+            if (!getDstMacAddressBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, dstMacAddress_);
             }
             if (etherType_ != 0) {
@@ -43576,7 +45417,7 @@ public final class ContextOuterClass {
             if (mplsTrafficClass_ != 0) {
                 output.writeUInt32(6, mplsTrafficClass_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -43585,10 +45426,10 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcMacAddress_)) {
+            if (!getSrcMacAddressBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, srcMacAddress_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstMacAddress_)) {
+            if (!getDstMacAddressBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, dstMacAddress_);
             }
             if (etherType_ != 0) {
@@ -43603,7 +45444,7 @@ public final class ContextOuterClass {
             if (mplsTrafficClass_ != 0) {
                 size += com.google.protobuf.CodedOutputStream.computeUInt32Size(6, mplsTrafficClass_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -43629,7 +45470,7 @@ public final class ContextOuterClass {
                 return false;
             if (getMplsTrafficClass() != other.getMplsTrafficClass())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -43653,7 +45494,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + getMplsLabel();
             hash = (37 * hash) + MPLS_TRAFFIC_CLASS_FIELD_NUMBER;
             hash = (53 * hash) + getMplsTrafficClass();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -43747,16 +45588,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionSettings_L2.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 srcMacAddress_ = "";
                 dstMacAddress_ = "";
                 etherType_ = 0;
@@ -43788,33 +45635,44 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionSettings_L2 buildPartial() {
                 context.ContextOuterClass.ConnectionSettings_L2 result = new context.ContextOuterClass.ConnectionSettings_L2(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.srcMacAddress_ = srcMacAddress_;
+                result.dstMacAddress_ = dstMacAddress_;
+                result.etherType_ = etherType_;
+                result.vlanId_ = vlanId_;
+                result.mplsLabel_ = mplsLabel_;
+                result.mplsTrafficClass_ = mplsTrafficClass_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionSettings_L2 result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.srcMacAddress_ = srcMacAddress_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.dstMacAddress_ = dstMacAddress_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.etherType_ = etherType_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.vlanId_ = vlanId_;
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.mplsLabel_ = mplsLabel_;
-                }
-                if (((from_bitField0_ & 0x00000020) != 0)) {
-                    result.mplsTrafficClass_ = mplsTrafficClass_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -43832,12 +45690,10 @@ public final class ContextOuterClass {
                     return this;
                 if (!other.getSrcMacAddress().isEmpty()) {
                     srcMacAddress_ = other.srcMacAddress_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
                 if (!other.getDstMacAddress().isEmpty()) {
                     dstMacAddress_ = other.dstMacAddress_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (other.getEtherType() != 0) {
@@ -43852,7 +45708,7 @@ public final class ContextOuterClass {
                 if (other.getMplsTrafficClass() != 0) {
                     setMplsTrafficClass(other.getMplsTrafficClass());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -43864,82 +45720,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionSettings_L2 parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    srcMacAddress_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    dstMacAddress_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 24:
-                                {
-                                    etherType_ = input.readUInt32();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 32:
-                                {
-                                    vlanId_ = input.readUInt32();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 32
-                            case 40:
-                                {
-                                    mplsLabel_ = input.readUInt32();
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 40
-                            case 48:
-                                {
-                                    mplsTrafficClass_ = input.readUInt32();
-                                    bitField0_ |= 0x00000020;
-                                    break;
-                                }
-                            // case 48
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionSettings_L2) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private java.lang.Object srcMacAddress_ = "";
 
             /**
@@ -43983,7 +45777,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 srcMacAddress_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -43994,7 +45787,6 @@ public final class ContextOuterClass {
              */
             public Builder clearSrcMacAddress() {
                 srcMacAddress_ = getDefaultInstance().getSrcMacAddress();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -44010,7 +45802,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 srcMacAddress_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -44058,7 +45849,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 dstMacAddress_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -44069,7 +45859,6 @@ public final class ContextOuterClass {
              */
             public Builder clearDstMacAddress() {
                 dstMacAddress_ = getDefaultInstance().getDstMacAddress();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -44085,7 +45874,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 dstMacAddress_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -44108,7 +45896,6 @@ public final class ContextOuterClass {
              */
             public Builder setEtherType(int value) {
                 etherType_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -44118,7 +45905,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearEtherType() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 etherType_ = 0;
                 onChanged();
                 return this;
@@ -44142,7 +45928,6 @@ public final class ContextOuterClass {
              */
             public Builder setVlanId(int value) {
                 vlanId_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -44152,7 +45937,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearVlanId() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 vlanId_ = 0;
                 onChanged();
                 return this;
@@ -44176,7 +45960,6 @@ public final class ContextOuterClass {
              */
             public Builder setMplsLabel(int value) {
                 mplsLabel_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -44186,7 +45969,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearMplsLabel() {
-                bitField0_ = (bitField0_ & ~0x00000010);
                 mplsLabel_ = 0;
                 onChanged();
                 return this;
@@ -44210,7 +45992,6 @@ public final class ContextOuterClass {
              */
             public Builder setMplsTrafficClass(int value) {
                 mplsTrafficClass_ = value;
-                bitField0_ |= 0x00000020;
                 onChanged();
                 return this;
             }
@@ -44220,7 +46001,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearMplsTrafficClass() {
-                bitField0_ = (bitField0_ & ~0x00000020);
                 mplsTrafficClass_ = 0;
                 onChanged();
                 return this;
@@ -44253,17 +46033,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionSettings_L2 parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionSettings_L2(input, extensionRegistry);
             }
         };
 
@@ -44352,6 +46122,71 @@ public final class ContextOuterClass {
             return new ConnectionSettings_L3();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionSettings_L3(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                srcIpAddress_ = s;
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                dstIpAddress_ = s;
+                                break;
+                            }
+                        case 24:
+                            {
+                                dscp_ = input.readUInt32();
+                                break;
+                            }
+                        case 32:
+                            {
+                                protocol_ = input.readUInt32();
+                                break;
+                            }
+                        case 40:
+                            {
+                                ttl_ = input.readUInt32();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionSettings_L3_descriptor;
         }
@@ -44363,8 +46198,7 @@ public final class ContextOuterClass {
 
         public static final int SRC_IP_ADDRESS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object srcIpAddress_ = "";
+        private volatile java.lang.Object srcIpAddress_;
 
         /**
          * string src_ip_address = 1;
@@ -44401,8 +46235,7 @@ public final class ContextOuterClass {
 
         public static final int DST_IP_ADDRESS_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object dstIpAddress_ = "";
+        private volatile java.lang.Object dstIpAddress_;
 
         /**
          * string dst_ip_address = 2;
@@ -44439,7 +46272,7 @@ public final class ContextOuterClass {
 
         public static final int DSCP_FIELD_NUMBER = 3;
 
-        private int dscp_ = 0;
+        private int dscp_;
 
         /**
          * uint32 dscp = 3;
@@ -44452,7 +46285,7 @@ public final class ContextOuterClass {
 
         public static final int PROTOCOL_FIELD_NUMBER = 4;
 
-        private int protocol_ = 0;
+        private int protocol_;
 
         /**
          * uint32 protocol = 4;
@@ -44465,7 +46298,7 @@ public final class ContextOuterClass {
 
         public static final int TTL_FIELD_NUMBER = 5;
 
-        private int ttl_ = 0;
+        private int ttl_;
 
         /**
          * uint32 ttl = 5;
@@ -44491,10 +46324,10 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcIpAddress_)) {
+            if (!getSrcIpAddressBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, srcIpAddress_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstIpAddress_)) {
+            if (!getDstIpAddressBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, dstIpAddress_);
             }
             if (dscp_ != 0) {
@@ -44506,7 +46339,7 @@ public final class ContextOuterClass {
             if (ttl_ != 0) {
                 output.writeUInt32(5, ttl_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -44515,10 +46348,10 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcIpAddress_)) {
+            if (!getSrcIpAddressBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, srcIpAddress_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstIpAddress_)) {
+            if (!getDstIpAddressBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, dstIpAddress_);
             }
             if (dscp_ != 0) {
@@ -44530,7 +46363,7 @@ public final class ContextOuterClass {
             if (ttl_ != 0) {
                 size += com.google.protobuf.CodedOutputStream.computeUInt32Size(5, ttl_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -44554,7 +46387,7 @@ public final class ContextOuterClass {
                 return false;
             if (getTtl() != other.getTtl())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -44576,7 +46409,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + getProtocol();
             hash = (37 * hash) + TTL_FIELD_NUMBER;
             hash = (53 * hash) + getTtl();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -44670,16 +46503,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionSettings_L3.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 srcIpAddress_ = "";
                 dstIpAddress_ = "";
                 dscp_ = 0;
@@ -44710,30 +46549,43 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionSettings_L3 buildPartial() {
                 context.ContextOuterClass.ConnectionSettings_L3 result = new context.ContextOuterClass.ConnectionSettings_L3(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.srcIpAddress_ = srcIpAddress_;
+                result.dstIpAddress_ = dstIpAddress_;
+                result.dscp_ = dscp_;
+                result.protocol_ = protocol_;
+                result.ttl_ = ttl_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionSettings_L3 result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.srcIpAddress_ = srcIpAddress_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.dstIpAddress_ = dstIpAddress_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.dscp_ = dscp_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.protocol_ = protocol_;
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.ttl_ = ttl_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -44751,12 +46603,10 @@ public final class ContextOuterClass {
                     return this;
                 if (!other.getSrcIpAddress().isEmpty()) {
                     srcIpAddress_ = other.srcIpAddress_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
                 if (!other.getDstIpAddress().isEmpty()) {
                     dstIpAddress_ = other.dstIpAddress_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (other.getDscp() != 0) {
@@ -44768,7 +46618,7 @@ public final class ContextOuterClass {
                 if (other.getTtl() != 0) {
                     setTtl(other.getTtl());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -44780,75 +46630,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionSettings_L3 parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    srcIpAddress_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    dstIpAddress_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 24:
-                                {
-                                    dscp_ = input.readUInt32();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 32:
-                                {
-                                    protocol_ = input.readUInt32();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 32
-                            case 40:
-                                {
-                                    ttl_ = input.readUInt32();
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 40
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionSettings_L3) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private java.lang.Object srcIpAddress_ = "";
 
             /**
@@ -44892,7 +46687,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 srcIpAddress_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -44903,7 +46697,6 @@ public final class ContextOuterClass {
              */
             public Builder clearSrcIpAddress() {
                 srcIpAddress_ = getDefaultInstance().getSrcIpAddress();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -44919,7 +46712,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 srcIpAddress_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -44967,7 +46759,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 dstIpAddress_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -44978,7 +46769,6 @@ public final class ContextOuterClass {
              */
             public Builder clearDstIpAddress() {
                 dstIpAddress_ = getDefaultInstance().getDstIpAddress();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -44994,7 +46784,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 dstIpAddress_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -45017,7 +46806,6 @@ public final class ContextOuterClass {
              */
             public Builder setDscp(int value) {
                 dscp_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -45027,7 +46815,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearDscp() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 dscp_ = 0;
                 onChanged();
                 return this;
@@ -45051,7 +46838,6 @@ public final class ContextOuterClass {
              */
             public Builder setProtocol(int value) {
                 protocol_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -45061,7 +46847,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearProtocol() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 protocol_ = 0;
                 onChanged();
                 return this;
@@ -45085,7 +46870,6 @@ public final class ContextOuterClass {
              */
             public Builder setTtl(int value) {
                 ttl_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -45095,7 +46879,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearTtl() {
-                bitField0_ = (bitField0_ & ~0x00000010);
                 ttl_ = 0;
                 onChanged();
                 return this;
@@ -45128,17 +46911,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionSettings_L3 parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionSettings_L3(input, extensionRegistry);
             }
         };
 
@@ -45207,6 +46980,64 @@ public final class ContextOuterClass {
             return new ConnectionSettings_L4();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionSettings_L4(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                srcPort_ = input.readUInt32();
+                                break;
+                            }
+                        case 16:
+                            {
+                                dstPort_ = input.readUInt32();
+                                break;
+                            }
+                        case 24:
+                            {
+                                tcpFlags_ = input.readUInt32();
+                                break;
+                            }
+                        case 32:
+                            {
+                                ttl_ = input.readUInt32();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionSettings_L4_descriptor;
         }
@@ -45218,7 +47049,7 @@ public final class ContextOuterClass {
 
         public static final int SRC_PORT_FIELD_NUMBER = 1;
 
-        private int srcPort_ = 0;
+        private int srcPort_;
 
         /**
          * uint32 src_port = 1;
@@ -45231,7 +47062,7 @@ public final class ContextOuterClass {
 
         public static final int DST_PORT_FIELD_NUMBER = 2;
 
-        private int dstPort_ = 0;
+        private int dstPort_;
 
         /**
          * uint32 dst_port = 2;
@@ -45244,7 +47075,7 @@ public final class ContextOuterClass {
 
         public static final int TCP_FLAGS_FIELD_NUMBER = 3;
 
-        private int tcpFlags_ = 0;
+        private int tcpFlags_;
 
         /**
          * uint32 tcp_flags = 3;
@@ -45257,7 +47088,7 @@ public final class ContextOuterClass {
 
         public static final int TTL_FIELD_NUMBER = 4;
 
-        private int ttl_ = 0;
+        private int ttl_;
 
         /**
          * uint32 ttl = 4;
@@ -45295,7 +47126,7 @@ public final class ContextOuterClass {
             if (ttl_ != 0) {
                 output.writeUInt32(4, ttl_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -45316,7 +47147,7 @@ public final class ContextOuterClass {
             if (ttl_ != 0) {
                 size += com.google.protobuf.CodedOutputStream.computeUInt32Size(4, ttl_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -45338,7 +47169,7 @@ public final class ContextOuterClass {
                 return false;
             if (getTtl() != other.getTtl())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -45358,7 +47189,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + getTcpFlags();
             hash = (37 * hash) + TTL_FIELD_NUMBER;
             hash = (53 * hash) + getTtl();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -45452,16 +47283,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionSettings_L4.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 srcPort_ = 0;
                 dstPort_ = 0;
                 tcpFlags_ = 0;
@@ -45491,27 +47328,42 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionSettings_L4 buildPartial() {
                 context.ContextOuterClass.ConnectionSettings_L4 result = new context.ContextOuterClass.ConnectionSettings_L4(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.srcPort_ = srcPort_;
+                result.dstPort_ = dstPort_;
+                result.tcpFlags_ = tcpFlags_;
+                result.ttl_ = ttl_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionSettings_L4 result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.srcPort_ = srcPort_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.dstPort_ = dstPort_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.tcpFlags_ = tcpFlags_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.ttl_ = ttl_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -45539,7 +47391,7 @@ public final class ContextOuterClass {
                 if (other.getTtl() != 0) {
                     setTtl(other.getTtl());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -45551,68 +47403,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionSettings_L4 parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    srcPort_ = input.readUInt32();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            case 16:
-                                {
-                                    dstPort_ = input.readUInt32();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            case 24:
-                                {
-                                    tcpFlags_ = input.readUInt32();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 32:
-                                {
-                                    ttl_ = input.readUInt32();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 32
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionSettings_L4) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private int srcPort_;
 
             /**
@@ -45631,7 +47435,6 @@ public final class ContextOuterClass {
              */
             public Builder setSrcPort(int value) {
                 srcPort_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -45641,7 +47444,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearSrcPort() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 srcPort_ = 0;
                 onChanged();
                 return this;
@@ -45665,7 +47467,6 @@ public final class ContextOuterClass {
              */
             public Builder setDstPort(int value) {
                 dstPort_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -45675,7 +47476,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearDstPort() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 dstPort_ = 0;
                 onChanged();
                 return this;
@@ -45699,7 +47499,6 @@ public final class ContextOuterClass {
              */
             public Builder setTcpFlags(int value) {
                 tcpFlags_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -45709,7 +47508,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearTcpFlags() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 tcpFlags_ = 0;
                 onChanged();
                 return this;
@@ -45733,7 +47531,6 @@ public final class ContextOuterClass {
              */
             public Builder setTtl(int value) {
                 ttl_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -45743,7 +47540,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearTtl() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 ttl_ = 0;
                 onChanged();
                 return this;
@@ -45776,17 +47572,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionSettings_L4 parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionSettings_L4(input, extensionRegistry);
             }
         };
 
@@ -45899,6 +47685,96 @@ public final class ContextOuterClass {
             return new ConnectionSettings();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionSettings(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ConnectionSettings_L0.Builder subBuilder = null;
+                                if (l0_ != null) {
+                                    subBuilder = l0_.toBuilder();
+                                }
+                                l0_ = input.readMessage(context.ContextOuterClass.ConnectionSettings_L0.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(l0_);
+                                    l0_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.ConnectionSettings_L2.Builder subBuilder = null;
+                                if (l2_ != null) {
+                                    subBuilder = l2_.toBuilder();
+                                }
+                                l2_ = input.readMessage(context.ContextOuterClass.ConnectionSettings_L2.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(l2_);
+                                    l2_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 26:
+                            {
+                                context.ContextOuterClass.ConnectionSettings_L3.Builder subBuilder = null;
+                                if (l3_ != null) {
+                                    subBuilder = l3_.toBuilder();
+                                }
+                                l3_ = input.readMessage(context.ContextOuterClass.ConnectionSettings_L3.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(l3_);
+                                    l3_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 34:
+                            {
+                                context.ContextOuterClass.ConnectionSettings_L4.Builder subBuilder = null;
+                                if (l4_ != null) {
+                                    subBuilder = l4_.toBuilder();
+                                }
+                                l4_ = input.readMessage(context.ContextOuterClass.ConnectionSettings_L4.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(l4_);
+                                    l4_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionSettings_descriptor;
         }
@@ -45935,7 +47811,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConnectionSettings_L0OrBuilder getL0OrBuilder() {
-            return l0_ == null ? context.ContextOuterClass.ConnectionSettings_L0.getDefaultInstance() : l0_;
+            return getL0();
         }
 
         public static final int L2_FIELD_NUMBER = 2;
@@ -45965,7 +47841,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConnectionSettings_L2OrBuilder getL2OrBuilder() {
-            return l2_ == null ? context.ContextOuterClass.ConnectionSettings_L2.getDefaultInstance() : l2_;
+            return getL2();
         }
 
         public static final int L3_FIELD_NUMBER = 3;
@@ -45995,7 +47871,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConnectionSettings_L3OrBuilder getL3OrBuilder() {
-            return l3_ == null ? context.ContextOuterClass.ConnectionSettings_L3.getDefaultInstance() : l3_;
+            return getL3();
         }
 
         public static final int L4_FIELD_NUMBER = 4;
@@ -46025,7 +47901,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConnectionSettings_L4OrBuilder getL4OrBuilder() {
-            return l4_ == null ? context.ContextOuterClass.ConnectionSettings_L4.getDefaultInstance() : l4_;
+            return getL4();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -46055,7 +47931,7 @@ public final class ContextOuterClass {
             if (l4_ != null) {
                 output.writeMessage(4, getL4());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -46076,7 +47952,7 @@ public final class ContextOuterClass {
             if (l4_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getL4());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -46114,7 +47990,7 @@ public final class ContextOuterClass {
                 if (!getL4().equals(other.getL4()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -46142,7 +48018,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + L4_FIELD_NUMBER;
                 hash = (53 * hash) + getL4().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -46236,34 +48112,44 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionSettings.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                l0_ = null;
-                if (l0Builder_ != null) {
-                    l0Builder_.dispose();
+                if (l0Builder_ == null) {
+                    l0_ = null;
+                } else {
+                    l0_ = null;
                     l0Builder_ = null;
                 }
-                l2_ = null;
-                if (l2Builder_ != null) {
-                    l2Builder_.dispose();
+                if (l2Builder_ == null) {
+                    l2_ = null;
+                } else {
+                    l2_ = null;
                     l2Builder_ = null;
                 }
-                l3_ = null;
-                if (l3Builder_ != null) {
-                    l3Builder_.dispose();
+                if (l3Builder_ == null) {
+                    l3_ = null;
+                } else {
+                    l3_ = null;
                     l3Builder_ = null;
                 }
-                l4_ = null;
-                if (l4Builder_ != null) {
-                    l4Builder_.dispose();
+                if (l4Builder_ == null) {
+                    l4_ = null;
+                } else {
+                    l4_ = null;
                     l4Builder_ = null;
                 }
                 return this;
@@ -46291,27 +48177,58 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionSettings buildPartial() {
                 context.ContextOuterClass.ConnectionSettings result = new context.ContextOuterClass.ConnectionSettings(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (l0Builder_ == null) {
+                    result.l0_ = l0_;
+                } else {
+                    result.l0_ = l0Builder_.build();
+                }
+                if (l2Builder_ == null) {
+                    result.l2_ = l2_;
+                } else {
+                    result.l2_ = l2Builder_.build();
+                }
+                if (l3Builder_ == null) {
+                    result.l3_ = l3_;
+                } else {
+                    result.l3_ = l3Builder_.build();
+                }
+                if (l4Builder_ == null) {
+                    result.l4_ = l4_;
+                } else {
+                    result.l4_ = l4Builder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionSettings result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.l0_ = l0Builder_ == null ? l0_ : l0Builder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.l2_ = l2Builder_ == null ? l2_ : l2Builder_.build();
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.l3_ = l3Builder_ == null ? l3_ : l3Builder_.build();
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.l4_ = l4Builder_ == null ? l4_ : l4Builder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -46339,7 +48256,7 @@ public final class ContextOuterClass {
                 if (other.hasL4()) {
                     mergeL4(other.getL4());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -46351,68 +48268,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionSettings parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getL0FieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getL2FieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    input.readMessage(getL3FieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    input.readMessage(getL4FieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 34
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionSettings) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.ConnectionSettings_L0 l0_;
 
             private com.google.protobuf.SingleFieldBuilderV3 l0Builder_;
@@ -46422,7 +48291,7 @@ public final class ContextOuterClass {
              * @return Whether the l0 field is set.
              */
             public boolean hasL0() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return l0Builder_ != null || l0_ != null;
             }
 
             /**
@@ -46446,11 +48315,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     l0_ = value;
+                    onChanged();
                 } else {
                     l0Builder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -46460,11 +48328,10 @@ public final class ContextOuterClass {
             public Builder setL0(context.ContextOuterClass.ConnectionSettings_L0.Builder builderForValue) {
                 if (l0Builder_ == null) {
                     l0_ = builderForValue.build();
+                    onChanged();
                 } else {
                     l0Builder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -46473,16 +48340,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeL0(context.ContextOuterClass.ConnectionSettings_L0 value) {
                 if (l0Builder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && l0_ != null && l0_ != context.ContextOuterClass.ConnectionSettings_L0.getDefaultInstance()) {
-                        getL0Builder().mergeFrom(value);
+                    if (l0_ != null) {
+                        l0_ = context.ContextOuterClass.ConnectionSettings_L0.newBuilder(l0_).mergeFrom(value).buildPartial();
                     } else {
                         l0_ = value;
                     }
+                    onChanged();
                 } else {
                     l0Builder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -46490,13 +48356,13 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings_L0 l0 = 1;
              */
             public Builder clearL0() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                l0_ = null;
-                if (l0Builder_ != null) {
-                    l0Builder_.dispose();
+                if (l0Builder_ == null) {
+                    l0_ = null;
+                    onChanged();
+                } else {
+                    l0_ = null;
                     l0Builder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -46504,7 +48370,6 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings_L0 l0 = 1;
              */
             public context.ContextOuterClass.ConnectionSettings_L0.Builder getL0Builder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getL0FieldBuilder().getBuilder();
             }
@@ -46540,7 +48405,7 @@ public final class ContextOuterClass {
              * @return Whether the l2 field is set.
              */
             public boolean hasL2() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return l2Builder_ != null || l2_ != null;
             }
 
             /**
@@ -46564,11 +48429,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     l2_ = value;
+                    onChanged();
                 } else {
                     l2Builder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -46578,11 +48442,10 @@ public final class ContextOuterClass {
             public Builder setL2(context.ContextOuterClass.ConnectionSettings_L2.Builder builderForValue) {
                 if (l2Builder_ == null) {
                     l2_ = builderForValue.build();
+                    onChanged();
                 } else {
                     l2Builder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -46591,16 +48454,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeL2(context.ContextOuterClass.ConnectionSettings_L2 value) {
                 if (l2Builder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && l2_ != null && l2_ != context.ContextOuterClass.ConnectionSettings_L2.getDefaultInstance()) {
-                        getL2Builder().mergeFrom(value);
+                    if (l2_ != null) {
+                        l2_ = context.ContextOuterClass.ConnectionSettings_L2.newBuilder(l2_).mergeFrom(value).buildPartial();
                     } else {
                         l2_ = value;
                     }
+                    onChanged();
                 } else {
                     l2Builder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -46608,13 +48470,13 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings_L2 l2 = 2;
              */
             public Builder clearL2() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                l2_ = null;
-                if (l2Builder_ != null) {
-                    l2Builder_.dispose();
+                if (l2Builder_ == null) {
+                    l2_ = null;
+                    onChanged();
+                } else {
+                    l2_ = null;
                     l2Builder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -46622,7 +48484,6 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings_L2 l2 = 2;
              */
             public context.ContextOuterClass.ConnectionSettings_L2.Builder getL2Builder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getL2FieldBuilder().getBuilder();
             }
@@ -46658,7 +48519,7 @@ public final class ContextOuterClass {
              * @return Whether the l3 field is set.
              */
             public boolean hasL3() {
-                return ((bitField0_ & 0x00000004) != 0);
+                return l3Builder_ != null || l3_ != null;
             }
 
             /**
@@ -46682,11 +48543,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     l3_ = value;
+                    onChanged();
                 } else {
                     l3Builder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -46696,11 +48556,10 @@ public final class ContextOuterClass {
             public Builder setL3(context.ContextOuterClass.ConnectionSettings_L3.Builder builderForValue) {
                 if (l3Builder_ == null) {
                     l3_ = builderForValue.build();
+                    onChanged();
                 } else {
                     l3Builder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -46709,16 +48568,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeL3(context.ContextOuterClass.ConnectionSettings_L3 value) {
                 if (l3Builder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0) && l3_ != null && l3_ != context.ContextOuterClass.ConnectionSettings_L3.getDefaultInstance()) {
-                        getL3Builder().mergeFrom(value);
+                    if (l3_ != null) {
+                        l3_ = context.ContextOuterClass.ConnectionSettings_L3.newBuilder(l3_).mergeFrom(value).buildPartial();
                     } else {
                         l3_ = value;
                     }
+                    onChanged();
                 } else {
                     l3Builder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -46726,13 +48584,13 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings_L3 l3 = 3;
              */
             public Builder clearL3() {
-                bitField0_ = (bitField0_ & ~0x00000004);
-                l3_ = null;
-                if (l3Builder_ != null) {
-                    l3Builder_.dispose();
+                if (l3Builder_ == null) {
+                    l3_ = null;
+                    onChanged();
+                } else {
+                    l3_ = null;
                     l3Builder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -46740,7 +48598,6 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings_L3 l3 = 3;
              */
             public context.ContextOuterClass.ConnectionSettings_L3.Builder getL3Builder() {
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return getL3FieldBuilder().getBuilder();
             }
@@ -46776,7 +48633,7 @@ public final class ContextOuterClass {
              * @return Whether the l4 field is set.
              */
             public boolean hasL4() {
-                return ((bitField0_ & 0x00000008) != 0);
+                return l4Builder_ != null || l4_ != null;
             }
 
             /**
@@ -46800,11 +48657,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     l4_ = value;
+                    onChanged();
                 } else {
                     l4Builder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -46814,11 +48670,10 @@ public final class ContextOuterClass {
             public Builder setL4(context.ContextOuterClass.ConnectionSettings_L4.Builder builderForValue) {
                 if (l4Builder_ == null) {
                     l4_ = builderForValue.build();
+                    onChanged();
                 } else {
                     l4Builder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -46827,16 +48682,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeL4(context.ContextOuterClass.ConnectionSettings_L4 value) {
                 if (l4Builder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0) && l4_ != null && l4_ != context.ContextOuterClass.ConnectionSettings_L4.getDefaultInstance()) {
-                        getL4Builder().mergeFrom(value);
+                    if (l4_ != null) {
+                        l4_ = context.ContextOuterClass.ConnectionSettings_L4.newBuilder(l4_).mergeFrom(value).buildPartial();
                     } else {
                         l4_ = value;
                     }
+                    onChanged();
                 } else {
                     l4Builder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -46844,13 +48698,13 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings_L4 l4 = 4;
              */
             public Builder clearL4() {
-                bitField0_ = (bitField0_ & ~0x00000008);
-                l4_ = null;
-                if (l4Builder_ != null) {
-                    l4Builder_.dispose();
+                if (l4Builder_ == null) {
+                    l4_ = null;
+                    onChanged();
+                } else {
+                    l4_ = null;
                     l4Builder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -46858,7 +48712,6 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings_L4 l4 = 4;
              */
             public context.ContextOuterClass.ConnectionSettings_L4.Builder getL4Builder() {
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return getL4FieldBuilder().getBuilder();
             }
@@ -46912,17 +48765,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionSettings parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionSettings(input, extensionRegistry);
             }
         };
 
@@ -47070,6 +48913,108 @@ public final class ContextOuterClass {
             return new Connection();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Connection(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ConnectionId.Builder subBuilder = null;
+                                if (connectionId_ != null) {
+                                    subBuilder = connectionId_.toBuilder();
+                                }
+                                connectionId_ = input.readMessage(context.ContextOuterClass.ConnectionId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(connectionId_);
+                                    connectionId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.ServiceId.Builder subBuilder = null;
+                                if (serviceId_ != null) {
+                                    subBuilder = serviceId_.toBuilder();
+                                }
+                                serviceId_ = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(serviceId_);
+                                    serviceId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 26:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    pathHopsEndpointIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                pathHopsEndpointIds_.add(input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 34:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+                                    subServiceIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000002;
+                                }
+                                subServiceIds_.add(input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 42:
+                            {
+                                context.ContextOuterClass.ConnectionSettings.Builder subBuilder = null;
+                                if (settings_ != null) {
+                                    subBuilder = settings_.toBuilder();
+                                }
+                                settings_ = input.readMessage(context.ContextOuterClass.ConnectionSettings.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(settings_);
+                                    settings_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    pathHopsEndpointIds_ = java.util.Collections.unmodifiableList(pathHopsEndpointIds_);
+                }
+                if (((mutable_bitField0_ & 0x00000002) != 0)) {
+                    subServiceIds_ = java.util.Collections.unmodifiableList(subServiceIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Connection_descriptor;
         }
@@ -47106,7 +49051,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder() {
-            return connectionId_ == null ? context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_;
+            return getConnectionId();
         }
 
         public static final int SERVICE_ID_FIELD_NUMBER = 2;
@@ -47136,12 +49081,11 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() {
-            return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_;
+            return getServiceId();
         }
 
         public static final int PATH_HOPS_ENDPOINT_IDS_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
         private java.util.List pathHopsEndpointIds_;
 
         /**
@@ -47186,7 +49130,6 @@ public final class ContextOuterClass {
 
         public static final int SUB_SERVICE_IDS_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
         private java.util.List subServiceIds_;
 
         /**
@@ -47256,7 +49199,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConnectionSettingsOrBuilder getSettingsOrBuilder() {
-            return settings_ == null ? context.ContextOuterClass.ConnectionSettings.getDefaultInstance() : settings_;
+            return getSettings();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -47289,7 +49232,7 @@ public final class ContextOuterClass {
             if (settings_ != null) {
                 output.writeMessage(5, getSettings());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -47313,7 +49256,7 @@ public final class ContextOuterClass {
             if (settings_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getSettings());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -47349,7 +49292,7 @@ public final class ContextOuterClass {
                 if (!getSettings().equals(other.getSettings()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -47381,7 +49324,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SETTINGS_FIELD_NUMBER;
                 hash = (53 * hash) + getSettings().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -47475,43 +49418,52 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Connection.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getPathHopsEndpointIdsFieldBuilder();
+                    getSubServiceIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                connectionId_ = null;
-                if (connectionIdBuilder_ != null) {
-                    connectionIdBuilder_.dispose();
+                if (connectionIdBuilder_ == null) {
+                    connectionId_ = null;
+                } else {
+                    connectionId_ = null;
                     connectionIdBuilder_ = null;
                 }
-                serviceId_ = null;
-                if (serviceIdBuilder_ != null) {
-                    serviceIdBuilder_.dispose();
+                if (serviceIdBuilder_ == null) {
+                    serviceId_ = null;
+                } else {
+                    serviceId_ = null;
                     serviceIdBuilder_ = null;
                 }
                 if (pathHopsEndpointIdsBuilder_ == null) {
                     pathHopsEndpointIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    pathHopsEndpointIds_ = null;
                     pathHopsEndpointIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000004);
                 if (subServiceIdsBuilder_ == null) {
                     subServiceIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000002);
                 } else {
-                    subServiceIds_ = null;
                     subServiceIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000008);
-                settings_ = null;
-                if (settingsBuilder_ != null) {
-                    settingsBuilder_.dispose();
+                if (settingsBuilder_ == null) {
+                    settings_ = null;
+                } else {
+                    settings_ = null;
                     settingsBuilder_ = null;
                 }
                 return this;
@@ -47539,46 +49491,72 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Connection buildPartial() {
                 context.ContextOuterClass.Connection result = new context.ContextOuterClass.Connection(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (connectionIdBuilder_ == null) {
+                    result.connectionId_ = connectionId_;
+                } else {
+                    result.connectionId_ = connectionIdBuilder_.build();
+                }
+                if (serviceIdBuilder_ == null) {
+                    result.serviceId_ = serviceId_;
+                } else {
+                    result.serviceId_ = serviceIdBuilder_.build();
                 }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.Connection result) {
                 if (pathHopsEndpointIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         pathHopsEndpointIds_ = java.util.Collections.unmodifiableList(pathHopsEndpointIds_);
-                        bitField0_ = (bitField0_ & ~0x00000004);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.pathHopsEndpointIds_ = pathHopsEndpointIds_;
                 } else {
                     result.pathHopsEndpointIds_ = pathHopsEndpointIdsBuilder_.build();
                 }
                 if (subServiceIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0)) {
+                    if (((bitField0_ & 0x00000002) != 0)) {
                         subServiceIds_ = java.util.Collections.unmodifiableList(subServiceIds_);
-                        bitField0_ = (bitField0_ & ~0x00000008);
+                        bitField0_ = (bitField0_ & ~0x00000002);
                     }
                     result.subServiceIds_ = subServiceIds_;
                 } else {
                     result.subServiceIds_ = subServiceIdsBuilder_.build();
                 }
+                if (settingsBuilder_ == null) {
+                    result.settings_ = settings_;
+                } else {
+                    result.settings_ = settingsBuilder_.build();
+                }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Connection result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.connectionId_ = connectionIdBuilder_ == null ? connectionId_ : connectionIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.serviceId_ = serviceIdBuilder_ == null ? serviceId_ : serviceIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.settings_ = settingsBuilder_ == null ? settings_ : settingsBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -47604,7 +49582,7 @@ public final class ContextOuterClass {
                     if (!other.pathHopsEndpointIds_.isEmpty()) {
                         if (pathHopsEndpointIds_.isEmpty()) {
                             pathHopsEndpointIds_ = other.pathHopsEndpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensurePathHopsEndpointIdsIsMutable();
                             pathHopsEndpointIds_.addAll(other.pathHopsEndpointIds_);
@@ -47617,7 +49595,7 @@ public final class ContextOuterClass {
                             pathHopsEndpointIdsBuilder_.dispose();
                             pathHopsEndpointIdsBuilder_ = null;
                             pathHopsEndpointIds_ = other.pathHopsEndpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             pathHopsEndpointIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getPathHopsEndpointIdsFieldBuilder() : null;
                         } else {
                             pathHopsEndpointIdsBuilder_.addAllMessages(other.pathHopsEndpointIds_);
@@ -47628,7 +49606,7 @@ public final class ContextOuterClass {
                     if (!other.subServiceIds_.isEmpty()) {
                         if (subServiceIds_.isEmpty()) {
                             subServiceIds_ = other.subServiceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                         } else {
                             ensureSubServiceIdsIsMutable();
                             subServiceIds_.addAll(other.subServiceIds_);
@@ -47641,7 +49619,7 @@ public final class ContextOuterClass {
                             subServiceIdsBuilder_.dispose();
                             subServiceIdsBuilder_ = null;
                             subServiceIds_ = other.subServiceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                             subServiceIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getSubServiceIdsFieldBuilder() : null;
                         } else {
                             subServiceIdsBuilder_.addAllMessages(other.subServiceIds_);
@@ -47651,7 +49629,7 @@ public final class ContextOuterClass {
                 if (other.hasSettings()) {
                     mergeSettings(other.getSettings());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -47663,80 +49641,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Connection parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getConnectionIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getServiceIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    context.ContextOuterClass.EndPointId m = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
-                                    if (pathHopsEndpointIdsBuilder_ == null) {
-                                        ensurePathHopsEndpointIdsIsMutable();
-                                        pathHopsEndpointIds_.add(m);
-                                    } else {
-                                        pathHopsEndpointIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    context.ContextOuterClass.ServiceId m = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry);
-                                    if (subServiceIdsBuilder_ == null) {
-                                        ensureSubServiceIdsIsMutable();
-                                        subServiceIds_.add(m);
-                                    } else {
-                                        subServiceIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    input.readMessage(getSettingsFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 42
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Connection) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -47751,7 +49666,7 @@ public final class ContextOuterClass {
              * @return Whether the connectionId field is set.
              */
             public boolean hasConnectionId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return connectionIdBuilder_ != null || connectionId_ != null;
             }
 
             /**
@@ -47775,11 +49690,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     connectionId_ = value;
+                    onChanged();
                 } else {
                     connectionIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -47789,11 +49703,10 @@ public final class ContextOuterClass {
             public Builder setConnectionId(context.ContextOuterClass.ConnectionId.Builder builderForValue) {
                 if (connectionIdBuilder_ == null) {
                     connectionId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     connectionIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -47802,16 +49715,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeConnectionId(context.ContextOuterClass.ConnectionId value) {
                 if (connectionIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && connectionId_ != null && connectionId_ != context.ContextOuterClass.ConnectionId.getDefaultInstance()) {
-                        getConnectionIdBuilder().mergeFrom(value);
+                    if (connectionId_ != null) {
+                        connectionId_ = context.ContextOuterClass.ConnectionId.newBuilder(connectionId_).mergeFrom(value).buildPartial();
                     } else {
                         connectionId_ = value;
                     }
+                    onChanged();
                 } else {
                     connectionIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -47819,13 +49731,13 @@ public final class ContextOuterClass {
              * .context.ConnectionId connection_id = 1;
              */
             public Builder clearConnectionId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                connectionId_ = null;
-                if (connectionIdBuilder_ != null) {
-                    connectionIdBuilder_.dispose();
+                if (connectionIdBuilder_ == null) {
+                    connectionId_ = null;
+                    onChanged();
+                } else {
+                    connectionId_ = null;
                     connectionIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -47833,7 +49745,6 @@ public final class ContextOuterClass {
              * .context.ConnectionId connection_id = 1;
              */
             public context.ContextOuterClass.ConnectionId.Builder getConnectionIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getConnectionIdFieldBuilder().getBuilder();
             }
@@ -47869,7 +49780,7 @@ public final class ContextOuterClass {
              * @return Whether the serviceId field is set.
              */
             public boolean hasServiceId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return serviceIdBuilder_ != null || serviceId_ != null;
             }
 
             /**
@@ -47893,11 +49804,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     serviceId_ = value;
+                    onChanged();
                 } else {
                     serviceIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -47907,11 +49817,10 @@ public final class ContextOuterClass {
             public Builder setServiceId(context.ContextOuterClass.ServiceId.Builder builderForValue) {
                 if (serviceIdBuilder_ == null) {
                     serviceId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     serviceIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -47920,16 +49829,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeServiceId(context.ContextOuterClass.ServiceId value) {
                 if (serviceIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && serviceId_ != null && serviceId_ != context.ContextOuterClass.ServiceId.getDefaultInstance()) {
-                        getServiceIdBuilder().mergeFrom(value);
+                    if (serviceId_ != null) {
+                        serviceId_ = context.ContextOuterClass.ServiceId.newBuilder(serviceId_).mergeFrom(value).buildPartial();
                     } else {
                         serviceId_ = value;
                     }
+                    onChanged();
                 } else {
                     serviceIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -47937,13 +49845,13 @@ public final class ContextOuterClass {
              * .context.ServiceId service_id = 2;
              */
             public Builder clearServiceId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                serviceId_ = null;
-                if (serviceIdBuilder_ != null) {
-                    serviceIdBuilder_.dispose();
+                if (serviceIdBuilder_ == null) {
+                    serviceId_ = null;
+                    onChanged();
+                } else {
+                    serviceId_ = null;
                     serviceIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -47951,7 +49859,6 @@ public final class ContextOuterClass {
              * .context.ServiceId service_id = 2;
              */
             public context.ContextOuterClass.ServiceId.Builder getServiceIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getServiceIdFieldBuilder().getBuilder();
             }
@@ -47981,9 +49888,9 @@ public final class ContextOuterClass {
             private java.util.List pathHopsEndpointIds_ = java.util.Collections.emptyList();
 
             private void ensurePathHopsEndpointIdsIsMutable() {
-                if (!((bitField0_ & 0x00000004) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     pathHopsEndpointIds_ = new java.util.ArrayList(pathHopsEndpointIds_);
-                    bitField0_ |= 0x00000004;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -48135,7 +50042,7 @@ public final class ContextOuterClass {
             public Builder clearPathHopsEndpointIds() {
                 if (pathHopsEndpointIdsBuilder_ == null) {
                     pathHopsEndpointIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000004);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     pathHopsEndpointIdsBuilder_.clear();
@@ -48209,7 +50116,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getPathHopsEndpointIdsFieldBuilder() {
                 if (pathHopsEndpointIdsBuilder_ == null) {
-                    pathHopsEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(pathHopsEndpointIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
+                    pathHopsEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(pathHopsEndpointIds_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     pathHopsEndpointIds_ = null;
                 }
                 return pathHopsEndpointIdsBuilder_;
@@ -48218,9 +50125,9 @@ public final class ContextOuterClass {
             private java.util.List subServiceIds_ = java.util.Collections.emptyList();
 
             private void ensureSubServiceIdsIsMutable() {
-                if (!((bitField0_ & 0x00000008) != 0)) {
+                if (!((bitField0_ & 0x00000002) != 0)) {
                     subServiceIds_ = new java.util.ArrayList(subServiceIds_);
-                    bitField0_ |= 0x00000008;
+                    bitField0_ |= 0x00000002;
                 }
             }
 
@@ -48372,7 +50279,7 @@ public final class ContextOuterClass {
             public Builder clearSubServiceIds() {
                 if (subServiceIdsBuilder_ == null) {
                     subServiceIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000008);
+                    bitField0_ = (bitField0_ & ~0x00000002);
                     onChanged();
                 } else {
                     subServiceIdsBuilder_.clear();
@@ -48446,7 +50353,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getSubServiceIdsFieldBuilder() {
                 if (subServiceIdsBuilder_ == null) {
-                    subServiceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(subServiceIds_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
+                    subServiceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(subServiceIds_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
                     subServiceIds_ = null;
                 }
                 return subServiceIdsBuilder_;
@@ -48461,7 +50368,7 @@ public final class ContextOuterClass {
              * @return Whether the settings field is set.
              */
             public boolean hasSettings() {
-                return ((bitField0_ & 0x00000010) != 0);
+                return settingsBuilder_ != null || settings_ != null;
             }
 
             /**
@@ -48485,11 +50392,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     settings_ = value;
+                    onChanged();
                 } else {
                     settingsBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -48499,11 +50405,10 @@ public final class ContextOuterClass {
             public Builder setSettings(context.ContextOuterClass.ConnectionSettings.Builder builderForValue) {
                 if (settingsBuilder_ == null) {
                     settings_ = builderForValue.build();
+                    onChanged();
                 } else {
                     settingsBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -48512,16 +50417,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeSettings(context.ContextOuterClass.ConnectionSettings value) {
                 if (settingsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000010) != 0) && settings_ != null && settings_ != context.ContextOuterClass.ConnectionSettings.getDefaultInstance()) {
-                        getSettingsBuilder().mergeFrom(value);
+                    if (settings_ != null) {
+                        settings_ = context.ContextOuterClass.ConnectionSettings.newBuilder(settings_).mergeFrom(value).buildPartial();
                     } else {
                         settings_ = value;
                     }
+                    onChanged();
                 } else {
                     settingsBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -48529,13 +50433,13 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings settings = 5;
              */
             public Builder clearSettings() {
-                bitField0_ = (bitField0_ & ~0x00000010);
-                settings_ = null;
-                if (settingsBuilder_ != null) {
-                    settingsBuilder_.dispose();
+                if (settingsBuilder_ == null) {
+                    settings_ = null;
+                    onChanged();
+                } else {
+                    settings_ = null;
                     settingsBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -48543,7 +50447,6 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings settings = 5;
              */
             public context.ContextOuterClass.ConnectionSettings.Builder getSettingsBuilder() {
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return getSettingsFieldBuilder().getBuilder();
             }
@@ -48597,17 +50500,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Connection parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Connection(input, extensionRegistry);
             }
         };
 
@@ -48678,6 +50571,57 @@ public final class ContextOuterClass {
             return new ConnectionIdList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionIdList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    connectionIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                connectionIds_.add(input.readMessage(context.ContextOuterClass.ConnectionId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    connectionIds_ = java.util.Collections.unmodifiableList(connectionIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionIdList_descriptor;
         }
@@ -48689,7 +50633,6 @@ public final class ContextOuterClass {
 
         public static final int CONNECTION_IDS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List connectionIds_;
 
         /**
@@ -48750,7 +50693,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < connectionIds_.size(); i++) {
                 output.writeMessage(1, connectionIds_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -48762,7 +50705,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < connectionIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, connectionIds_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -48778,7 +50721,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.ConnectionIdList other = (context.ContextOuterClass.ConnectionIdList) obj;
             if (!getConnectionIdsList().equals(other.getConnectionIdsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -48794,7 +50737,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONNECTION_IDS_FIELD_NUMBER;
                 hash = (53 * hash) + getConnectionIdsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -48888,23 +50831,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionIdList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getConnectionIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (connectionIdsBuilder_ == null) {
                     connectionIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    connectionIds_ = null;
                     connectionIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -48930,15 +50879,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionIdList buildPartial() {
                 context.ContextOuterClass.ConnectionIdList result = new context.ContextOuterClass.ConnectionIdList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.ConnectionIdList result) {
+                int from_bitField0_ = bitField0_;
                 if (connectionIdsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         connectionIds_ = java.util.Collections.unmodifiableList(connectionIds_);
@@ -48948,10 +50889,38 @@ public final class ContextOuterClass {
                 } else {
                     result.connectionIds_ = connectionIdsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionIdList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -48991,7 +50960,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -49003,47 +50972,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionIdList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.ConnectionId m = input.readMessage(context.ContextOuterClass.ConnectionId.parser(), extensionRegistry);
-                                    if (connectionIdsBuilder_ == null) {
-                                        ensureConnectionIdsIsMutable();
-                                        connectionIds_.add(m);
-                                    } else {
-                                        connectionIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionIdList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -49313,17 +51252,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionIdList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionIdList(input, extensionRegistry);
             }
         };
 
@@ -49394,6 +51323,57 @@ public final class ContextOuterClass {
             return new ConnectionList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    connections_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                connections_.add(input.readMessage(context.ContextOuterClass.Connection.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    connections_ = java.util.Collections.unmodifiableList(connections_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionList_descriptor;
         }
@@ -49405,7 +51385,6 @@ public final class ContextOuterClass {
 
         public static final int CONNECTIONS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List connections_;
 
         /**
@@ -49466,7 +51445,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < connections_.size(); i++) {
                 output.writeMessage(1, connections_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -49478,7 +51457,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < connections_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, connections_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -49494,7 +51473,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.ConnectionList other = (context.ContextOuterClass.ConnectionList) obj;
             if (!getConnectionsList().equals(other.getConnectionsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -49510,7 +51489,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONNECTIONS_FIELD_NUMBER;
                 hash = (53 * hash) + getConnectionsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -49604,23 +51583,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getConnectionsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (connectionsBuilder_ == null) {
                     connections_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    connections_ = null;
                     connectionsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -49646,15 +51631,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionList buildPartial() {
                 context.ContextOuterClass.ConnectionList result = new context.ContextOuterClass.ConnectionList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.ConnectionList result) {
+                int from_bitField0_ = bitField0_;
                 if (connectionsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         connections_ = java.util.Collections.unmodifiableList(connections_);
@@ -49664,10 +51641,38 @@ public final class ContextOuterClass {
                 } else {
                     result.connections_ = connectionsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -49707,7 +51712,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -49719,47 +51724,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.Connection m = input.readMessage(context.ContextOuterClass.Connection.parser(), extensionRegistry);
-                                    if (connectionsBuilder_ == null) {
-                                        ensureConnectionsIsMutable();
-                                        connections_.add(m);
-                                    } else {
-                                        connectionsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -50029,17 +52004,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionList(input, extensionRegistry);
             }
         };
 
@@ -50118,6 +52083,70 @@ public final class ContextOuterClass {
             return new ConnectionEvent();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionEvent(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Event.Builder subBuilder = null;
+                                if (event_ != null) {
+                                    subBuilder = event_.toBuilder();
+                                }
+                                event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(event_);
+                                    event_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.ConnectionId.Builder subBuilder = null;
+                                if (connectionId_ != null) {
+                                    subBuilder = connectionId_.toBuilder();
+                                }
+                                connectionId_ = input.readMessage(context.ContextOuterClass.ConnectionId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(connectionId_);
+                                    connectionId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionEvent_descriptor;
         }
@@ -50154,7 +52183,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() {
-            return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_;
+            return getEvent();
         }
 
         public static final int CONNECTION_ID_FIELD_NUMBER = 2;
@@ -50184,7 +52213,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder() {
-            return connectionId_ == null ? context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_;
+            return getConnectionId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -50208,7 +52237,7 @@ public final class ContextOuterClass {
             if (connectionId_ != null) {
                 output.writeMessage(2, getConnectionId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -50223,7 +52252,7 @@ public final class ContextOuterClass {
             if (connectionId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getConnectionId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -50249,7 +52278,7 @@ public final class ContextOuterClass {
                 if (!getConnectionId().equals(other.getConnectionId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -50269,7 +52298,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
                 hash = (53 * hash) + getConnectionId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -50363,24 +52392,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionEvent.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                connectionId_ = null;
-                if (connectionIdBuilder_ != null) {
-                    connectionIdBuilder_.dispose();
+                if (connectionIdBuilder_ == null) {
+                    connectionId_ = null;
+                } else {
+                    connectionId_ = null;
                     connectionIdBuilder_ = null;
                 }
                 return this;
@@ -50408,21 +52445,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionEvent buildPartial() {
                 context.ContextOuterClass.ConnectionEvent result = new context.ContextOuterClass.ConnectionEvent(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (eventBuilder_ == null) {
+                    result.event_ = event_;
+                } else {
+                    result.event_ = eventBuilder_.build();
+                }
+                if (connectionIdBuilder_ == null) {
+                    result.connectionId_ = connectionId_;
+                } else {
+                    result.connectionId_ = connectionIdBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionEvent result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.event_ = eventBuilder_ == null ? event_ : eventBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.connectionId_ = connectionIdBuilder_ == null ? connectionId_ : connectionIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -50444,7 +52508,7 @@ public final class ContextOuterClass {
                 if (other.hasConnectionId()) {
                     mergeConnectionId(other.getConnectionId());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -50456,54 +52520,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionEvent parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEventFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getConnectionIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionEvent) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Event event_;
 
             private com.google.protobuf.SingleFieldBuilderV3 eventBuilder_;
@@ -50513,7 +52543,7 @@ public final class ContextOuterClass {
              * @return Whether the event field is set.
              */
             public boolean hasEvent() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return eventBuilder_ != null || event_ != null;
             }
 
             /**
@@ -50537,11 +52567,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     event_ = value;
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -50551,11 +52580,10 @@ public final class ContextOuterClass {
             public Builder setEvent(context.ContextOuterClass.Event.Builder builderForValue) {
                 if (eventBuilder_ == null) {
                     event_ = builderForValue.build();
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -50564,16 +52592,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEvent(context.ContextOuterClass.Event value) {
                 if (eventBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && event_ != null && event_ != context.ContextOuterClass.Event.getDefaultInstance()) {
-                        getEventBuilder().mergeFrom(value);
+                    if (event_ != null) {
+                        event_ = context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial();
                     } else {
                         event_ = value;
                     }
+                    onChanged();
                 } else {
                     eventBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -50581,13 +52608,13 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public Builder clearEvent() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                    onChanged();
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -50595,7 +52622,6 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public context.ContextOuterClass.Event.Builder getEventBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEventFieldBuilder().getBuilder();
             }
@@ -50631,7 +52657,7 @@ public final class ContextOuterClass {
              * @return Whether the connectionId field is set.
              */
             public boolean hasConnectionId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return connectionIdBuilder_ != null || connectionId_ != null;
             }
 
             /**
@@ -50655,11 +52681,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     connectionId_ = value;
+                    onChanged();
                 } else {
                     connectionIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -50669,11 +52694,10 @@ public final class ContextOuterClass {
             public Builder setConnectionId(context.ContextOuterClass.ConnectionId.Builder builderForValue) {
                 if (connectionIdBuilder_ == null) {
                     connectionId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     connectionIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -50682,16 +52706,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeConnectionId(context.ContextOuterClass.ConnectionId value) {
                 if (connectionIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && connectionId_ != null && connectionId_ != context.ContextOuterClass.ConnectionId.getDefaultInstance()) {
-                        getConnectionIdBuilder().mergeFrom(value);
+                    if (connectionId_ != null) {
+                        connectionId_ = context.ContextOuterClass.ConnectionId.newBuilder(connectionId_).mergeFrom(value).buildPartial();
                     } else {
                         connectionId_ = value;
                     }
+                    onChanged();
                 } else {
                     connectionIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -50699,13 +52722,13 @@ public final class ContextOuterClass {
              * .context.ConnectionId connection_id = 2;
              */
             public Builder clearConnectionId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                connectionId_ = null;
-                if (connectionIdBuilder_ != null) {
-                    connectionIdBuilder_.dispose();
+                if (connectionIdBuilder_ == null) {
+                    connectionId_ = null;
+                    onChanged();
+                } else {
+                    connectionId_ = null;
                     connectionIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -50713,7 +52736,6 @@ public final class ContextOuterClass {
              * .context.ConnectionId connection_id = 2;
              */
             public context.ContextOuterClass.ConnectionId.Builder getConnectionIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getConnectionIdFieldBuilder().getBuilder();
             }
@@ -50767,17 +52789,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionEvent parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionEvent(input, extensionRegistry);
             }
         };
 
@@ -50877,6 +52889,83 @@ public final class ContextOuterClass {
             return new EndPointId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private EndPointId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.TopologyId.Builder subBuilder = null;
+                                if (topologyId_ != null) {
+                                    subBuilder = topologyId_.toBuilder();
+                                }
+                                topologyId_ = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(topologyId_);
+                                    topologyId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.DeviceId.Builder subBuilder = null;
+                                if (deviceId_ != null) {
+                                    subBuilder = deviceId_.toBuilder();
+                                }
+                                deviceId_ = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(deviceId_);
+                                    deviceId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 26:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (endpointUuid_ != null) {
+                                    subBuilder = endpointUuid_.toBuilder();
+                                }
+                                endpointUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endpointUuid_);
+                                    endpointUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_EndPointId_descriptor;
         }
@@ -50913,7 +53002,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() {
-            return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_;
+            return getTopologyId();
         }
 
         public static final int DEVICE_ID_FIELD_NUMBER = 2;
@@ -50943,7 +53032,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() {
-            return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_;
+            return getDeviceId();
         }
 
         public static final int ENDPOINT_UUID_FIELD_NUMBER = 3;
@@ -50973,7 +53062,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getEndpointUuidOrBuilder() {
-            return endpointUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : endpointUuid_;
+            return getEndpointUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -51000,7 +53089,7 @@ public final class ContextOuterClass {
             if (endpointUuid_ != null) {
                 output.writeMessage(3, getEndpointUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -51018,7 +53107,7 @@ public final class ContextOuterClass {
             if (endpointUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getEndpointUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -51050,7 +53139,7 @@ public final class ContextOuterClass {
                 if (!getEndpointUuid().equals(other.getEndpointUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -51074,7 +53163,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + ENDPOINT_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getEndpointUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -51172,29 +53261,38 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.EndPointId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                topologyId_ = null;
-                if (topologyIdBuilder_ != null) {
-                    topologyIdBuilder_.dispose();
+                if (topologyIdBuilder_ == null) {
+                    topologyId_ = null;
+                } else {
+                    topologyId_ = null;
                     topologyIdBuilder_ = null;
                 }
-                deviceId_ = null;
-                if (deviceIdBuilder_ != null) {
-                    deviceIdBuilder_.dispose();
+                if (deviceIdBuilder_ == null) {
+                    deviceId_ = null;
+                } else {
+                    deviceId_ = null;
                     deviceIdBuilder_ = null;
                 }
-                endpointUuid_ = null;
-                if (endpointUuidBuilder_ != null) {
-                    endpointUuidBuilder_.dispose();
+                if (endpointUuidBuilder_ == null) {
+                    endpointUuid_ = null;
+                } else {
+                    endpointUuid_ = null;
                     endpointUuidBuilder_ = null;
                 }
                 return this;
@@ -51222,24 +53320,53 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.EndPointId buildPartial() {
                 context.ContextOuterClass.EndPointId result = new context.ContextOuterClass.EndPointId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (topologyIdBuilder_ == null) {
+                    result.topologyId_ = topologyId_;
+                } else {
+                    result.topologyId_ = topologyIdBuilder_.build();
+                }
+                if (deviceIdBuilder_ == null) {
+                    result.deviceId_ = deviceId_;
+                } else {
+                    result.deviceId_ = deviceIdBuilder_.build();
+                }
+                if (endpointUuidBuilder_ == null) {
+                    result.endpointUuid_ = endpointUuid_;
+                } else {
+                    result.endpointUuid_ = endpointUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.EndPointId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.topologyId_ = topologyIdBuilder_ == null ? topologyId_ : topologyIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.deviceId_ = deviceIdBuilder_ == null ? deviceId_ : deviceIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.endpointUuid_ = endpointUuidBuilder_ == null ? endpointUuid_ : endpointUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -51264,7 +53391,7 @@ public final class ContextOuterClass {
                 if (other.hasEndpointUuid()) {
                     mergeEndpointUuid(other.getEndpointUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -51276,61 +53403,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.EndPointId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getTopologyIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getDeviceIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    input.readMessage(getEndpointUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.EndPointId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.TopologyId topologyId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 topologyIdBuilder_;
@@ -51340,7 +53426,7 @@ public final class ContextOuterClass {
              * @return Whether the topologyId field is set.
              */
             public boolean hasTopologyId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return topologyIdBuilder_ != null || topologyId_ != null;
             }
 
             /**
@@ -51364,11 +53450,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     topologyId_ = value;
+                    onChanged();
                 } else {
                     topologyIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -51378,11 +53463,10 @@ public final class ContextOuterClass {
             public Builder setTopologyId(context.ContextOuterClass.TopologyId.Builder builderForValue) {
                 if (topologyIdBuilder_ == null) {
                     topologyId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     topologyIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -51391,16 +53475,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeTopologyId(context.ContextOuterClass.TopologyId value) {
                 if (topologyIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && topologyId_ != null && topologyId_ != context.ContextOuterClass.TopologyId.getDefaultInstance()) {
-                        getTopologyIdBuilder().mergeFrom(value);
+                    if (topologyId_ != null) {
+                        topologyId_ = context.ContextOuterClass.TopologyId.newBuilder(topologyId_).mergeFrom(value).buildPartial();
                     } else {
                         topologyId_ = value;
                     }
+                    onChanged();
                 } else {
                     topologyIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -51408,13 +53491,13 @@ public final class ContextOuterClass {
              * .context.TopologyId topology_id = 1;
              */
             public Builder clearTopologyId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                topologyId_ = null;
-                if (topologyIdBuilder_ != null) {
-                    topologyIdBuilder_.dispose();
+                if (topologyIdBuilder_ == null) {
+                    topologyId_ = null;
+                    onChanged();
+                } else {
+                    topologyId_ = null;
                     topologyIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -51422,7 +53505,6 @@ public final class ContextOuterClass {
              * .context.TopologyId topology_id = 1;
              */
             public context.ContextOuterClass.TopologyId.Builder getTopologyIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getTopologyIdFieldBuilder().getBuilder();
             }
@@ -51458,7 +53540,7 @@ public final class ContextOuterClass {
              * @return Whether the deviceId field is set.
              */
             public boolean hasDeviceId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return deviceIdBuilder_ != null || deviceId_ != null;
             }
 
             /**
@@ -51482,11 +53564,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     deviceId_ = value;
+                    onChanged();
                 } else {
                     deviceIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -51496,11 +53577,10 @@ public final class ContextOuterClass {
             public Builder setDeviceId(context.ContextOuterClass.DeviceId.Builder builderForValue) {
                 if (deviceIdBuilder_ == null) {
                     deviceId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     deviceIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -51509,16 +53589,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeDeviceId(context.ContextOuterClass.DeviceId value) {
                 if (deviceIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && deviceId_ != null && deviceId_ != context.ContextOuterClass.DeviceId.getDefaultInstance()) {
-                        getDeviceIdBuilder().mergeFrom(value);
+                    if (deviceId_ != null) {
+                        deviceId_ = context.ContextOuterClass.DeviceId.newBuilder(deviceId_).mergeFrom(value).buildPartial();
                     } else {
                         deviceId_ = value;
                     }
+                    onChanged();
                 } else {
                     deviceIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -51526,13 +53605,13 @@ public final class ContextOuterClass {
              * .context.DeviceId device_id = 2;
              */
             public Builder clearDeviceId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                deviceId_ = null;
-                if (deviceIdBuilder_ != null) {
-                    deviceIdBuilder_.dispose();
+                if (deviceIdBuilder_ == null) {
+                    deviceId_ = null;
+                    onChanged();
+                } else {
+                    deviceId_ = null;
                     deviceIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -51540,7 +53619,6 @@ public final class ContextOuterClass {
              * .context.DeviceId device_id = 2;
              */
             public context.ContextOuterClass.DeviceId.Builder getDeviceIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getDeviceIdFieldBuilder().getBuilder();
             }
@@ -51576,7 +53654,7 @@ public final class ContextOuterClass {
              * @return Whether the endpointUuid field is set.
              */
             public boolean hasEndpointUuid() {
-                return ((bitField0_ & 0x00000004) != 0);
+                return endpointUuidBuilder_ != null || endpointUuid_ != null;
             }
 
             /**
@@ -51600,11 +53678,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     endpointUuid_ = value;
+                    onChanged();
                 } else {
                     endpointUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -51614,11 +53691,10 @@ public final class ContextOuterClass {
             public Builder setEndpointUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (endpointUuidBuilder_ == null) {
                     endpointUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endpointUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -51627,16 +53703,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEndpointUuid(context.ContextOuterClass.Uuid value) {
                 if (endpointUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0) && endpointUuid_ != null && endpointUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getEndpointUuidBuilder().mergeFrom(value);
+                    if (endpointUuid_ != null) {
+                        endpointUuid_ = context.ContextOuterClass.Uuid.newBuilder(endpointUuid_).mergeFrom(value).buildPartial();
                     } else {
                         endpointUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     endpointUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -51644,13 +53719,13 @@ public final class ContextOuterClass {
              * .context.Uuid endpoint_uuid = 3;
              */
             public Builder clearEndpointUuid() {
-                bitField0_ = (bitField0_ & ~0x00000004);
-                endpointUuid_ = null;
-                if (endpointUuidBuilder_ != null) {
-                    endpointUuidBuilder_.dispose();
+                if (endpointUuidBuilder_ == null) {
+                    endpointUuid_ = null;
+                    onChanged();
+                } else {
+                    endpointUuid_ = null;
                     endpointUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -51658,7 +53733,6 @@ public final class ContextOuterClass {
              * .context.Uuid endpoint_uuid = 3;
              */
             public context.ContextOuterClass.Uuid.Builder getEndpointUuidBuilder() {
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return getEndpointUuidFieldBuilder().getBuilder();
             }
@@ -51712,17 +53786,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public EndPointId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new EndPointId(input, extensionRegistry);
             }
         };
 
@@ -51860,6 +53924,111 @@ public final class ContextOuterClass {
             return new EndPoint();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private EndPoint(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.EndPointId.Builder subBuilder = null;
+                                if (endpointId_ != null) {
+                                    subBuilder = endpointId_.toBuilder();
+                                }
+                                endpointId_ = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endpointId_);
+                                    endpointId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                endpointType_ = s;
+                                break;
+                            }
+                        case 32:
+                            {
+                                int rawValue = input.readEnum();
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    kpiSampleTypes_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                kpiSampleTypes_.add(rawValue);
+                                break;
+                            }
+                        case 34:
+                            {
+                                int length = input.readRawVarint32();
+                                int oldLimit = input.pushLimit(length);
+                                while (input.getBytesUntilLimit() > 0) {
+                                    int rawValue = input.readEnum();
+                                    if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                        kpiSampleTypes_ = new java.util.ArrayList();
+                                        mutable_bitField0_ |= 0x00000001;
+                                    }
+                                    kpiSampleTypes_.add(rawValue);
+                                }
+                                input.popLimit(oldLimit);
+                                break;
+                            }
+                        case 42:
+                            {
+                                context.ContextOuterClass.Location.Builder subBuilder = null;
+                                if (endpointLocation_ != null) {
+                                    subBuilder = endpointLocation_.toBuilder();
+                                }
+                                endpointLocation_ = input.readMessage(context.ContextOuterClass.Location.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endpointLocation_);
+                                    endpointLocation_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    kpiSampleTypes_ = java.util.Collections.unmodifiableList(kpiSampleTypes_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_EndPoint_descriptor;
         }
@@ -51896,13 +54065,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() {
-            return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_;
+            return getEndpointId();
         }
 
         public static final int NAME_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 2;
@@ -51939,8 +54107,7 @@ public final class ContextOuterClass {
 
         public static final int ENDPOINT_TYPE_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object endpointType_ = "";
+        private volatile java.lang.Object endpointType_;
 
         /**
          * string endpoint_type = 3;
@@ -51977,13 +54144,13 @@ public final class ContextOuterClass {
 
         public static final int KPI_SAMPLE_TYPES_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
         private java.util.List kpiSampleTypes_;
 
         private static final com.google.protobuf.Internal.ListAdapter.Converter kpiSampleTypes_converter_ = new com.google.protobuf.Internal.ListAdapter.Converter() {
 
             public kpi_sample_types.KpiSampleTypes.KpiSampleType convert(java.lang.Integer from) {
-                kpi_sample_types.KpiSampleTypes.KpiSampleType result = kpi_sample_types.KpiSampleTypes.KpiSampleType.forNumber(from);
+                @SuppressWarnings("deprecation")
+                kpi_sample_types.KpiSampleTypes.KpiSampleType result = kpi_sample_types.KpiSampleTypes.KpiSampleType.valueOf(from);
                 return result == null ? kpi_sample_types.KpiSampleTypes.KpiSampleType.UNRECOGNIZED : result;
             }
         };
@@ -52064,7 +54231,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.LocationOrBuilder getEndpointLocationOrBuilder() {
-            return endpointLocation_ == null ? context.ContextOuterClass.Location.getDefaultInstance() : endpointLocation_;
+            return getEndpointLocation();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -52086,10 +54253,10 @@ public final class ContextOuterClass {
             if (endpointId_ != null) {
                 output.writeMessage(1, getEndpointId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(endpointType_)) {
+            if (!getEndpointTypeBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 3, endpointType_);
             }
             if (getKpiSampleTypesList().size() > 0) {
@@ -52102,7 +54269,7 @@ public final class ContextOuterClass {
             if (endpointLocation_ != null) {
                 output.writeMessage(5, getEndpointLocation());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -52114,10 +54281,10 @@ public final class ContextOuterClass {
             if (endpointId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getEndpointId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(endpointType_)) {
+            if (!getEndpointTypeBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, endpointType_);
             }
             {
@@ -52135,7 +54302,7 @@ public final class ContextOuterClass {
             if (endpointLocation_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getEndpointLocation());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -52167,7 +54334,7 @@ public final class ContextOuterClass {
                 if (!getEndpointLocation().equals(other.getEndpointLocation()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -52195,7 +54362,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + ENDPOINT_LOCATION_FIELD_NUMBER;
                 hash = (53 * hash) + getEndpointLocation().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -52289,28 +54456,36 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.EndPoint.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
                 name_ = "";
                 endpointType_ = "";
                 kpiSampleTypes_ = java.util.Collections.emptyList();
-                bitField0_ = (bitField0_ & ~0x00000008);
-                endpointLocation_ = null;
-                if (endpointLocationBuilder_ != null) {
-                    endpointLocationBuilder_.dispose();
+                bitField0_ = (bitField0_ & ~0x00000001);
+                if (endpointLocationBuilder_ == null) {
+                    endpointLocation_ = null;
+                } else {
+                    endpointLocation_ = null;
                     endpointLocationBuilder_ = null;
                 }
                 return this;
@@ -52338,36 +54513,56 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.EndPoint buildPartial() {
                 context.ContextOuterClass.EndPoint result = new context.ContextOuterClass.EndPoint(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (endpointIdBuilder_ == null) {
+                    result.endpointId_ = endpointId_;
+                } else {
+                    result.endpointId_ = endpointIdBuilder_.build();
+                }
+                result.name_ = name_;
+                result.endpointType_ = endpointType_;
+                if (((bitField0_ & 0x00000001) != 0)) {
+                    kpiSampleTypes_ = java.util.Collections.unmodifiableList(kpiSampleTypes_);
+                    bitField0_ = (bitField0_ & ~0x00000001);
+                }
+                result.kpiSampleTypes_ = kpiSampleTypes_;
+                if (endpointLocationBuilder_ == null) {
+                    result.endpointLocation_ = endpointLocation_;
+                } else {
+                    result.endpointLocation_ = endpointLocationBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartialRepeatedFields(context.ContextOuterClass.EndPoint result) {
-                if (((bitField0_ & 0x00000008) != 0)) {
-                    kpiSampleTypes_ = java.util.Collections.unmodifiableList(kpiSampleTypes_);
-                    bitField0_ = (bitField0_ & ~0x00000008);
-                }
-                result.kpiSampleTypes_ = kpiSampleTypes_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
             }
 
-            private void buildPartial0(context.ContextOuterClass.EndPoint result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.endpointId_ = endpointIdBuilder_ == null ? endpointId_ : endpointIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.name_ = name_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.endpointType_ = endpointType_;
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.endpointLocation_ = endpointLocationBuilder_ == null ? endpointLocation_ : endpointLocationBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -52388,18 +54583,16 @@ public final class ContextOuterClass {
                 }
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (!other.getEndpointType().isEmpty()) {
                     endpointType_ = other.endpointType_;
-                    bitField0_ |= 0x00000004;
                     onChanged();
                 }
                 if (!other.kpiSampleTypes_.isEmpty()) {
                     if (kpiSampleTypes_.isEmpty()) {
                         kpiSampleTypes_ = other.kpiSampleTypes_;
-                        bitField0_ = (bitField0_ & ~0x00000008);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     } else {
                         ensureKpiSampleTypesIsMutable();
                         kpiSampleTypes_.addAll(other.kpiSampleTypes_);
@@ -52409,7 +54602,7 @@ public final class ContextOuterClass {
                 if (other.hasEndpointLocation()) {
                     mergeEndpointLocation(other.getEndpointLocation());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -52421,84 +54614,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.EndPoint parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEndpointIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    endpointType_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            case 32:
-                                {
-                                    int tmpRaw = input.readEnum();
-                                    ensureKpiSampleTypesIsMutable();
-                                    kpiSampleTypes_.add(tmpRaw);
-                                    break;
-                                }
-                            // case 32
-                            case 34:
-                                {
-                                    int length = input.readRawVarint32();
-                                    int oldLimit = input.pushLimit(length);
-                                    while (input.getBytesUntilLimit() > 0) {
-                                        int tmpRaw = input.readEnum();
-                                        ensureKpiSampleTypesIsMutable();
-                                        kpiSampleTypes_.add(tmpRaw);
-                                    }
-                                    input.popLimit(oldLimit);
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    input.readMessage(getEndpointLocationFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 42
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.EndPoint) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -52513,7 +54639,7 @@ public final class ContextOuterClass {
              * @return Whether the endpointId field is set.
              */
             public boolean hasEndpointId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return endpointIdBuilder_ != null || endpointId_ != null;
             }
 
             /**
@@ -52537,11 +54663,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     endpointId_ = value;
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -52551,11 +54676,10 @@ public final class ContextOuterClass {
             public Builder setEndpointId(context.ContextOuterClass.EndPointId.Builder builderForValue) {
                 if (endpointIdBuilder_ == null) {
                     endpointId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -52564,16 +54688,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) {
                 if (endpointIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && endpointId_ != null && endpointId_ != context.ContextOuterClass.EndPointId.getDefaultInstance()) {
-                        getEndpointIdBuilder().mergeFrom(value);
+                    if (endpointId_ != null) {
+                        endpointId_ = context.ContextOuterClass.EndPointId.newBuilder(endpointId_).mergeFrom(value).buildPartial();
                     } else {
                         endpointId_ = value;
                     }
+                    onChanged();
                 } else {
                     endpointIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -52581,13 +54704,13 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public Builder clearEndpointId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                    onChanged();
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -52595,7 +54718,6 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEndpointIdFieldBuilder().getBuilder();
             }
@@ -52665,7 +54787,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -52676,7 +54797,6 @@ public final class ContextOuterClass {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -52692,7 +54812,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -52740,7 +54859,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 endpointType_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -52751,7 +54869,6 @@ public final class ContextOuterClass {
              */
             public Builder clearEndpointType() {
                 endpointType_ = getDefaultInstance().getEndpointType();
-                bitField0_ = (bitField0_ & ~0x00000004);
                 onChanged();
                 return this;
             }
@@ -52767,7 +54884,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 endpointType_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -52775,9 +54891,9 @@ public final class ContextOuterClass {
             private java.util.List kpiSampleTypes_ = java.util.Collections.emptyList();
 
             private void ensureKpiSampleTypesIsMutable() {
-                if (!((bitField0_ & 0x00000008) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     kpiSampleTypes_ = new java.util.ArrayList(kpiSampleTypes_);
-                    bitField0_ |= 0x00000008;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -52857,7 +54973,7 @@ public final class ContextOuterClass {
              */
             public Builder clearKpiSampleTypes() {
                 kpiSampleTypes_ = java.util.Collections.emptyList();
-                bitField0_ = (bitField0_ & ~0x00000008);
+                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -52881,8 +54997,8 @@ public final class ContextOuterClass {
 
             /**
              * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 4;
-             * @param index The index to set the value at.
-             * @param value The enum numeric value on the wire for kpiSampleTypes to set.
+             * @param index The index of the value to return.
+             * @return The enum numeric value on the wire of kpiSampleTypes at the given index.
              * @return This builder for chaining.
              */
             public Builder setKpiSampleTypesValue(int index, int value) {
@@ -52927,7 +55043,7 @@ public final class ContextOuterClass {
              * @return Whether the endpointLocation field is set.
              */
             public boolean hasEndpointLocation() {
-                return ((bitField0_ & 0x00000010) != 0);
+                return endpointLocationBuilder_ != null || endpointLocation_ != null;
             }
 
             /**
@@ -52951,11 +55067,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     endpointLocation_ = value;
+                    onChanged();
                 } else {
                     endpointLocationBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -52965,11 +55080,10 @@ public final class ContextOuterClass {
             public Builder setEndpointLocation(context.ContextOuterClass.Location.Builder builderForValue) {
                 if (endpointLocationBuilder_ == null) {
                     endpointLocation_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endpointLocationBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -52978,16 +55092,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEndpointLocation(context.ContextOuterClass.Location value) {
                 if (endpointLocationBuilder_ == null) {
-                    if (((bitField0_ & 0x00000010) != 0) && endpointLocation_ != null && endpointLocation_ != context.ContextOuterClass.Location.getDefaultInstance()) {
-                        getEndpointLocationBuilder().mergeFrom(value);
+                    if (endpointLocation_ != null) {
+                        endpointLocation_ = context.ContextOuterClass.Location.newBuilder(endpointLocation_).mergeFrom(value).buildPartial();
                     } else {
                         endpointLocation_ = value;
                     }
+                    onChanged();
                 } else {
                     endpointLocationBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -52995,13 +55108,13 @@ public final class ContextOuterClass {
              * .context.Location endpoint_location = 5;
              */
             public Builder clearEndpointLocation() {
-                bitField0_ = (bitField0_ & ~0x00000010);
-                endpointLocation_ = null;
-                if (endpointLocationBuilder_ != null) {
-                    endpointLocationBuilder_.dispose();
+                if (endpointLocationBuilder_ == null) {
+                    endpointLocation_ = null;
+                    onChanged();
+                } else {
+                    endpointLocation_ = null;
                     endpointLocationBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -53009,7 +55122,6 @@ public final class ContextOuterClass {
              * .context.Location endpoint_location = 5;
              */
             public context.ContextOuterClass.Location.Builder getEndpointLocationBuilder() {
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return getEndpointLocationFieldBuilder().getBuilder();
             }
@@ -53063,17 +55175,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public EndPoint parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new EndPoint(input, extensionRegistry);
             }
         };
 
@@ -53174,6 +55276,75 @@ public final class ContextOuterClass {
             return new EndPointName();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private EndPointName(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.EndPointId.Builder subBuilder = null;
+                                if (endpointId_ != null) {
+                                    subBuilder = endpointId_.toBuilder();
+                                }
+                                endpointId_ = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endpointId_);
+                                    endpointId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                deviceName_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                endpointName_ = s;
+                                break;
+                            }
+                        case 34:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                endpointType_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_EndPointName_descriptor;
         }
@@ -53210,13 +55381,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() {
-            return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_;
+            return getEndpointId();
         }
 
         public static final int DEVICE_NAME_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object deviceName_ = "";
+        private volatile java.lang.Object deviceName_;
 
         /**
          * string device_name = 2;
@@ -53253,8 +55423,7 @@ public final class ContextOuterClass {
 
         public static final int ENDPOINT_NAME_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object endpointName_ = "";
+        private volatile java.lang.Object endpointName_;
 
         /**
          * string endpoint_name = 3;
@@ -53291,8 +55460,7 @@ public final class ContextOuterClass {
 
         public static final int ENDPOINT_TYPE_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object endpointType_ = "";
+        private volatile java.lang.Object endpointType_;
 
         /**
          * string endpoint_type = 4;
@@ -53345,16 +55513,16 @@ public final class ContextOuterClass {
             if (endpointId_ != null) {
                 output.writeMessage(1, getEndpointId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(deviceName_)) {
+            if (!getDeviceNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, deviceName_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(endpointName_)) {
+            if (!getEndpointNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 3, endpointName_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(endpointType_)) {
+            if (!getEndpointTypeBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 4, endpointType_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -53366,16 +55534,16 @@ public final class ContextOuterClass {
             if (endpointId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getEndpointId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(deviceName_)) {
+            if (!getDeviceNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, deviceName_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(endpointName_)) {
+            if (!getEndpointNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, endpointName_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(endpointType_)) {
+            if (!getEndpointTypeBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, endpointType_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -53401,7 +55569,7 @@ public final class ContextOuterClass {
                 return false;
             if (!getEndpointType().equals(other.getEndpointType()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -53423,7 +55591,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + getEndpointName().hashCode();
             hash = (37 * hash) + ENDPOINT_TYPE_FIELD_NUMBER;
             hash = (53 * hash) + getEndpointType().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -53517,19 +55685,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.EndPointName.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
                 deviceName_ = "";
@@ -53560,27 +55735,46 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.EndPointName buildPartial() {
                 context.ContextOuterClass.EndPointName result = new context.ContextOuterClass.EndPointName(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (endpointIdBuilder_ == null) {
+                    result.endpointId_ = endpointId_;
+                } else {
+                    result.endpointId_ = endpointIdBuilder_.build();
                 }
+                result.deviceName_ = deviceName_;
+                result.endpointName_ = endpointName_;
+                result.endpointType_ = endpointType_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.EndPointName result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.endpointId_ = endpointIdBuilder_ == null ? endpointId_ : endpointIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.deviceName_ = deviceName_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.endpointName_ = endpointName_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.endpointType_ = endpointType_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -53601,20 +55795,17 @@ public final class ContextOuterClass {
                 }
                 if (!other.getDeviceName().isEmpty()) {
                     deviceName_ = other.deviceName_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (!other.getEndpointName().isEmpty()) {
                     endpointName_ = other.endpointName_;
-                    bitField0_ |= 0x00000004;
                     onChanged();
                 }
                 if (!other.getEndpointType().isEmpty()) {
                     endpointType_ = other.endpointType_;
-                    bitField0_ |= 0x00000008;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -53626,68 +55817,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.EndPointName parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEndpointIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    deviceName_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    endpointName_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    endpointType_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 34
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.EndPointName) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.EndPointId endpointId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 endpointIdBuilder_;
@@ -53697,7 +55840,7 @@ public final class ContextOuterClass {
              * @return Whether the endpointId field is set.
              */
             public boolean hasEndpointId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return endpointIdBuilder_ != null || endpointId_ != null;
             }
 
             /**
@@ -53721,11 +55864,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     endpointId_ = value;
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -53735,11 +55877,10 @@ public final class ContextOuterClass {
             public Builder setEndpointId(context.ContextOuterClass.EndPointId.Builder builderForValue) {
                 if (endpointIdBuilder_ == null) {
                     endpointId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -53748,16 +55889,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) {
                 if (endpointIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && endpointId_ != null && endpointId_ != context.ContextOuterClass.EndPointId.getDefaultInstance()) {
-                        getEndpointIdBuilder().mergeFrom(value);
+                    if (endpointId_ != null) {
+                        endpointId_ = context.ContextOuterClass.EndPointId.newBuilder(endpointId_).mergeFrom(value).buildPartial();
                     } else {
                         endpointId_ = value;
                     }
+                    onChanged();
                 } else {
                     endpointIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -53765,13 +55905,13 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public Builder clearEndpointId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                    onChanged();
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -53779,7 +55919,6 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEndpointIdFieldBuilder().getBuilder();
             }
@@ -53849,7 +55988,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 deviceName_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -53860,7 +55998,6 @@ public final class ContextOuterClass {
              */
             public Builder clearDeviceName() {
                 deviceName_ = getDefaultInstance().getDeviceName();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -53876,7 +56013,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 deviceName_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -53924,7 +56060,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 endpointName_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -53935,7 +56070,6 @@ public final class ContextOuterClass {
              */
             public Builder clearEndpointName() {
                 endpointName_ = getDefaultInstance().getEndpointName();
-                bitField0_ = (bitField0_ & ~0x00000004);
                 onChanged();
                 return this;
             }
@@ -53951,7 +56085,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 endpointName_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -53999,7 +56132,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 endpointType_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -54010,7 +56142,6 @@ public final class ContextOuterClass {
              */
             public Builder clearEndpointType() {
                 endpointType_ = getDefaultInstance().getEndpointType();
-                bitField0_ = (bitField0_ & ~0x00000008);
                 onChanged();
                 return this;
             }
@@ -54026,7 +56157,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 endpointType_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -54058,17 +56188,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public EndPointName parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new EndPointName(input, extensionRegistry);
             }
         };
 
@@ -54139,6 +56259,57 @@ public final class ContextOuterClass {
             return new EndPointIdList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private EndPointIdList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    endpointIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                endpointIds_.add(input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    endpointIds_ = java.util.Collections.unmodifiableList(endpointIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_EndPointIdList_descriptor;
         }
@@ -54150,7 +56321,6 @@ public final class ContextOuterClass {
 
         public static final int ENDPOINT_IDS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List endpointIds_;
 
         /**
@@ -54211,7 +56381,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < endpointIds_.size(); i++) {
                 output.writeMessage(1, endpointIds_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -54223,7 +56393,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < endpointIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, endpointIds_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -54239,7 +56409,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.EndPointIdList other = (context.ContextOuterClass.EndPointIdList) obj;
             if (!getEndpointIdsList().equals(other.getEndpointIdsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -54255,7 +56425,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + ENDPOINT_IDS_FIELD_NUMBER;
                 hash = (53 * hash) + getEndpointIdsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -54349,23 +56519,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.EndPointIdList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getEndpointIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (endpointIdsBuilder_ == null) {
                     endpointIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    endpointIds_ = null;
                     endpointIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -54391,15 +56567,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.EndPointIdList buildPartial() {
                 context.ContextOuterClass.EndPointIdList result = new context.ContextOuterClass.EndPointIdList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.EndPointIdList result) {
+                int from_bitField0_ = bitField0_;
                 if (endpointIdsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         endpointIds_ = java.util.Collections.unmodifiableList(endpointIds_);
@@ -54409,10 +56577,38 @@ public final class ContextOuterClass {
                 } else {
                     result.endpointIds_ = endpointIdsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.EndPointIdList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -54452,7 +56648,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -54464,47 +56660,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.EndPointIdList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.EndPointId m = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
-                                    if (endpointIdsBuilder_ == null) {
-                                        ensureEndpointIdsIsMutable();
-                                        endpointIds_.add(m);
-                                    } else {
-                                        endpointIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.EndPointIdList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -54774,17 +56940,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public EndPointIdList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new EndPointIdList(input, extensionRegistry);
             }
         };
 
@@ -54855,6 +57011,57 @@ public final class ContextOuterClass {
             return new EndPointNameList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private EndPointNameList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    endpointNames_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                endpointNames_.add(input.readMessage(context.ContextOuterClass.EndPointName.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    endpointNames_ = java.util.Collections.unmodifiableList(endpointNames_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_EndPointNameList_descriptor;
         }
@@ -54866,7 +57073,6 @@ public final class ContextOuterClass {
 
         public static final int ENDPOINT_NAMES_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List endpointNames_;
 
         /**
@@ -54927,7 +57133,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < endpointNames_.size(); i++) {
                 output.writeMessage(1, endpointNames_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -54939,7 +57145,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < endpointNames_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, endpointNames_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -54955,7 +57161,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.EndPointNameList other = (context.ContextOuterClass.EndPointNameList) obj;
             if (!getEndpointNamesList().equals(other.getEndpointNamesList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -54971,7 +57177,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + ENDPOINT_NAMES_FIELD_NUMBER;
                 hash = (53 * hash) + getEndpointNamesList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -55065,23 +57271,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.EndPointNameList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getEndpointNamesFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (endpointNamesBuilder_ == null) {
                     endpointNames_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    endpointNames_ = null;
                     endpointNamesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -55107,15 +57319,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.EndPointNameList buildPartial() {
                 context.ContextOuterClass.EndPointNameList result = new context.ContextOuterClass.EndPointNameList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.EndPointNameList result) {
+                int from_bitField0_ = bitField0_;
                 if (endpointNamesBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         endpointNames_ = java.util.Collections.unmodifiableList(endpointNames_);
@@ -55125,10 +57329,38 @@ public final class ContextOuterClass {
                 } else {
                     result.endpointNames_ = endpointNamesBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.EndPointNameList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -55168,7 +57400,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -55180,47 +57412,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.EndPointNameList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.EndPointName m = input.readMessage(context.ContextOuterClass.EndPointName.parser(), extensionRegistry);
-                                    if (endpointNamesBuilder_ == null) {
-                                        ensureEndpointNamesIsMutable();
-                                        endpointNames_.add(m);
-                                    } else {
-                                        endpointNamesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.EndPointNameList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -55490,17 +57692,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public EndPointNameList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new EndPointNameList(input, extensionRegistry);
             }
         };
 
@@ -55571,6 +57763,56 @@ public final class ContextOuterClass {
             return new ConfigRule_Custom();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConfigRule_Custom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                resourceKey_ = s;
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                resourceValue_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConfigRule_Custom_descriptor;
         }
@@ -55582,8 +57824,7 @@ public final class ContextOuterClass {
 
         public static final int RESOURCE_KEY_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object resourceKey_ = "";
+        private volatile java.lang.Object resourceKey_;
 
         /**
          * string resource_key = 1;
@@ -55620,8 +57861,7 @@ public final class ContextOuterClass {
 
         public static final int RESOURCE_VALUE_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object resourceValue_ = "";
+        private volatile java.lang.Object resourceValue_;
 
         /**
          * string resource_value = 2;
@@ -55671,13 +57911,13 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(resourceKey_)) {
+            if (!getResourceKeyBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, resourceKey_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(resourceValue_)) {
+            if (!getResourceValueBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, resourceValue_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -55686,13 +57926,13 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(resourceKey_)) {
+            if (!getResourceKeyBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, resourceKey_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(resourceValue_)) {
+            if (!getResourceValueBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, resourceValue_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -55710,7 +57950,7 @@ public final class ContextOuterClass {
                 return false;
             if (!getResourceValue().equals(other.getResourceValue()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -55726,7 +57966,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + getResourceKey().hashCode();
             hash = (37 * hash) + RESOURCE_VALUE_FIELD_NUMBER;
             hash = (53 * hash) + getResourceValue().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -55820,16 +58060,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConfigRule_Custom.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 resourceKey_ = "";
                 resourceValue_ = "";
                 return this;
@@ -55857,21 +58103,40 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConfigRule_Custom buildPartial() {
                 context.ContextOuterClass.ConfigRule_Custom result = new context.ContextOuterClass.ConfigRule_Custom(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.resourceKey_ = resourceKey_;
+                result.resourceValue_ = resourceValue_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConfigRule_Custom result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.resourceKey_ = resourceKey_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.resourceValue_ = resourceValue_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -55889,15 +58154,13 @@ public final class ContextOuterClass {
                     return this;
                 if (!other.getResourceKey().isEmpty()) {
                     resourceKey_ = other.resourceKey_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
                 if (!other.getResourceValue().isEmpty()) {
                     resourceValue_ = other.resourceValue_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -55909,54 +58172,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConfigRule_Custom parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    resourceKey_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    resourceValue_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConfigRule_Custom) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private java.lang.Object resourceKey_ = "";
 
             /**
@@ -56000,7 +58229,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 resourceKey_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -56011,7 +58239,6 @@ public final class ContextOuterClass {
              */
             public Builder clearResourceKey() {
                 resourceKey_ = getDefaultInstance().getResourceKey();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -56027,7 +58254,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 resourceKey_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -56075,7 +58301,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 resourceValue_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -56086,7 +58311,6 @@ public final class ContextOuterClass {
              */
             public Builder clearResourceValue() {
                 resourceValue_ = getDefaultInstance().getResourceValue();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -56102,7 +58326,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 resourceValue_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -56134,17 +58357,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConfigRule_Custom parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConfigRule_Custom(input, extensionRegistry);
             }
         };
 
@@ -56223,6 +58436,70 @@ public final class ContextOuterClass {
             return new ConfigRule_ACL();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConfigRule_ACL(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.EndPointId.Builder subBuilder = null;
+                                if (endpointId_ != null) {
+                                    subBuilder = endpointId_.toBuilder();
+                                }
+                                endpointId_ = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endpointId_);
+                                    endpointId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                acl.Acl.AclRuleSet.Builder subBuilder = null;
+                                if (ruleSet_ != null) {
+                                    subBuilder = ruleSet_.toBuilder();
+                                }
+                                ruleSet_ = input.readMessage(acl.Acl.AclRuleSet.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(ruleSet_);
+                                    ruleSet_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConfigRule_ACL_descriptor;
         }
@@ -56259,7 +58536,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() {
-            return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_;
+            return getEndpointId();
         }
 
         public static final int RULE_SET_FIELD_NUMBER = 2;
@@ -56289,7 +58566,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public acl.Acl.AclRuleSetOrBuilder getRuleSetOrBuilder() {
-            return ruleSet_ == null ? acl.Acl.AclRuleSet.getDefaultInstance() : ruleSet_;
+            return getRuleSet();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -56313,7 +58590,7 @@ public final class ContextOuterClass {
             if (ruleSet_ != null) {
                 output.writeMessage(2, getRuleSet());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -56328,7 +58605,7 @@ public final class ContextOuterClass {
             if (ruleSet_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getRuleSet());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -56354,7 +58631,7 @@ public final class ContextOuterClass {
                 if (!getRuleSet().equals(other.getRuleSet()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -56374,7 +58651,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + RULE_SET_FIELD_NUMBER;
                 hash = (53 * hash) + getRuleSet().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -56468,24 +58745,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConfigRule_ACL.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
-                ruleSet_ = null;
-                if (ruleSetBuilder_ != null) {
-                    ruleSetBuilder_.dispose();
+                if (ruleSetBuilder_ == null) {
+                    ruleSet_ = null;
+                } else {
+                    ruleSet_ = null;
                     ruleSetBuilder_ = null;
                 }
                 return this;
@@ -56513,21 +58798,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConfigRule_ACL buildPartial() {
                 context.ContextOuterClass.ConfigRule_ACL result = new context.ContextOuterClass.ConfigRule_ACL(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (endpointIdBuilder_ == null) {
+                    result.endpointId_ = endpointId_;
+                } else {
+                    result.endpointId_ = endpointIdBuilder_.build();
+                }
+                if (ruleSetBuilder_ == null) {
+                    result.ruleSet_ = ruleSet_;
+                } else {
+                    result.ruleSet_ = ruleSetBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConfigRule_ACL result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.endpointId_ = endpointIdBuilder_ == null ? endpointId_ : endpointIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.ruleSet_ = ruleSetBuilder_ == null ? ruleSet_ : ruleSetBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -56549,7 +58861,7 @@ public final class ContextOuterClass {
                 if (other.hasRuleSet()) {
                     mergeRuleSet(other.getRuleSet());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -56561,54 +58873,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConfigRule_ACL parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEndpointIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getRuleSetFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConfigRule_ACL) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.EndPointId endpointId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 endpointIdBuilder_;
@@ -56618,7 +58896,7 @@ public final class ContextOuterClass {
              * @return Whether the endpointId field is set.
              */
             public boolean hasEndpointId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return endpointIdBuilder_ != null || endpointId_ != null;
             }
 
             /**
@@ -56642,11 +58920,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     endpointId_ = value;
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -56656,11 +58933,10 @@ public final class ContextOuterClass {
             public Builder setEndpointId(context.ContextOuterClass.EndPointId.Builder builderForValue) {
                 if (endpointIdBuilder_ == null) {
                     endpointId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -56669,16 +58945,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) {
                 if (endpointIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && endpointId_ != null && endpointId_ != context.ContextOuterClass.EndPointId.getDefaultInstance()) {
-                        getEndpointIdBuilder().mergeFrom(value);
+                    if (endpointId_ != null) {
+                        endpointId_ = context.ContextOuterClass.EndPointId.newBuilder(endpointId_).mergeFrom(value).buildPartial();
                     } else {
                         endpointId_ = value;
                     }
+                    onChanged();
                 } else {
                     endpointIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -56686,13 +58961,13 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public Builder clearEndpointId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                    onChanged();
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -56700,7 +58975,6 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEndpointIdFieldBuilder().getBuilder();
             }
@@ -56736,7 +59010,7 @@ public final class ContextOuterClass {
              * @return Whether the ruleSet field is set.
              */
             public boolean hasRuleSet() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return ruleSetBuilder_ != null || ruleSet_ != null;
             }
 
             /**
@@ -56760,11 +59034,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     ruleSet_ = value;
+                    onChanged();
                 } else {
                     ruleSetBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -56774,11 +59047,10 @@ public final class ContextOuterClass {
             public Builder setRuleSet(acl.Acl.AclRuleSet.Builder builderForValue) {
                 if (ruleSetBuilder_ == null) {
                     ruleSet_ = builderForValue.build();
+                    onChanged();
                 } else {
                     ruleSetBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -56787,16 +59059,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeRuleSet(acl.Acl.AclRuleSet value) {
                 if (ruleSetBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && ruleSet_ != null && ruleSet_ != acl.Acl.AclRuleSet.getDefaultInstance()) {
-                        getRuleSetBuilder().mergeFrom(value);
+                    if (ruleSet_ != null) {
+                        ruleSet_ = acl.Acl.AclRuleSet.newBuilder(ruleSet_).mergeFrom(value).buildPartial();
                     } else {
                         ruleSet_ = value;
                     }
+                    onChanged();
                 } else {
                     ruleSetBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -56804,13 +59075,13 @@ public final class ContextOuterClass {
              * .acl.AclRuleSet rule_set = 2;
              */
             public Builder clearRuleSet() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                ruleSet_ = null;
-                if (ruleSetBuilder_ != null) {
-                    ruleSetBuilder_.dispose();
+                if (ruleSetBuilder_ == null) {
+                    ruleSet_ = null;
+                    onChanged();
+                } else {
+                    ruleSet_ = null;
                     ruleSetBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -56818,7 +59089,6 @@ public final class ContextOuterClass {
              * .acl.AclRuleSet rule_set = 2;
              */
             public acl.Acl.AclRuleSet.Builder getRuleSetBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getRuleSetFieldBuilder().getBuilder();
             }
@@ -56872,17 +59142,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConfigRule_ACL parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConfigRule_ACL(input, extensionRegistry);
             }
         };
 
@@ -56950,7 +59210,7 @@ public final class ContextOuterClass {
          */
         context.ContextOuterClass.ConfigRule_ACLOrBuilder getAclOrBuilder();
 
-        context.ContextOuterClass.ConfigRule.ConfigRuleCase getConfigRuleCase();
+        public context.ContextOuterClass.ConfigRule.ConfigRuleCase getConfigRuleCase();
     }
 
     /**
@@ -56976,6 +59236,78 @@ public final class ContextOuterClass {
             return new ConfigRule();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConfigRule(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                int rawValue = input.readEnum();
+                                action_ = rawValue;
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.ConfigRule_Custom.Builder subBuilder = null;
+                                if (configRuleCase_ == 2) {
+                                    subBuilder = ((context.ContextOuterClass.ConfigRule_Custom) configRule_).toBuilder();
+                                }
+                                configRule_ = input.readMessage(context.ContextOuterClass.ConfigRule_Custom.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.ConfigRule_Custom) configRule_);
+                                    configRule_ = subBuilder.buildPartial();
+                                }
+                                configRuleCase_ = 2;
+                                break;
+                            }
+                        case 26:
+                            {
+                                context.ContextOuterClass.ConfigRule_ACL.Builder subBuilder = null;
+                                if (configRuleCase_ == 3) {
+                                    subBuilder = ((context.ContextOuterClass.ConfigRule_ACL) configRule_).toBuilder();
+                                }
+                                configRule_ = input.readMessage(context.ContextOuterClass.ConfigRule_ACL.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.ConfigRule_ACL) configRule_);
+                                    configRule_ = subBuilder.buildPartial();
+                                }
+                                configRuleCase_ = 3;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConfigRule_descriptor;
         }
@@ -56987,7 +59319,6 @@ public final class ContextOuterClass {
 
         private int configRuleCase_ = 0;
 
-        @SuppressWarnings("serial")
         private java.lang.Object configRule_;
 
         public enum ConfigRuleCase implements com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum {
@@ -57034,7 +59365,7 @@ public final class ContextOuterClass {
 
         public static final int ACTION_FIELD_NUMBER = 1;
 
-        private int action_ = 0;
+        private int action_;
 
         /**
          * .context.ConfigActionEnum action = 1;
@@ -57051,7 +59382,8 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConfigActionEnum getAction() {
-            context.ContextOuterClass.ConfigActionEnum result = context.ContextOuterClass.ConfigActionEnum.forNumber(action_);
+            @SuppressWarnings("deprecation")
+            context.ContextOuterClass.ConfigActionEnum result = context.ContextOuterClass.ConfigActionEnum.valueOf(action_);
             return result == null ? context.ContextOuterClass.ConfigActionEnum.UNRECOGNIZED : result;
         }
 
@@ -57147,7 +59479,7 @@ public final class ContextOuterClass {
             if (configRuleCase_ == 3) {
                 output.writeMessage(3, (context.ContextOuterClass.ConfigRule_ACL) configRule_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -57165,7 +59497,7 @@ public final class ContextOuterClass {
             if (configRuleCase_ == 3) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, (context.ContextOuterClass.ConfigRule_ACL) configRule_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -57195,7 +59527,7 @@ public final class ContextOuterClass {
                 case 0:
                 default:
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -57221,7 +59553,7 @@ public final class ContextOuterClass {
                 case 0:
                 default:
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -57315,23 +59647,23 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConfigRule.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 action_ = 0;
-                if (customBuilder_ != null) {
-                    customBuilder_.clear();
-                }
-                if (aclBuilder_ != null) {
-                    aclBuilder_.clear();
-                }
                 configRuleCase_ = 0;
                 configRule_ = null;
                 return this;
@@ -57359,30 +59691,54 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConfigRule buildPartial() {
                 context.ContextOuterClass.ConfigRule result = new context.ContextOuterClass.ConfigRule(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                result.action_ = action_;
+                if (configRuleCase_ == 2) {
+                    if (customBuilder_ == null) {
+                        result.configRule_ = configRule_;
+                    } else {
+                        result.configRule_ = customBuilder_.build();
+                    }
                 }
-                buildPartialOneofs(result);
+                if (configRuleCase_ == 3) {
+                    if (aclBuilder_ == null) {
+                        result.configRule_ = configRule_;
+                    } else {
+                        result.configRule_ = aclBuilder_.build();
+                    }
+                }
+                result.configRuleCase_ = configRuleCase_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConfigRule result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.action_ = action_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
             }
 
-            private void buildPartialOneofs(context.ContextOuterClass.ConfigRule result) {
-                result.configRuleCase_ = configRuleCase_;
-                result.configRule_ = this.configRule_;
-                if (configRuleCase_ == 2 && customBuilder_ != null) {
-                    result.configRule_ = customBuilder_.build();
-                }
-                if (configRuleCase_ == 3 && aclBuilder_ != null) {
-                    result.configRule_ = aclBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -57417,7 +59773,7 @@ public final class ContextOuterClass {
                             break;
                         }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -57429,56 +59785,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConfigRule parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    action_ = input.readEnum();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            case 18:
-                                {
-                                    input.readMessage(getCustomFieldBuilder().getBuilder(), extensionRegistry);
-                                    configRuleCase_ = 2;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    input.readMessage(getAclFieldBuilder().getBuilder(), extensionRegistry);
-                                    configRuleCase_ = 3;
-                                    break;
-                                }
-                            // case 26
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConfigRule) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -57497,8 +59814,6 @@ public final class ContextOuterClass {
                 return this;
             }
 
-            private int bitField0_;
-
             private int action_ = 0;
 
             /**
@@ -57517,7 +59832,6 @@ public final class ContextOuterClass {
              */
             public Builder setActionValue(int value) {
                 action_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -57528,7 +59842,8 @@ public final class ContextOuterClass {
              */
             @java.lang.Override
             public context.ContextOuterClass.ConfigActionEnum getAction() {
-                context.ContextOuterClass.ConfigActionEnum result = context.ContextOuterClass.ConfigActionEnum.forNumber(action_);
+                @SuppressWarnings("deprecation")
+                context.ContextOuterClass.ConfigActionEnum result = context.ContextOuterClass.ConfigActionEnum.valueOf(action_);
                 return result == null ? context.ContextOuterClass.ConfigActionEnum.UNRECOGNIZED : result;
             }
 
@@ -57541,7 +59856,6 @@ public final class ContextOuterClass {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000001;
                 action_ = value.getNumber();
                 onChanged();
                 return this;
@@ -57552,7 +59866,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearAction() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 action_ = 0;
                 onChanged();
                 return this;
@@ -57633,9 +59946,8 @@ public final class ContextOuterClass {
                 } else {
                     if (configRuleCase_ == 2) {
                         customBuilder_.mergeFrom(value);
-                    } else {
-                        customBuilder_.setMessage(value);
                     }
+                    customBuilder_.setMessage(value);
                 }
                 configRuleCase_ = 2;
                 return this;
@@ -57696,6 +60008,7 @@ public final class ContextOuterClass {
                 }
                 configRuleCase_ = 2;
                 onChanged();
+                ;
                 return customBuilder_;
             }
 
@@ -57774,9 +60087,8 @@ public final class ContextOuterClass {
                 } else {
                     if (configRuleCase_ == 3) {
                         aclBuilder_.mergeFrom(value);
-                    } else {
-                        aclBuilder_.setMessage(value);
                     }
+                    aclBuilder_.setMessage(value);
                 }
                 configRuleCase_ = 3;
                 return this;
@@ -57837,6 +60149,7 @@ public final class ContextOuterClass {
                 }
                 configRuleCase_ = 3;
                 onChanged();
+                ;
                 return aclBuilder_;
             }
 
@@ -57867,17 +60180,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConfigRule parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConfigRule(input, extensionRegistry);
             }
         };
 
@@ -57948,6 +60251,56 @@ public final class ContextOuterClass {
             return new Constraint_Custom();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_Custom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                constraintType_ = s;
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                constraintValue_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_Custom_descriptor;
         }
@@ -57959,8 +60312,7 @@ public final class ContextOuterClass {
 
         public static final int CONSTRAINT_TYPE_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object constraintType_ = "";
+        private volatile java.lang.Object constraintType_;
 
         /**
          * string constraint_type = 1;
@@ -57997,8 +60349,7 @@ public final class ContextOuterClass {
 
         public static final int CONSTRAINT_VALUE_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object constraintValue_ = "";
+        private volatile java.lang.Object constraintValue_;
 
         /**
          * string constraint_value = 2;
@@ -58048,13 +60399,13 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(constraintType_)) {
+            if (!getConstraintTypeBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, constraintType_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(constraintValue_)) {
+            if (!getConstraintValueBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, constraintValue_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -58063,13 +60414,13 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(constraintType_)) {
+            if (!getConstraintTypeBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, constraintType_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(constraintValue_)) {
+            if (!getConstraintValueBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, constraintValue_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -58087,7 +60438,7 @@ public final class ContextOuterClass {
                 return false;
             if (!getConstraintValue().equals(other.getConstraintValue()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -58103,7 +60454,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + getConstraintType().hashCode();
             hash = (37 * hash) + CONSTRAINT_VALUE_FIELD_NUMBER;
             hash = (53 * hash) + getConstraintValue().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -58197,16 +60548,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_Custom.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 constraintType_ = "";
                 constraintValue_ = "";
                 return this;
@@ -58234,21 +60591,40 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_Custom buildPartial() {
                 context.ContextOuterClass.Constraint_Custom result = new context.ContextOuterClass.Constraint_Custom(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.constraintType_ = constraintType_;
+                result.constraintValue_ = constraintValue_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_Custom result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.constraintType_ = constraintType_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.constraintValue_ = constraintValue_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -58266,15 +60642,13 @@ public final class ContextOuterClass {
                     return this;
                 if (!other.getConstraintType().isEmpty()) {
                     constraintType_ = other.constraintType_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
                 if (!other.getConstraintValue().isEmpty()) {
                     constraintValue_ = other.constraintValue_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -58286,54 +60660,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_Custom parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    constraintType_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    constraintValue_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_Custom) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private java.lang.Object constraintType_ = "";
 
             /**
@@ -58377,7 +60717,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 constraintType_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -58388,7 +60727,6 @@ public final class ContextOuterClass {
              */
             public Builder clearConstraintType() {
                 constraintType_ = getDefaultInstance().getConstraintType();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -58404,7 +60742,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 constraintType_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -58452,7 +60789,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 constraintValue_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -58463,7 +60799,6 @@ public final class ContextOuterClass {
              */
             public Builder clearConstraintValue() {
                 constraintValue_ = getDefaultInstance().getConstraintValue();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -58479,7 +60814,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 constraintValue_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -58511,17 +60845,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_Custom parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_Custom(input, extensionRegistry);
             }
         };
 
@@ -58578,6 +60902,54 @@ public final class ContextOuterClass {
             return new Constraint_Schedule();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_Schedule(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 13:
+                            {
+                                startTimestamp_ = input.readFloat();
+                                break;
+                            }
+                        case 21:
+                            {
+                                durationDays_ = input.readFloat();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_Schedule_descriptor;
         }
@@ -58589,7 +60961,7 @@ public final class ContextOuterClass {
 
         public static final int START_TIMESTAMP_FIELD_NUMBER = 1;
 
-        private float startTimestamp_ = 0F;
+        private float startTimestamp_;
 
         /**
          * float start_timestamp = 1;
@@ -58602,7 +60974,7 @@ public final class ContextOuterClass {
 
         public static final int DURATION_DAYS_FIELD_NUMBER = 2;
 
-        private float durationDays_ = 0F;
+        private float durationDays_;
 
         /**
          * float duration_days = 2;
@@ -58628,13 +61000,13 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (java.lang.Float.floatToRawIntBits(startTimestamp_) != 0) {
+            if (startTimestamp_ != 0F) {
                 output.writeFloat(1, startTimestamp_);
             }
-            if (java.lang.Float.floatToRawIntBits(durationDays_) != 0) {
+            if (durationDays_ != 0F) {
                 output.writeFloat(2, durationDays_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -58643,13 +61015,13 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (java.lang.Float.floatToRawIntBits(startTimestamp_) != 0) {
+            if (startTimestamp_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(1, startTimestamp_);
             }
-            if (java.lang.Float.floatToRawIntBits(durationDays_) != 0) {
+            if (durationDays_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(2, durationDays_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -58667,7 +61039,7 @@ public final class ContextOuterClass {
                 return false;
             if (java.lang.Float.floatToIntBits(getDurationDays()) != java.lang.Float.floatToIntBits(other.getDurationDays()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -58683,7 +61055,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getStartTimestamp());
             hash = (37 * hash) + DURATION_DAYS_FIELD_NUMBER;
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getDurationDays());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -58777,16 +61149,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_Schedule.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 startTimestamp_ = 0F;
                 durationDays_ = 0F;
                 return this;
@@ -58814,21 +61192,40 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_Schedule buildPartial() {
                 context.ContextOuterClass.Constraint_Schedule result = new context.ContextOuterClass.Constraint_Schedule(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.startTimestamp_ = startTimestamp_;
+                result.durationDays_ = durationDays_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_Schedule result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.startTimestamp_ = startTimestamp_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.durationDays_ = durationDays_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -58850,7 +61247,7 @@ public final class ContextOuterClass {
                 if (other.getDurationDays() != 0F) {
                     setDurationDays(other.getDurationDays());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -58862,54 +61259,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_Schedule parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 13:
-                                {
-                                    startTimestamp_ = input.readFloat();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 13
-                            case 21:
-                                {
-                                    durationDays_ = input.readFloat();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 21
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_Schedule) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private float startTimestamp_;
 
             /**
@@ -58928,7 +61291,6 @@ public final class ContextOuterClass {
              */
             public Builder setStartTimestamp(float value) {
                 startTimestamp_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -58938,7 +61300,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearStartTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 startTimestamp_ = 0F;
                 onChanged();
                 return this;
@@ -58962,7 +61323,6 @@ public final class ContextOuterClass {
              */
             public Builder setDurationDays(float value) {
                 durationDays_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -58972,7 +61332,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearDurationDays() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 durationDays_ = 0F;
                 onChanged();
                 return this;
@@ -59005,17 +61364,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_Schedule parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_Schedule(input, extensionRegistry);
             }
         };
 
@@ -59072,6 +61421,54 @@ public final class ContextOuterClass {
             return new GPS_Position();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private GPS_Position(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 13:
+                            {
+                                latitude_ = input.readFloat();
+                                break;
+                            }
+                        case 21:
+                            {
+                                longitude_ = input.readFloat();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_GPS_Position_descriptor;
         }
@@ -59083,7 +61480,7 @@ public final class ContextOuterClass {
 
         public static final int LATITUDE_FIELD_NUMBER = 1;
 
-        private float latitude_ = 0F;
+        private float latitude_;
 
         /**
          * float latitude = 1;
@@ -59096,7 +61493,7 @@ public final class ContextOuterClass {
 
         public static final int LONGITUDE_FIELD_NUMBER = 2;
 
-        private float longitude_ = 0F;
+        private float longitude_;
 
         /**
          * float longitude = 2;
@@ -59122,13 +61519,13 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (java.lang.Float.floatToRawIntBits(latitude_) != 0) {
+            if (latitude_ != 0F) {
                 output.writeFloat(1, latitude_);
             }
-            if (java.lang.Float.floatToRawIntBits(longitude_) != 0) {
+            if (longitude_ != 0F) {
                 output.writeFloat(2, longitude_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -59137,13 +61534,13 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (java.lang.Float.floatToRawIntBits(latitude_) != 0) {
+            if (latitude_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(1, latitude_);
             }
-            if (java.lang.Float.floatToRawIntBits(longitude_) != 0) {
+            if (longitude_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(2, longitude_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -59161,7 +61558,7 @@ public final class ContextOuterClass {
                 return false;
             if (java.lang.Float.floatToIntBits(getLongitude()) != java.lang.Float.floatToIntBits(other.getLongitude()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -59177,7 +61574,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getLatitude());
             hash = (37 * hash) + LONGITUDE_FIELD_NUMBER;
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getLongitude());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -59271,16 +61668,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.GPS_Position.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 latitude_ = 0F;
                 longitude_ = 0F;
                 return this;
@@ -59308,21 +61711,40 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.GPS_Position buildPartial() {
                 context.ContextOuterClass.GPS_Position result = new context.ContextOuterClass.GPS_Position(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.latitude_ = latitude_;
+                result.longitude_ = longitude_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.GPS_Position result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.latitude_ = latitude_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.longitude_ = longitude_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -59344,7 +61766,7 @@ public final class ContextOuterClass {
                 if (other.getLongitude() != 0F) {
                     setLongitude(other.getLongitude());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -59356,54 +61778,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.GPS_Position parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 13:
-                                {
-                                    latitude_ = input.readFloat();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 13
-                            case 21:
-                                {
-                                    longitude_ = input.readFloat();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 21
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.GPS_Position) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private float latitude_;
 
             /**
@@ -59422,7 +61810,6 @@ public final class ContextOuterClass {
              */
             public Builder setLatitude(float value) {
                 latitude_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -59432,7 +61819,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearLatitude() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 latitude_ = 0F;
                 onChanged();
                 return this;
@@ -59456,7 +61842,6 @@ public final class ContextOuterClass {
              */
             public Builder setLongitude(float value) {
                 longitude_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -59466,7 +61851,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearLongitude() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 longitude_ = 0F;
                 onChanged();
                 return this;
@@ -59499,17 +61883,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public GPS_Position parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new GPS_Position(input, extensionRegistry);
             }
         };
 
@@ -59566,7 +61940,7 @@ public final class ContextOuterClass {
          */
         context.ContextOuterClass.GPS_PositionOrBuilder getGpsPositionOrBuilder();
 
-        context.ContextOuterClass.Location.LocationCase getLocationCase();
+        public context.ContextOuterClass.Location.LocationCase getLocationCase();
     }
 
     /**
@@ -59591,6 +61965,65 @@ public final class ContextOuterClass {
             return new Location();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Location(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                locationCase_ = 1;
+                                location_ = s;
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.GPS_Position.Builder subBuilder = null;
+                                if (locationCase_ == 2) {
+                                    subBuilder = ((context.ContextOuterClass.GPS_Position) location_).toBuilder();
+                                }
+                                location_ = input.readMessage(context.ContextOuterClass.GPS_Position.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.GPS_Position) location_);
+                                    location_ = subBuilder.buildPartial();
+                                }
+                                locationCase_ = 2;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Location_descriptor;
         }
@@ -59602,7 +62035,6 @@ public final class ContextOuterClass {
 
         private int locationCase_ = 0;
 
-        @SuppressWarnings("serial")
         private java.lang.Object location_;
 
         public enum LocationCase implements com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum {
@@ -59753,7 +62185,7 @@ public final class ContextOuterClass {
             if (locationCase_ == 2) {
                 output.writeMessage(2, (context.ContextOuterClass.GPS_Position) location_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -59768,7 +62200,7 @@ public final class ContextOuterClass {
             if (locationCase_ == 2) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, (context.ContextOuterClass.GPS_Position) location_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -59796,7 +62228,7 @@ public final class ContextOuterClass {
                 case 0:
                 default:
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -59820,7 +62252,7 @@ public final class ContextOuterClass {
                 case 0:
                 default:
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -59914,19 +62346,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Location.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                if (gpsPositionBuilder_ != null) {
-                    gpsPositionBuilder_.clear();
-                }
                 locationCase_ = 0;
                 location_ = null;
                 return this;
@@ -59954,24 +62389,49 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Location buildPartial() {
                 context.ContextOuterClass.Location result = new context.ContextOuterClass.Location(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (locationCase_ == 1) {
+                    result.location_ = location_;
+                }
+                if (locationCase_ == 2) {
+                    if (gpsPositionBuilder_ == null) {
+                        result.location_ = location_;
+                    } else {
+                        result.location_ = gpsPositionBuilder_.build();
+                    }
                 }
-                buildPartialOneofs(result);
+                result.locationCase_ = locationCase_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Location result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
             }
 
-            private void buildPartialOneofs(context.ContextOuterClass.Location result) {
-                result.locationCase_ = locationCase_;
-                result.location_ = this.location_;
-                if (locationCase_ == 2 && gpsPositionBuilder_ != null) {
-                    result.location_ = gpsPositionBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -60005,7 +62465,7 @@ public final class ContextOuterClass {
                             break;
                         }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -60017,50 +62477,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Location parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    java.lang.String s = input.readStringRequireUtf8();
-                                    locationCase_ = 1;
-                                    location_ = s;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getGpsPositionFieldBuilder().getBuilder(), extensionRegistry);
-                                    locationCase_ = 2;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Location) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -60079,8 +62506,6 @@ public final class ContextOuterClass {
                 return this;
             }
 
-            private int bitField0_;
-
             /**
              * string region = 1;
              * @return Whether the region field is set.
@@ -60252,9 +62677,8 @@ public final class ContextOuterClass {
                 } else {
                     if (locationCase_ == 2) {
                         gpsPositionBuilder_.mergeFrom(value);
-                    } else {
-                        gpsPositionBuilder_.setMessage(value);
                     }
+                    gpsPositionBuilder_.setMessage(value);
                 }
                 locationCase_ = 2;
                 return this;
@@ -60315,6 +62739,7 @@ public final class ContextOuterClass {
                 }
                 locationCase_ = 2;
                 onChanged();
+                ;
                 return gpsPositionBuilder_;
             }
 
@@ -60345,17 +62770,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Location parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Location(input, extensionRegistry);
             }
         };
 
@@ -60434,6 +62849,70 @@ public final class ContextOuterClass {
             return new Constraint_EndPointLocation();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_EndPointLocation(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.EndPointId.Builder subBuilder = null;
+                                if (endpointId_ != null) {
+                                    subBuilder = endpointId_.toBuilder();
+                                }
+                                endpointId_ = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endpointId_);
+                                    endpointId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.Location.Builder subBuilder = null;
+                                if (location_ != null) {
+                                    subBuilder = location_.toBuilder();
+                                }
+                                location_ = input.readMessage(context.ContextOuterClass.Location.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(location_);
+                                    location_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_EndPointLocation_descriptor;
         }
@@ -60470,7 +62949,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() {
-            return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_;
+            return getEndpointId();
         }
 
         public static final int LOCATION_FIELD_NUMBER = 2;
@@ -60500,7 +62979,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.LocationOrBuilder getLocationOrBuilder() {
-            return location_ == null ? context.ContextOuterClass.Location.getDefaultInstance() : location_;
+            return getLocation();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -60524,7 +63003,7 @@ public final class ContextOuterClass {
             if (location_ != null) {
                 output.writeMessage(2, getLocation());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -60539,7 +63018,7 @@ public final class ContextOuterClass {
             if (location_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getLocation());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -60565,7 +63044,7 @@ public final class ContextOuterClass {
                 if (!getLocation().equals(other.getLocation()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -60585,7 +63064,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + LOCATION_FIELD_NUMBER;
                 hash = (53 * hash) + getLocation().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -60679,24 +63158,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_EndPointLocation.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
-                location_ = null;
-                if (locationBuilder_ != null) {
-                    locationBuilder_.dispose();
+                if (locationBuilder_ == null) {
+                    location_ = null;
+                } else {
+                    location_ = null;
                     locationBuilder_ = null;
                 }
                 return this;
@@ -60724,21 +63211,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_EndPointLocation buildPartial() {
                 context.ContextOuterClass.Constraint_EndPointLocation result = new context.ContextOuterClass.Constraint_EndPointLocation(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (endpointIdBuilder_ == null) {
+                    result.endpointId_ = endpointId_;
+                } else {
+                    result.endpointId_ = endpointIdBuilder_.build();
+                }
+                if (locationBuilder_ == null) {
+                    result.location_ = location_;
+                } else {
+                    result.location_ = locationBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_EndPointLocation result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.endpointId_ = endpointIdBuilder_ == null ? endpointId_ : endpointIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.location_ = locationBuilder_ == null ? location_ : locationBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -60760,7 +63274,7 @@ public final class ContextOuterClass {
                 if (other.hasLocation()) {
                     mergeLocation(other.getLocation());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -60772,54 +63286,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_EndPointLocation parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEndpointIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getLocationFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_EndPointLocation) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.EndPointId endpointId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 endpointIdBuilder_;
@@ -60829,7 +63309,7 @@ public final class ContextOuterClass {
              * @return Whether the endpointId field is set.
              */
             public boolean hasEndpointId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return endpointIdBuilder_ != null || endpointId_ != null;
             }
 
             /**
@@ -60853,11 +63333,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     endpointId_ = value;
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -60867,11 +63346,10 @@ public final class ContextOuterClass {
             public Builder setEndpointId(context.ContextOuterClass.EndPointId.Builder builderForValue) {
                 if (endpointIdBuilder_ == null) {
                     endpointId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -60880,16 +63358,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) {
                 if (endpointIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && endpointId_ != null && endpointId_ != context.ContextOuterClass.EndPointId.getDefaultInstance()) {
-                        getEndpointIdBuilder().mergeFrom(value);
+                    if (endpointId_ != null) {
+                        endpointId_ = context.ContextOuterClass.EndPointId.newBuilder(endpointId_).mergeFrom(value).buildPartial();
                     } else {
                         endpointId_ = value;
                     }
+                    onChanged();
                 } else {
                     endpointIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -60897,13 +63374,13 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public Builder clearEndpointId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                    onChanged();
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -60911,7 +63388,6 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEndpointIdFieldBuilder().getBuilder();
             }
@@ -60947,7 +63423,7 @@ public final class ContextOuterClass {
              * @return Whether the location field is set.
              */
             public boolean hasLocation() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return locationBuilder_ != null || location_ != null;
             }
 
             /**
@@ -60971,11 +63447,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     location_ = value;
+                    onChanged();
                 } else {
                     locationBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -60985,11 +63460,10 @@ public final class ContextOuterClass {
             public Builder setLocation(context.ContextOuterClass.Location.Builder builderForValue) {
                 if (locationBuilder_ == null) {
                     location_ = builderForValue.build();
+                    onChanged();
                 } else {
                     locationBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -60998,16 +63472,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeLocation(context.ContextOuterClass.Location value) {
                 if (locationBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && location_ != null && location_ != context.ContextOuterClass.Location.getDefaultInstance()) {
-                        getLocationBuilder().mergeFrom(value);
+                    if (location_ != null) {
+                        location_ = context.ContextOuterClass.Location.newBuilder(location_).mergeFrom(value).buildPartial();
                     } else {
                         location_ = value;
                     }
+                    onChanged();
                 } else {
                     locationBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -61015,13 +63488,13 @@ public final class ContextOuterClass {
              * .context.Location location = 2;
              */
             public Builder clearLocation() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                location_ = null;
-                if (locationBuilder_ != null) {
-                    locationBuilder_.dispose();
+                if (locationBuilder_ == null) {
+                    location_ = null;
+                    onChanged();
+                } else {
+                    location_ = null;
                     locationBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -61029,7 +63502,6 @@ public final class ContextOuterClass {
              * .context.Location location = 2;
              */
             public context.ContextOuterClass.Location.Builder getLocationBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getLocationFieldBuilder().getBuilder();
             }
@@ -61083,17 +63555,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_EndPointLocation parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_EndPointLocation(input, extensionRegistry);
             }
         };
 
@@ -61161,6 +63623,62 @@ public final class ContextOuterClass {
             return new Constraint_EndPointPriority();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_EndPointPriority(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.EndPointId.Builder subBuilder = null;
+                                if (endpointId_ != null) {
+                                    subBuilder = endpointId_.toBuilder();
+                                }
+                                endpointId_ = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endpointId_);
+                                    endpointId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 16:
+                            {
+                                priority_ = input.readUInt32();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_EndPointPriority_descriptor;
         }
@@ -61197,12 +63715,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() {
-            return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_;
+            return getEndpointId();
         }
 
         public static final int PRIORITY_FIELD_NUMBER = 2;
 
-        private int priority_ = 0;
+        private int priority_;
 
         /**
          * uint32 priority = 2;
@@ -61234,7 +63752,7 @@ public final class ContextOuterClass {
             if (priority_ != 0) {
                 output.writeUInt32(2, priority_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -61249,7 +63767,7 @@ public final class ContextOuterClass {
             if (priority_ != 0) {
                 size += com.google.protobuf.CodedOutputStream.computeUInt32Size(2, priority_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -61271,7 +63789,7 @@ public final class ContextOuterClass {
             }
             if (getPriority() != other.getPriority())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -61289,7 +63807,7 @@ public final class ContextOuterClass {
             }
             hash = (37 * hash) + PRIORITY_FIELD_NUMBER;
             hash = (53 * hash) + getPriority();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -61383,19 +63901,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_EndPointPriority.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
                 priority_ = 0;
@@ -61424,21 +63949,44 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_EndPointPriority buildPartial() {
                 context.ContextOuterClass.Constraint_EndPointPriority result = new context.ContextOuterClass.Constraint_EndPointPriority(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (endpointIdBuilder_ == null) {
+                    result.endpointId_ = endpointId_;
+                } else {
+                    result.endpointId_ = endpointIdBuilder_.build();
                 }
+                result.priority_ = priority_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_EndPointPriority result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.endpointId_ = endpointIdBuilder_ == null ? endpointId_ : endpointIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.priority_ = priority_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -61460,7 +64008,7 @@ public final class ContextOuterClass {
                 if (other.getPriority() != 0) {
                     setPriority(other.getPriority());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -61472,54 +64020,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_EndPointPriority parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEndpointIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 16:
-                                {
-                                    priority_ = input.readUInt32();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_EndPointPriority) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.EndPointId endpointId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 endpointIdBuilder_;
@@ -61529,7 +64043,7 @@ public final class ContextOuterClass {
              * @return Whether the endpointId field is set.
              */
             public boolean hasEndpointId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return endpointIdBuilder_ != null || endpointId_ != null;
             }
 
             /**
@@ -61553,11 +64067,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     endpointId_ = value;
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -61567,11 +64080,10 @@ public final class ContextOuterClass {
             public Builder setEndpointId(context.ContextOuterClass.EndPointId.Builder builderForValue) {
                 if (endpointIdBuilder_ == null) {
                     endpointId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -61580,16 +64092,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) {
                 if (endpointIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && endpointId_ != null && endpointId_ != context.ContextOuterClass.EndPointId.getDefaultInstance()) {
-                        getEndpointIdBuilder().mergeFrom(value);
+                    if (endpointId_ != null) {
+                        endpointId_ = context.ContextOuterClass.EndPointId.newBuilder(endpointId_).mergeFrom(value).buildPartial();
                     } else {
                         endpointId_ = value;
                     }
+                    onChanged();
                 } else {
                     endpointIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -61597,13 +64108,13 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public Builder clearEndpointId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                    onChanged();
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -61611,7 +64122,6 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEndpointIdFieldBuilder().getBuilder();
             }
@@ -61656,7 +64166,6 @@ public final class ContextOuterClass {
              */
             public Builder setPriority(int value) {
                 priority_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -61666,7 +64175,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearPriority() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 priority_ = 0;
                 onChanged();
                 return this;
@@ -61699,17 +64207,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_EndPointPriority parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_EndPointPriority(input, extensionRegistry);
             }
         };
 
@@ -61760,6 +64258,49 @@ public final class ContextOuterClass {
             return new Constraint_SLA_Latency();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_SLA_Latency(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 13:
+                            {
+                                e2ELatencyMs_ = input.readFloat();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_SLA_Latency_descriptor;
         }
@@ -61771,7 +64312,7 @@ public final class ContextOuterClass {
 
         public static final int E2E_LATENCY_MS_FIELD_NUMBER = 1;
 
-        private float e2ELatencyMs_ = 0F;
+        private float e2ELatencyMs_;
 
         /**
          * float e2e_latency_ms = 1;
@@ -61797,10 +64338,10 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (java.lang.Float.floatToRawIntBits(e2ELatencyMs_) != 0) {
+            if (e2ELatencyMs_ != 0F) {
                 output.writeFloat(1, e2ELatencyMs_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -61809,10 +64350,10 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (java.lang.Float.floatToRawIntBits(e2ELatencyMs_) != 0) {
+            if (e2ELatencyMs_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(1, e2ELatencyMs_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -61828,7 +64369,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.Constraint_SLA_Latency other = (context.ContextOuterClass.Constraint_SLA_Latency) obj;
             if (java.lang.Float.floatToIntBits(getE2ELatencyMs()) != java.lang.Float.floatToIntBits(other.getE2ELatencyMs()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -61842,7 +64383,7 @@ public final class ContextOuterClass {
             hash = (19 * hash) + getDescriptor().hashCode();
             hash = (37 * hash) + E2E_LATENCY_MS_FIELD_NUMBER;
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getE2ELatencyMs());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -61936,16 +64477,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_SLA_Latency.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 e2ELatencyMs_ = 0F;
                 return this;
             }
@@ -61972,18 +64519,39 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_SLA_Latency buildPartial() {
                 context.ContextOuterClass.Constraint_SLA_Latency result = new context.ContextOuterClass.Constraint_SLA_Latency(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.e2ELatencyMs_ = e2ELatencyMs_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_SLA_Latency result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.e2ELatencyMs_ = e2ELatencyMs_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -62002,7 +64570,7 @@ public final class ContextOuterClass {
                 if (other.getE2ELatencyMs() != 0F) {
                     setE2ELatencyMs(other.getE2ELatencyMs());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -62014,47 +64582,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_SLA_Latency parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 13:
-                                {
-                                    e2ELatencyMs_ = input.readFloat();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 13
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_SLA_Latency) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private float e2ELatencyMs_;
 
             /**
@@ -62073,7 +64614,6 @@ public final class ContextOuterClass {
              */
             public Builder setE2ELatencyMs(float value) {
                 e2ELatencyMs_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -62083,7 +64623,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearE2ELatencyMs() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 e2ELatencyMs_ = 0F;
                 onChanged();
                 return this;
@@ -62116,17 +64655,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_SLA_Latency parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_SLA_Latency(input, extensionRegistry);
             }
         };
 
@@ -62177,6 +64706,49 @@ public final class ContextOuterClass {
             return new Constraint_SLA_Capacity();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_SLA_Capacity(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 13:
+                            {
+                                capacityGbps_ = input.readFloat();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_SLA_Capacity_descriptor;
         }
@@ -62188,7 +64760,7 @@ public final class ContextOuterClass {
 
         public static final int CAPACITY_GBPS_FIELD_NUMBER = 1;
 
-        private float capacityGbps_ = 0F;
+        private float capacityGbps_;
 
         /**
          * float capacity_gbps = 1;
@@ -62214,10 +64786,10 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (java.lang.Float.floatToRawIntBits(capacityGbps_) != 0) {
+            if (capacityGbps_ != 0F) {
                 output.writeFloat(1, capacityGbps_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -62226,10 +64798,10 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (java.lang.Float.floatToRawIntBits(capacityGbps_) != 0) {
+            if (capacityGbps_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(1, capacityGbps_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -62245,7 +64817,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.Constraint_SLA_Capacity other = (context.ContextOuterClass.Constraint_SLA_Capacity) obj;
             if (java.lang.Float.floatToIntBits(getCapacityGbps()) != java.lang.Float.floatToIntBits(other.getCapacityGbps()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -62259,7 +64831,7 @@ public final class ContextOuterClass {
             hash = (19 * hash) + getDescriptor().hashCode();
             hash = (37 * hash) + CAPACITY_GBPS_FIELD_NUMBER;
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getCapacityGbps());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -62353,16 +64925,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_SLA_Capacity.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 capacityGbps_ = 0F;
                 return this;
             }
@@ -62389,18 +64967,39 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_SLA_Capacity buildPartial() {
                 context.ContextOuterClass.Constraint_SLA_Capacity result = new context.ContextOuterClass.Constraint_SLA_Capacity(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.capacityGbps_ = capacityGbps_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_SLA_Capacity result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.capacityGbps_ = capacityGbps_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -62419,7 +65018,7 @@ public final class ContextOuterClass {
                 if (other.getCapacityGbps() != 0F) {
                     setCapacityGbps(other.getCapacityGbps());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -62431,47 +65030,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_SLA_Capacity parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 13:
-                                {
-                                    capacityGbps_ = input.readFloat();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 13
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_SLA_Capacity) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private float capacityGbps_;
 
             /**
@@ -62490,7 +65062,6 @@ public final class ContextOuterClass {
              */
             public Builder setCapacityGbps(float value) {
                 capacityGbps_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -62500,7 +65071,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearCapacityGbps() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 capacityGbps_ = 0F;
                 onChanged();
                 return this;
@@ -62533,17 +65103,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_SLA_Capacity parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_SLA_Capacity(input, extensionRegistry);
             }
         };
 
@@ -62610,6 +65170,59 @@ public final class ContextOuterClass {
             return new Constraint_SLA_Availability();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_SLA_Availability(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                numDisjointPaths_ = input.readUInt32();
+                                break;
+                            }
+                        case 16:
+                            {
+                                allActive_ = input.readBool();
+                                break;
+                            }
+                        case 29:
+                            {
+                                availability_ = input.readFloat();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_SLA_Availability_descriptor;
         }
@@ -62621,7 +65234,7 @@ public final class ContextOuterClass {
 
         public static final int NUM_DISJOINT_PATHS_FIELD_NUMBER = 1;
 
-        private int numDisjointPaths_ = 0;
+        private int numDisjointPaths_;
 
         /**
          * uint32 num_disjoint_paths = 1;
@@ -62634,7 +65247,7 @@ public final class ContextOuterClass {
 
         public static final int ALL_ACTIVE_FIELD_NUMBER = 2;
 
-        private boolean allActive_ = false;
+        private boolean allActive_;
 
         /**
          * bool all_active = 2;
@@ -62647,7 +65260,7 @@ public final class ContextOuterClass {
 
         public static final int AVAILABILITY_FIELD_NUMBER = 3;
 
-        private float availability_ = 0F;
+        private float availability_;
 
         /**
          * 
@@ -62683,10 +65296,10 @@ public final class ContextOuterClass {
             if (allActive_ != false) {
                 output.writeBool(2, allActive_);
             }
-            if (java.lang.Float.floatToRawIntBits(availability_) != 0) {
+            if (availability_ != 0F) {
                 output.writeFloat(3, availability_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -62701,10 +65314,10 @@ public final class ContextOuterClass {
             if (allActive_ != false) {
                 size += com.google.protobuf.CodedOutputStream.computeBoolSize(2, allActive_);
             }
-            if (java.lang.Float.floatToRawIntBits(availability_) != 0) {
+            if (availability_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(3, availability_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -62724,7 +65337,7 @@ public final class ContextOuterClass {
                 return false;
             if (java.lang.Float.floatToIntBits(getAvailability()) != java.lang.Float.floatToIntBits(other.getAvailability()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -62742,7 +65355,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getAllActive());
             hash = (37 * hash) + AVAILABILITY_FIELD_NUMBER;
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getAvailability());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -62836,16 +65449,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_SLA_Availability.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 numDisjointPaths_ = 0;
                 allActive_ = false;
                 availability_ = 0F;
@@ -62874,24 +65493,41 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_SLA_Availability buildPartial() {
                 context.ContextOuterClass.Constraint_SLA_Availability result = new context.ContextOuterClass.Constraint_SLA_Availability(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.numDisjointPaths_ = numDisjointPaths_;
+                result.allActive_ = allActive_;
+                result.availability_ = availability_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_SLA_Availability result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.numDisjointPaths_ = numDisjointPaths_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.allActive_ = allActive_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.availability_ = availability_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -62916,7 +65552,7 @@ public final class ContextOuterClass {
                 if (other.getAvailability() != 0F) {
                     setAvailability(other.getAvailability());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -62928,61 +65564,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_SLA_Availability parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    numDisjointPaths_ = input.readUInt32();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            case 16:
-                                {
-                                    allActive_ = input.readBool();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            case 29:
-                                {
-                                    availability_ = input.readFloat();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 29
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_SLA_Availability) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private int numDisjointPaths_;
 
             /**
@@ -63001,7 +65596,6 @@ public final class ContextOuterClass {
              */
             public Builder setNumDisjointPaths(int value) {
                 numDisjointPaths_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -63011,7 +65605,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearNumDisjointPaths() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 numDisjointPaths_ = 0;
                 onChanged();
                 return this;
@@ -63035,7 +65628,6 @@ public final class ContextOuterClass {
              */
             public Builder setAllActive(boolean value) {
                 allActive_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -63045,7 +65637,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearAllActive() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 allActive_ = false;
                 onChanged();
                 return this;
@@ -63077,7 +65668,6 @@ public final class ContextOuterClass {
              */
             public Builder setAvailability(float value) {
                 availability_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -63091,7 +65681,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearAvailability() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 availability_ = 0F;
                 onChanged();
                 return this;
@@ -63124,17 +65713,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_SLA_Availability parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_SLA_Availability(input, extensionRegistry);
             }
         };
 
@@ -63212,6 +65791,73 @@ public final class ContextOuterClass {
             return new Constraint_SLA_Isolation_level();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_SLA_Isolation_level(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                int rawValue = input.readEnum();
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    isolationLevel_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                isolationLevel_.add(rawValue);
+                                break;
+                            }
+                        case 10:
+                            {
+                                int length = input.readRawVarint32();
+                                int oldLimit = input.pushLimit(length);
+                                while (input.getBytesUntilLimit() > 0) {
+                                    int rawValue = input.readEnum();
+                                    if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                        isolationLevel_ = new java.util.ArrayList();
+                                        mutable_bitField0_ |= 0x00000001;
+                                    }
+                                    isolationLevel_.add(rawValue);
+                                }
+                                input.popLimit(oldLimit);
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    isolationLevel_ = java.util.Collections.unmodifiableList(isolationLevel_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_SLA_Isolation_level_descriptor;
         }
@@ -63223,13 +65869,13 @@ public final class ContextOuterClass {
 
         public static final int ISOLATION_LEVEL_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List isolationLevel_;
 
         private static final com.google.protobuf.Internal.ListAdapter.Converter isolationLevel_converter_ = new com.google.protobuf.Internal.ListAdapter.Converter() {
 
             public context.ContextOuterClass.IsolationLevelEnum convert(java.lang.Integer from) {
-                context.ContextOuterClass.IsolationLevelEnum result = context.ContextOuterClass.IsolationLevelEnum.forNumber(from);
+                @SuppressWarnings("deprecation")
+                context.ContextOuterClass.IsolationLevelEnum result = context.ContextOuterClass.IsolationLevelEnum.valueOf(from);
                 return result == null ? context.ContextOuterClass.IsolationLevelEnum.UNRECOGNIZED : result;
             }
         };
@@ -63306,7 +65952,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < isolationLevel_.size(); i++) {
                 output.writeEnumNoTag(isolationLevel_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -63327,7 +65973,7 @@ public final class ContextOuterClass {
                 }
                 isolationLevelMemoizedSerializedSize = dataSize;
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -63343,7 +65989,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.Constraint_SLA_Isolation_level other = (context.ContextOuterClass.Constraint_SLA_Isolation_level) obj;
             if (!isolationLevel_.equals(other.isolationLevel_))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -63359,7 +66005,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + ISOLATION_LEVEL_FIELD_NUMBER;
                 hash = (53 * hash) + isolationLevel_.hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -63453,16 +66099,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_SLA_Isolation_level.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 isolationLevel_ = java.util.Collections.emptyList();
                 bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
@@ -63490,24 +66142,44 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_SLA_Isolation_level buildPartial() {
                 context.ContextOuterClass.Constraint_SLA_Isolation_level result = new context.ContextOuterClass.Constraint_SLA_Isolation_level(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.Constraint_SLA_Isolation_level result) {
+                int from_bitField0_ = bitField0_;
                 if (((bitField0_ & 0x00000001) != 0)) {
                     isolationLevel_ = java.util.Collections.unmodifiableList(isolationLevel_);
                     bitField0_ = (bitField0_ & ~0x00000001);
                 }
                 result.isolationLevel_ = isolationLevel_;
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_SLA_Isolation_level result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -63533,7 +66205,7 @@ public final class ContextOuterClass {
                     }
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -63545,56 +66217,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_SLA_Isolation_level parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    int tmpRaw = input.readEnum();
-                                    ensureIsolationLevelIsMutable();
-                                    isolationLevel_.add(tmpRaw);
-                                    break;
-                                }
-                            // case 8
-                            case 10:
-                                {
-                                    int length = input.readRawVarint32();
-                                    int oldLimit = input.pushLimit(length);
-                                    while (input.getBytesUntilLimit() > 0) {
-                                        int tmpRaw = input.readEnum();
-                                        ensureIsolationLevelIsMutable();
-                                        isolationLevel_.add(tmpRaw);
-                                    }
-                                    input.popLimit(oldLimit);
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_SLA_Isolation_level) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -63709,8 +66342,8 @@ public final class ContextOuterClass {
 
             /**
              * repeated .context.IsolationLevelEnum isolation_level = 1;
-             * @param index The index to set the value at.
-             * @param value The enum numeric value on the wire for isolationLevel to set.
+             * @param index The index of the value to return.
+             * @return The enum numeric value on the wire of isolationLevel at the given index.
              * @return This builder for chaining.
              */
             public Builder setIsolationLevelValue(int index, int value) {
@@ -63773,17 +66406,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_SLA_Isolation_level parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_SLA_Isolation_level(input, extensionRegistry);
             }
         };
 
@@ -63912,6 +66535,86 @@ public final class ContextOuterClass {
             return new Constraint_Exclusions();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_Exclusions(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                isPermanent_ = input.readBool();
+                                break;
+                            }
+                        case 18:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    deviceIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                deviceIds_.add(input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 26:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+                                    endpointIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000002;
+                                }
+                                endpointIds_.add(input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 34:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000004) != 0)) {
+                                    linkIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000004;
+                                }
+                                linkIds_.add(input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_);
+                }
+                if (((mutable_bitField0_ & 0x00000002) != 0)) {
+                    endpointIds_ = java.util.Collections.unmodifiableList(endpointIds_);
+                }
+                if (((mutable_bitField0_ & 0x00000004) != 0)) {
+                    linkIds_ = java.util.Collections.unmodifiableList(linkIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_Exclusions_descriptor;
         }
@@ -63923,7 +66626,7 @@ public final class ContextOuterClass {
 
         public static final int IS_PERMANENT_FIELD_NUMBER = 1;
 
-        private boolean isPermanent_ = false;
+        private boolean isPermanent_;
 
         /**
          * bool is_permanent = 1;
@@ -63936,7 +66639,6 @@ public final class ContextOuterClass {
 
         public static final int DEVICE_IDS_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
         private java.util.List deviceIds_;
 
         /**
@@ -63981,7 +66683,6 @@ public final class ContextOuterClass {
 
         public static final int ENDPOINT_IDS_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
         private java.util.List endpointIds_;
 
         /**
@@ -64026,7 +66727,6 @@ public final class ContextOuterClass {
 
         public static final int LINK_IDS_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
         private java.util.List linkIds_;
 
         /**
@@ -64096,7 +66796,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < linkIds_.size(); i++) {
                 output.writeMessage(4, linkIds_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -64117,7 +66817,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < linkIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, linkIds_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -64139,7 +66839,7 @@ public final class ContextOuterClass {
                 return false;
             if (!getLinkIdsList().equals(other.getLinkIdsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -64165,7 +66865,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + LINK_IDS_FIELD_NUMBER;
                 hash = (53 * hash) + getLinkIdsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -64259,38 +66959,44 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_Exclusions.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getDeviceIdsFieldBuilder();
+                    getEndpointIdsFieldBuilder();
+                    getLinkIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 isPermanent_ = false;
                 if (deviceIdsBuilder_ == null) {
                     deviceIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    deviceIds_ = null;
                     deviceIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000002);
                 if (endpointIdsBuilder_ == null) {
                     endpointIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000002);
                 } else {
-                    endpointIds_ = null;
                     endpointIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000004);
                 if (linkIdsBuilder_ == null) {
                     linkIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000004);
                 } else {
-                    linkIds_ = null;
                     linkIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000008);
                 return this;
             }
 
@@ -64316,49 +67022,67 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_Exclusions buildPartial() {
                 context.ContextOuterClass.Constraint_Exclusions result = new context.ContextOuterClass.Constraint_Exclusions(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.Constraint_Exclusions result) {
+                int from_bitField0_ = bitField0_;
+                result.isPermanent_ = isPermanent_;
                 if (deviceIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_);
-                        bitField0_ = (bitField0_ & ~0x00000002);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.deviceIds_ = deviceIds_;
                 } else {
                     result.deviceIds_ = deviceIdsBuilder_.build();
                 }
                 if (endpointIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0)) {
+                    if (((bitField0_ & 0x00000002) != 0)) {
                         endpointIds_ = java.util.Collections.unmodifiableList(endpointIds_);
-                        bitField0_ = (bitField0_ & ~0x00000004);
+                        bitField0_ = (bitField0_ & ~0x00000002);
                     }
                     result.endpointIds_ = endpointIds_;
                 } else {
                     result.endpointIds_ = endpointIdsBuilder_.build();
                 }
                 if (linkIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0)) {
+                    if (((bitField0_ & 0x00000004) != 0)) {
                         linkIds_ = java.util.Collections.unmodifiableList(linkIds_);
-                        bitField0_ = (bitField0_ & ~0x00000008);
+                        bitField0_ = (bitField0_ & ~0x00000004);
                     }
                     result.linkIds_ = linkIds_;
                 } else {
                     result.linkIds_ = linkIdsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_Exclusions result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.isPermanent_ = isPermanent_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -64381,7 +67105,7 @@ public final class ContextOuterClass {
                     if (!other.deviceIds_.isEmpty()) {
                         if (deviceIds_.isEmpty()) {
                             deviceIds_ = other.deviceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000002);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureDeviceIdsIsMutable();
                             deviceIds_.addAll(other.deviceIds_);
@@ -64394,7 +67118,7 @@ public final class ContextOuterClass {
                             deviceIdsBuilder_.dispose();
                             deviceIdsBuilder_ = null;
                             deviceIds_ = other.deviceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000002);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             deviceIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getDeviceIdsFieldBuilder() : null;
                         } else {
                             deviceIdsBuilder_.addAllMessages(other.deviceIds_);
@@ -64405,7 +67129,7 @@ public final class ContextOuterClass {
                     if (!other.endpointIds_.isEmpty()) {
                         if (endpointIds_.isEmpty()) {
                             endpointIds_ = other.endpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                         } else {
                             ensureEndpointIdsIsMutable();
                             endpointIds_.addAll(other.endpointIds_);
@@ -64418,7 +67142,7 @@ public final class ContextOuterClass {
                             endpointIdsBuilder_.dispose();
                             endpointIdsBuilder_ = null;
                             endpointIds_ = other.endpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                             endpointIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getEndpointIdsFieldBuilder() : null;
                         } else {
                             endpointIdsBuilder_.addAllMessages(other.endpointIds_);
@@ -64429,7 +67153,7 @@ public final class ContextOuterClass {
                     if (!other.linkIds_.isEmpty()) {
                         if (linkIds_.isEmpty()) {
                             linkIds_ = other.linkIds_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000004);
                         } else {
                             ensureLinkIdsIsMutable();
                             linkIds_.addAll(other.linkIds_);
@@ -64442,14 +67166,14 @@ public final class ContextOuterClass {
                             linkIdsBuilder_.dispose();
                             linkIdsBuilder_ = null;
                             linkIds_ = other.linkIds_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000004);
                             linkIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getLinkIdsFieldBuilder() : null;
                         } else {
                             linkIdsBuilder_.addAllMessages(other.linkIds_);
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -64461,78 +67185,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_Exclusions parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    isPermanent_ = input.readBool();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            case 18:
-                                {
-                                    context.ContextOuterClass.DeviceId m = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry);
-                                    if (deviceIdsBuilder_ == null) {
-                                        ensureDeviceIdsIsMutable();
-                                        deviceIds_.add(m);
-                                    } else {
-                                        deviceIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    context.ContextOuterClass.EndPointId m = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
-                                    if (endpointIdsBuilder_ == null) {
-                                        ensureEndpointIdsIsMutable();
-                                        endpointIds_.add(m);
-                                    } else {
-                                        endpointIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    context.ContextOuterClass.LinkId m = input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry);
-                                    if (linkIdsBuilder_ == null) {
-                                        ensureLinkIdsIsMutable();
-                                        linkIds_.add(m);
-                                    } else {
-                                        linkIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 34
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_Exclusions) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -64556,7 +67219,6 @@ public final class ContextOuterClass {
              */
             public Builder setIsPermanent(boolean value) {
                 isPermanent_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -64566,7 +67228,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIsPermanent() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 isPermanent_ = false;
                 onChanged();
                 return this;
@@ -64575,9 +67236,9 @@ public final class ContextOuterClass {
             private java.util.List deviceIds_ = java.util.Collections.emptyList();
 
             private void ensureDeviceIdsIsMutable() {
-                if (!((bitField0_ & 0x00000002) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     deviceIds_ = new java.util.ArrayList(deviceIds_);
-                    bitField0_ |= 0x00000002;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -64729,7 +67390,7 @@ public final class ContextOuterClass {
             public Builder clearDeviceIds() {
                 if (deviceIdsBuilder_ == null) {
                     deviceIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000002);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     deviceIdsBuilder_.clear();
@@ -64803,7 +67464,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getDeviceIdsFieldBuilder() {
                 if (deviceIdsBuilder_ == null) {
-                    deviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(deviceIds_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
+                    deviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(deviceIds_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     deviceIds_ = null;
                 }
                 return deviceIdsBuilder_;
@@ -64812,9 +67473,9 @@ public final class ContextOuterClass {
             private java.util.List endpointIds_ = java.util.Collections.emptyList();
 
             private void ensureEndpointIdsIsMutable() {
-                if (!((bitField0_ & 0x00000004) != 0)) {
+                if (!((bitField0_ & 0x00000002) != 0)) {
                     endpointIds_ = new java.util.ArrayList(endpointIds_);
-                    bitField0_ |= 0x00000004;
+                    bitField0_ |= 0x00000002;
                 }
             }
 
@@ -64966,7 +67627,7 @@ public final class ContextOuterClass {
             public Builder clearEndpointIds() {
                 if (endpointIdsBuilder_ == null) {
                     endpointIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000004);
+                    bitField0_ = (bitField0_ & ~0x00000002);
                     onChanged();
                 } else {
                     endpointIdsBuilder_.clear();
@@ -65040,7 +67701,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getEndpointIdsFieldBuilder() {
                 if (endpointIdsBuilder_ == null) {
-                    endpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(endpointIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
+                    endpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(endpointIds_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
                     endpointIds_ = null;
                 }
                 return endpointIdsBuilder_;
@@ -65049,9 +67710,9 @@ public final class ContextOuterClass {
             private java.util.List linkIds_ = java.util.Collections.emptyList();
 
             private void ensureLinkIdsIsMutable() {
-                if (!((bitField0_ & 0x00000008) != 0)) {
+                if (!((bitField0_ & 0x00000004) != 0)) {
                     linkIds_ = new java.util.ArrayList(linkIds_);
-                    bitField0_ |= 0x00000008;
+                    bitField0_ |= 0x00000004;
                 }
             }
 
@@ -65203,7 +67864,7 @@ public final class ContextOuterClass {
             public Builder clearLinkIds() {
                 if (linkIdsBuilder_ == null) {
                     linkIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000008);
+                    bitField0_ = (bitField0_ & ~0x00000004);
                     onChanged();
                 } else {
                     linkIdsBuilder_.clear();
@@ -65277,7 +67938,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getLinkIdsFieldBuilder() {
                 if (linkIdsBuilder_ == null) {
-                    linkIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(linkIds_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
+                    linkIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(linkIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
                     linkIds_ = null;
                 }
                 return linkIdsBuilder_;
@@ -65310,17 +67971,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_Exclusions parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_Exclusions(input, extensionRegistry);
             }
         };
 
@@ -65507,7 +68158,7 @@ public final class ContextOuterClass {
          */
         context.ContextOuterClass.Constraint_ExclusionsOrBuilder getExclusionsOrBuilder();
 
-        context.ContextOuterClass.Constraint.ConstraintCase getConstraintCase();
+        public context.ContextOuterClass.Constraint.ConstraintCase getConstraintCase();
     }
 
     /**
@@ -65533,6 +68184,176 @@ public final class ContextOuterClass {
             return new Constraint();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                int rawValue = input.readEnum();
+                                action_ = rawValue;
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.Constraint_Custom.Builder subBuilder = null;
+                                if (constraintCase_ == 2) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_Custom) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_Custom.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_Custom) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 2;
+                                break;
+                            }
+                        case 26:
+                            {
+                                context.ContextOuterClass.Constraint_Schedule.Builder subBuilder = null;
+                                if (constraintCase_ == 3) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_Schedule) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_Schedule.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_Schedule) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 3;
+                                break;
+                            }
+                        case 34:
+                            {
+                                context.ContextOuterClass.Constraint_EndPointLocation.Builder subBuilder = null;
+                                if (constraintCase_ == 4) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_EndPointLocation) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_EndPointLocation.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_EndPointLocation) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 4;
+                                break;
+                            }
+                        case 42:
+                            {
+                                context.ContextOuterClass.Constraint_EndPointPriority.Builder subBuilder = null;
+                                if (constraintCase_ == 5) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_EndPointPriority) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_EndPointPriority.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_EndPointPriority) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 5;
+                                break;
+                            }
+                        case 50:
+                            {
+                                context.ContextOuterClass.Constraint_SLA_Capacity.Builder subBuilder = null;
+                                if (constraintCase_ == 6) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_SLA_Capacity) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_SLA_Capacity.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_SLA_Capacity) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 6;
+                                break;
+                            }
+                        case 58:
+                            {
+                                context.ContextOuterClass.Constraint_SLA_Latency.Builder subBuilder = null;
+                                if (constraintCase_ == 7) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_SLA_Latency) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_SLA_Latency.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_SLA_Latency) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 7;
+                                break;
+                            }
+                        case 66:
+                            {
+                                context.ContextOuterClass.Constraint_SLA_Availability.Builder subBuilder = null;
+                                if (constraintCase_ == 8) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_SLA_Availability) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_SLA_Availability.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_SLA_Availability) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 8;
+                                break;
+                            }
+                        case 74:
+                            {
+                                context.ContextOuterClass.Constraint_SLA_Isolation_level.Builder subBuilder = null;
+                                if (constraintCase_ == 9) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_SLA_Isolation_level) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_SLA_Isolation_level.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_SLA_Isolation_level) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 9;
+                                break;
+                            }
+                        case 82:
+                            {
+                                context.ContextOuterClass.Constraint_Exclusions.Builder subBuilder = null;
+                                if (constraintCase_ == 10) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_Exclusions) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_Exclusions.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_Exclusions) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 10;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_descriptor;
         }
@@ -65544,7 +68365,6 @@ public final class ContextOuterClass {
 
         private int constraintCase_ = 0;
 
-        @SuppressWarnings("serial")
         private java.lang.Object constraint_;
 
         public enum ConstraintCase implements com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum {
@@ -65614,7 +68434,7 @@ public final class ContextOuterClass {
 
         public static final int ACTION_FIELD_NUMBER = 1;
 
-        private int action_ = 0;
+        private int action_;
 
         /**
          * .context.ConstraintActionEnum action = 1;
@@ -65631,7 +68451,8 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConstraintActionEnum getAction() {
-            context.ContextOuterClass.ConstraintActionEnum result = context.ContextOuterClass.ConstraintActionEnum.forNumber(action_);
+            @SuppressWarnings("deprecation")
+            context.ContextOuterClass.ConstraintActionEnum result = context.ContextOuterClass.ConstraintActionEnum.valueOf(action_);
             return result == null ? context.ContextOuterClass.ConstraintActionEnum.UNRECOGNIZED : result;
         }
 
@@ -65986,7 +68807,7 @@ public final class ContextOuterClass {
             if (constraintCase_ == 10) {
                 output.writeMessage(10, (context.ContextOuterClass.Constraint_Exclusions) constraint_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -66025,7 +68846,7 @@ public final class ContextOuterClass {
             if (constraintCase_ == 10) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, (context.ContextOuterClass.Constraint_Exclusions) constraint_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -66083,7 +68904,7 @@ public final class ContextOuterClass {
                 case 0:
                 default:
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -66137,7 +68958,7 @@ public final class ContextOuterClass {
                 case 0:
                 default:
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -66231,44 +69052,23 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 action_ = 0;
-                if (customBuilder_ != null) {
-                    customBuilder_.clear();
-                }
-                if (scheduleBuilder_ != null) {
-                    scheduleBuilder_.clear();
-                }
-                if (endpointLocationBuilder_ != null) {
-                    endpointLocationBuilder_.clear();
-                }
-                if (endpointPriorityBuilder_ != null) {
-                    endpointPriorityBuilder_.clear();
-                }
-                if (slaCapacityBuilder_ != null) {
-                    slaCapacityBuilder_.clear();
-                }
-                if (slaLatencyBuilder_ != null) {
-                    slaLatencyBuilder_.clear();
-                }
-                if (slaAvailabilityBuilder_ != null) {
-                    slaAvailabilityBuilder_.clear();
-                }
-                if (slaIsolationBuilder_ != null) {
-                    slaIsolationBuilder_.clear();
-                }
-                if (exclusionsBuilder_ != null) {
-                    exclusionsBuilder_.clear();
-                }
                 constraintCase_ = 0;
                 constraint_ = null;
                 return this;
@@ -66296,51 +69096,103 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint buildPartial() {
                 context.ContextOuterClass.Constraint result = new context.ContextOuterClass.Constraint(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                buildPartialOneofs(result);
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartial0(context.ContextOuterClass.Constraint result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.action_ = action_;
-                }
-            }
-
-            private void buildPartialOneofs(context.ContextOuterClass.Constraint result) {
-                result.constraintCase_ = constraintCase_;
-                result.constraint_ = this.constraint_;
-                if (constraintCase_ == 2 && customBuilder_ != null) {
-                    result.constraint_ = customBuilder_.build();
+                result.action_ = action_;
+                if (constraintCase_ == 2) {
+                    if (customBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = customBuilder_.build();
+                    }
                 }
-                if (constraintCase_ == 3 && scheduleBuilder_ != null) {
-                    result.constraint_ = scheduleBuilder_.build();
+                if (constraintCase_ == 3) {
+                    if (scheduleBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = scheduleBuilder_.build();
+                    }
                 }
-                if (constraintCase_ == 4 && endpointLocationBuilder_ != null) {
-                    result.constraint_ = endpointLocationBuilder_.build();
+                if (constraintCase_ == 4) {
+                    if (endpointLocationBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = endpointLocationBuilder_.build();
+                    }
                 }
-                if (constraintCase_ == 5 && endpointPriorityBuilder_ != null) {
-                    result.constraint_ = endpointPriorityBuilder_.build();
+                if (constraintCase_ == 5) {
+                    if (endpointPriorityBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = endpointPriorityBuilder_.build();
+                    }
                 }
-                if (constraintCase_ == 6 && slaCapacityBuilder_ != null) {
-                    result.constraint_ = slaCapacityBuilder_.build();
+                if (constraintCase_ == 6) {
+                    if (slaCapacityBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = slaCapacityBuilder_.build();
+                    }
                 }
-                if (constraintCase_ == 7 && slaLatencyBuilder_ != null) {
-                    result.constraint_ = slaLatencyBuilder_.build();
+                if (constraintCase_ == 7) {
+                    if (slaLatencyBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = slaLatencyBuilder_.build();
+                    }
                 }
-                if (constraintCase_ == 8 && slaAvailabilityBuilder_ != null) {
-                    result.constraint_ = slaAvailabilityBuilder_.build();
+                if (constraintCase_ == 8) {
+                    if (slaAvailabilityBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = slaAvailabilityBuilder_.build();
+                    }
                 }
-                if (constraintCase_ == 9 && slaIsolationBuilder_ != null) {
-                    result.constraint_ = slaIsolationBuilder_.build();
+                if (constraintCase_ == 9) {
+                    if (slaIsolationBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = slaIsolationBuilder_.build();
+                    }
                 }
-                if (constraintCase_ == 10 && exclusionsBuilder_ != null) {
-                    result.constraint_ = exclusionsBuilder_.build();
+                if (constraintCase_ == 10) {
+                    if (exclusionsBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = exclusionsBuilder_.build();
+                    }
                 }
+                result.constraintCase_ = constraintCase_;
+                onBuilt();
+                return result;
+            }
+
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -66410,7 +69262,7 @@ public final class ContextOuterClass {
                             break;
                         }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -66422,105 +69274,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    action_ = input.readEnum();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            case 18:
-                                {
-                                    input.readMessage(getCustomFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 2;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    input.readMessage(getScheduleFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 3;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    input.readMessage(getEndpointLocationFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 4;
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    input.readMessage(getEndpointPriorityFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 5;
-                                    break;
-                                }
-                            // case 42
-                            case 50:
-                                {
-                                    input.readMessage(getSlaCapacityFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 6;
-                                    break;
-                                }
-                            // case 50
-                            case 58:
-                                {
-                                    input.readMessage(getSlaLatencyFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 7;
-                                    break;
-                                }
-                            // case 58
-                            case 66:
-                                {
-                                    input.readMessage(getSlaAvailabilityFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 8;
-                                    break;
-                                }
-                            // case 66
-                            case 74:
-                                {
-                                    input.readMessage(getSlaIsolationFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 9;
-                                    break;
-                                }
-                            // case 74
-                            case 82:
-                                {
-                                    input.readMessage(getExclusionsFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 10;
-                                    break;
-                                }
-                            // case 82
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -66539,8 +69303,6 @@ public final class ContextOuterClass {
                 return this;
             }
 
-            private int bitField0_;
-
             private int action_ = 0;
 
             /**
@@ -66559,7 +69321,6 @@ public final class ContextOuterClass {
              */
             public Builder setActionValue(int value) {
                 action_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -66570,7 +69331,8 @@ public final class ContextOuterClass {
              */
             @java.lang.Override
             public context.ContextOuterClass.ConstraintActionEnum getAction() {
-                context.ContextOuterClass.ConstraintActionEnum result = context.ContextOuterClass.ConstraintActionEnum.forNumber(action_);
+                @SuppressWarnings("deprecation")
+                context.ContextOuterClass.ConstraintActionEnum result = context.ContextOuterClass.ConstraintActionEnum.valueOf(action_);
                 return result == null ? context.ContextOuterClass.ConstraintActionEnum.UNRECOGNIZED : result;
             }
 
@@ -66583,7 +69345,6 @@ public final class ContextOuterClass {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000001;
                 action_ = value.getNumber();
                 onChanged();
                 return this;
@@ -66594,7 +69355,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearAction() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 action_ = 0;
                 onChanged();
                 return this;
@@ -66675,9 +69435,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 2) {
                         customBuilder_.mergeFrom(value);
-                    } else {
-                        customBuilder_.setMessage(value);
                     }
+                    customBuilder_.setMessage(value);
                 }
                 constraintCase_ = 2;
                 return this;
@@ -66738,6 +69497,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 2;
                 onChanged();
+                ;
                 return customBuilder_;
             }
 
@@ -66816,9 +69576,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 3) {
                         scheduleBuilder_.mergeFrom(value);
-                    } else {
-                        scheduleBuilder_.setMessage(value);
                     }
+                    scheduleBuilder_.setMessage(value);
                 }
                 constraintCase_ = 3;
                 return this;
@@ -66879,6 +69638,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 3;
                 onChanged();
+                ;
                 return scheduleBuilder_;
             }
 
@@ -66957,9 +69717,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 4) {
                         endpointLocationBuilder_.mergeFrom(value);
-                    } else {
-                        endpointLocationBuilder_.setMessage(value);
                     }
+                    endpointLocationBuilder_.setMessage(value);
                 }
                 constraintCase_ = 4;
                 return this;
@@ -67020,6 +69779,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 4;
                 onChanged();
+                ;
                 return endpointLocationBuilder_;
             }
 
@@ -67098,9 +69858,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 5) {
                         endpointPriorityBuilder_.mergeFrom(value);
-                    } else {
-                        endpointPriorityBuilder_.setMessage(value);
                     }
+                    endpointPriorityBuilder_.setMessage(value);
                 }
                 constraintCase_ = 5;
                 return this;
@@ -67161,6 +69920,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 5;
                 onChanged();
+                ;
                 return endpointPriorityBuilder_;
             }
 
@@ -67239,9 +69999,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 6) {
                         slaCapacityBuilder_.mergeFrom(value);
-                    } else {
-                        slaCapacityBuilder_.setMessage(value);
                     }
+                    slaCapacityBuilder_.setMessage(value);
                 }
                 constraintCase_ = 6;
                 return this;
@@ -67302,6 +70061,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 6;
                 onChanged();
+                ;
                 return slaCapacityBuilder_;
             }
 
@@ -67380,9 +70140,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 7) {
                         slaLatencyBuilder_.mergeFrom(value);
-                    } else {
-                        slaLatencyBuilder_.setMessage(value);
                     }
+                    slaLatencyBuilder_.setMessage(value);
                 }
                 constraintCase_ = 7;
                 return this;
@@ -67443,6 +70202,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 7;
                 onChanged();
+                ;
                 return slaLatencyBuilder_;
             }
 
@@ -67521,9 +70281,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 8) {
                         slaAvailabilityBuilder_.mergeFrom(value);
-                    } else {
-                        slaAvailabilityBuilder_.setMessage(value);
                     }
+                    slaAvailabilityBuilder_.setMessage(value);
                 }
                 constraintCase_ = 8;
                 return this;
@@ -67584,6 +70343,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 8;
                 onChanged();
+                ;
                 return slaAvailabilityBuilder_;
             }
 
@@ -67662,9 +70422,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 9) {
                         slaIsolationBuilder_.mergeFrom(value);
-                    } else {
-                        slaIsolationBuilder_.setMessage(value);
                     }
+                    slaIsolationBuilder_.setMessage(value);
                 }
                 constraintCase_ = 9;
                 return this;
@@ -67725,6 +70484,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 9;
                 onChanged();
+                ;
                 return slaIsolationBuilder_;
             }
 
@@ -67803,9 +70563,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 10) {
                         exclusionsBuilder_.mergeFrom(value);
-                    } else {
-                        exclusionsBuilder_.setMessage(value);
                     }
+                    exclusionsBuilder_.setMessage(value);
                 }
                 constraintCase_ = 10;
                 return this;
@@ -67866,6 +70625,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 10;
                 onChanged();
+                ;
                 return exclusionsBuilder_;
             }
 
@@ -67896,17 +70656,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint(input, extensionRegistry);
             }
         };
 
@@ -67991,6 +70741,68 @@ public final class ContextOuterClass {
             return new TeraFlowController();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private TeraFlowController(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ContextId.Builder subBuilder = null;
+                                if (contextId_ != null) {
+                                    subBuilder = contextId_.toBuilder();
+                                }
+                                contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(contextId_);
+                                    contextId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                ipAddress_ = s;
+                                break;
+                            }
+                        case 24:
+                            {
+                                port_ = input.readUInt32();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_TeraFlowController_descriptor;
         }
@@ -68027,13 +70839,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() {
-            return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_;
+            return getContextId();
         }
 
         public static final int IP_ADDRESS_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object ipAddress_ = "";
+        private volatile java.lang.Object ipAddress_;
 
         /**
          * string ip_address = 2;
@@ -68070,7 +70881,7 @@ public final class ContextOuterClass {
 
         public static final int PORT_FIELD_NUMBER = 3;
 
-        private int port_ = 0;
+        private int port_;
 
         /**
          * uint32 port = 3;
@@ -68099,13 +70910,13 @@ public final class ContextOuterClass {
             if (contextId_ != null) {
                 output.writeMessage(1, getContextId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(ipAddress_)) {
+            if (!getIpAddressBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, ipAddress_);
             }
             if (port_ != 0) {
                 output.writeUInt32(3, port_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -68117,13 +70928,13 @@ public final class ContextOuterClass {
             if (contextId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getContextId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(ipAddress_)) {
+            if (!getIpAddressBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, ipAddress_);
             }
             if (port_ != 0) {
                 size += com.google.protobuf.CodedOutputStream.computeUInt32Size(3, port_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -68147,7 +70958,7 @@ public final class ContextOuterClass {
                 return false;
             if (getPort() != other.getPort())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -68167,7 +70978,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + getIpAddress().hashCode();
             hash = (37 * hash) + PORT_FIELD_NUMBER;
             hash = (53 * hash) + getPort();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -68265,19 +71076,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.TeraFlowController.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
                 ipAddress_ = "";
@@ -68307,24 +71125,45 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.TeraFlowController buildPartial() {
                 context.ContextOuterClass.TeraFlowController result = new context.ContextOuterClass.TeraFlowController(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (contextIdBuilder_ == null) {
+                    result.contextId_ = contextId_;
+                } else {
+                    result.contextId_ = contextIdBuilder_.build();
                 }
+                result.ipAddress_ = ipAddress_;
+                result.port_ = port_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.TeraFlowController result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.contextId_ = contextIdBuilder_ == null ? contextId_ : contextIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.ipAddress_ = ipAddress_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.port_ = port_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -68345,13 +71184,12 @@ public final class ContextOuterClass {
                 }
                 if (!other.getIpAddress().isEmpty()) {
                     ipAddress_ = other.ipAddress_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (other.getPort() != 0) {
                     setPort(other.getPort());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -68363,61 +71201,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.TeraFlowController parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getContextIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    ipAddress_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 24:
-                                {
-                                    port_ = input.readUInt32();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.TeraFlowController) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.ContextId contextId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 contextIdBuilder_;
@@ -68427,7 +71224,7 @@ public final class ContextOuterClass {
              * @return Whether the contextId field is set.
              */
             public boolean hasContextId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return contextIdBuilder_ != null || contextId_ != null;
             }
 
             /**
@@ -68451,11 +71248,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     contextId_ = value;
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -68465,11 +71261,10 @@ public final class ContextOuterClass {
             public Builder setContextId(context.ContextOuterClass.ContextId.Builder builderForValue) {
                 if (contextIdBuilder_ == null) {
                     contextId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -68478,16 +71273,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeContextId(context.ContextOuterClass.ContextId value) {
                 if (contextIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && contextId_ != null && contextId_ != context.ContextOuterClass.ContextId.getDefaultInstance()) {
-                        getContextIdBuilder().mergeFrom(value);
+                    if (contextId_ != null) {
+                        contextId_ = context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial();
                     } else {
                         contextId_ = value;
                     }
+                    onChanged();
                 } else {
                     contextIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -68495,13 +71289,13 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public Builder clearContextId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                    onChanged();
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -68509,7 +71303,6 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getContextIdFieldBuilder().getBuilder();
             }
@@ -68579,7 +71372,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 ipAddress_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -68590,7 +71382,6 @@ public final class ContextOuterClass {
              */
             public Builder clearIpAddress() {
                 ipAddress_ = getDefaultInstance().getIpAddress();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -68606,7 +71397,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 ipAddress_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -68629,7 +71419,6 @@ public final class ContextOuterClass {
              */
             public Builder setPort(int value) {
                 port_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -68639,7 +71428,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearPort() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 port_ = 0;
                 onChanged();
                 return this;
@@ -68672,17 +71460,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public TeraFlowController parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new TeraFlowController(input, extensionRegistry);
             }
         };
 
@@ -68750,6 +71528,62 @@ public final class ContextOuterClass {
             return new AuthenticationResult();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private AuthenticationResult(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ContextId.Builder subBuilder = null;
+                                if (contextId_ != null) {
+                                    subBuilder = contextId_.toBuilder();
+                                }
+                                contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(contextId_);
+                                    contextId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 16:
+                            {
+                                authenticated_ = input.readBool();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_AuthenticationResult_descriptor;
         }
@@ -68786,12 +71620,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() {
-            return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_;
+            return getContextId();
         }
 
         public static final int AUTHENTICATED_FIELD_NUMBER = 2;
 
-        private boolean authenticated_ = false;
+        private boolean authenticated_;
 
         /**
          * bool authenticated = 2;
@@ -68823,7 +71657,7 @@ public final class ContextOuterClass {
             if (authenticated_ != false) {
                 output.writeBool(2, authenticated_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -68838,7 +71672,7 @@ public final class ContextOuterClass {
             if (authenticated_ != false) {
                 size += com.google.protobuf.CodedOutputStream.computeBoolSize(2, authenticated_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -68860,7 +71694,7 @@ public final class ContextOuterClass {
             }
             if (getAuthenticated() != other.getAuthenticated())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -68878,7 +71712,7 @@ public final class ContextOuterClass {
             }
             hash = (37 * hash) + AUTHENTICATED_FIELD_NUMBER;
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getAuthenticated());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -68972,19 +71806,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.AuthenticationResult.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
                 authenticated_ = false;
@@ -69013,21 +71854,44 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.AuthenticationResult buildPartial() {
                 context.ContextOuterClass.AuthenticationResult result = new context.ContextOuterClass.AuthenticationResult(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (contextIdBuilder_ == null) {
+                    result.contextId_ = contextId_;
+                } else {
+                    result.contextId_ = contextIdBuilder_.build();
                 }
+                result.authenticated_ = authenticated_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.AuthenticationResult result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.contextId_ = contextIdBuilder_ == null ? contextId_ : contextIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.authenticated_ = authenticated_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -69049,7 +71913,7 @@ public final class ContextOuterClass {
                 if (other.getAuthenticated() != false) {
                     setAuthenticated(other.getAuthenticated());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -69061,54 +71925,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.AuthenticationResult parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getContextIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 16:
-                                {
-                                    authenticated_ = input.readBool();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.AuthenticationResult) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.ContextId contextId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 contextIdBuilder_;
@@ -69118,7 +71948,7 @@ public final class ContextOuterClass {
              * @return Whether the contextId field is set.
              */
             public boolean hasContextId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return contextIdBuilder_ != null || contextId_ != null;
             }
 
             /**
@@ -69142,11 +71972,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     contextId_ = value;
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -69156,11 +71985,10 @@ public final class ContextOuterClass {
             public Builder setContextId(context.ContextOuterClass.ContextId.Builder builderForValue) {
                 if (contextIdBuilder_ == null) {
                     contextId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -69169,16 +71997,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeContextId(context.ContextOuterClass.ContextId value) {
                 if (contextIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && contextId_ != null && contextId_ != context.ContextOuterClass.ContextId.getDefaultInstance()) {
-                        getContextIdBuilder().mergeFrom(value);
+                    if (contextId_ != null) {
+                        contextId_ = context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial();
                     } else {
                         contextId_ = value;
                     }
+                    onChanged();
                 } else {
                     contextIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -69186,13 +72013,13 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public Builder clearContextId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                    onChanged();
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -69200,7 +72027,6 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getContextIdFieldBuilder().getBuilder();
             }
@@ -69245,7 +72071,6 @@ public final class ContextOuterClass {
              */
             public Builder setAuthenticated(boolean value) {
                 authenticated_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -69255,7 +72080,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearAuthenticated() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 authenticated_ = false;
                 onChanged();
                 return this;
@@ -69288,17 +72112,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public AuthenticationResult parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new AuthenticationResult(input, extensionRegistry);
             }
         };
 
@@ -69360,6 +72174,50 @@ public final class ContextOuterClass {
             return new OpticalConfigId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private OpticalConfigId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                opticalconfigUuid_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_OpticalConfigId_descriptor;
         }
@@ -69371,8 +72229,7 @@ public final class ContextOuterClass {
 
         public static final int OPTICALCONFIG_UUID_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object opticalconfigUuid_ = "";
+        private volatile java.lang.Object opticalconfigUuid_;
 
         /**
          * string opticalconfig_uuid = 1;
@@ -69422,10 +72279,10 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(opticalconfigUuid_)) {
+            if (!getOpticalconfigUuidBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, opticalconfigUuid_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -69434,10 +72291,10 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(opticalconfigUuid_)) {
+            if (!getOpticalconfigUuidBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, opticalconfigUuid_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -69453,7 +72310,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.OpticalConfigId other = (context.ContextOuterClass.OpticalConfigId) obj;
             if (!getOpticalconfigUuid().equals(other.getOpticalconfigUuid()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -69467,7 +72324,7 @@ public final class ContextOuterClass {
             hash = (19 * hash) + getDescriptor().hashCode();
             hash = (37 * hash) + OPTICALCONFIG_UUID_FIELD_NUMBER;
             hash = (53 * hash) + getOpticalconfigUuid().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -69565,16 +72422,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.OpticalConfigId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 opticalconfigUuid_ = "";
                 return this;
             }
@@ -69601,18 +72464,39 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.OpticalConfigId buildPartial() {
                 context.ContextOuterClass.OpticalConfigId result = new context.ContextOuterClass.OpticalConfigId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.opticalconfigUuid_ = opticalconfigUuid_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.OpticalConfigId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.opticalconfigUuid_ = opticalconfigUuid_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -69630,10 +72514,9 @@ public final class ContextOuterClass {
                     return this;
                 if (!other.getOpticalconfigUuid().isEmpty()) {
                     opticalconfigUuid_ = other.opticalconfigUuid_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -69645,47 +72528,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.OpticalConfigId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    opticalconfigUuid_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.OpticalConfigId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private java.lang.Object opticalconfigUuid_ = "";
 
             /**
@@ -69729,7 +72585,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 opticalconfigUuid_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -69740,7 +72595,6 @@ public final class ContextOuterClass {
              */
             public Builder clearOpticalconfigUuid() {
                 opticalconfigUuid_ = getDefaultInstance().getOpticalconfigUuid();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -69756,7 +72610,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 opticalconfigUuid_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -69788,17 +72641,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public OpticalConfigId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new OpticalConfigId(input, extensionRegistry);
             }
         };
 
@@ -69873,6 +72716,63 @@ public final class ContextOuterClass {
             return new OpticalConfig();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private OpticalConfig(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.OpticalConfigId.Builder subBuilder = null;
+                                if (opticalconfigId_ != null) {
+                                    subBuilder = opticalconfigId_.toBuilder();
+                                }
+                                opticalconfigId_ = input.readMessage(context.ContextOuterClass.OpticalConfigId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(opticalconfigId_);
+                                    opticalconfigId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                config_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_OpticalConfig_descriptor;
         }
@@ -69909,13 +72809,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.OpticalConfigIdOrBuilder getOpticalconfigIdOrBuilder() {
-            return opticalconfigId_ == null ? context.ContextOuterClass.OpticalConfigId.getDefaultInstance() : opticalconfigId_;
+            return getOpticalconfigId();
         }
 
         public static final int CONFIG_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object config_ = "";
+        private volatile java.lang.Object config_;
 
         /**
          * string config = 2;
@@ -69968,10 +72867,10 @@ public final class ContextOuterClass {
             if (opticalconfigId_ != null) {
                 output.writeMessage(1, getOpticalconfigId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(config_)) {
+            if (!getConfigBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, config_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -69983,10 +72882,10 @@ public final class ContextOuterClass {
             if (opticalconfigId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getOpticalconfigId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(config_)) {
+            if (!getConfigBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, config_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -70008,7 +72907,7 @@ public final class ContextOuterClass {
             }
             if (!getConfig().equals(other.getConfig()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -70026,7 +72925,7 @@ public final class ContextOuterClass {
             }
             hash = (37 * hash) + CONFIG_FIELD_NUMBER;
             hash = (53 * hash) + getConfig().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -70120,19 +73019,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.OpticalConfig.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                opticalconfigId_ = null;
-                if (opticalconfigIdBuilder_ != null) {
-                    opticalconfigIdBuilder_.dispose();
+                if (opticalconfigIdBuilder_ == null) {
+                    opticalconfigId_ = null;
+                } else {
+                    opticalconfigId_ = null;
                     opticalconfigIdBuilder_ = null;
                 }
                 config_ = "";
@@ -70161,21 +73067,44 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.OpticalConfig buildPartial() {
                 context.ContextOuterClass.OpticalConfig result = new context.ContextOuterClass.OpticalConfig(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (opticalconfigIdBuilder_ == null) {
+                    result.opticalconfigId_ = opticalconfigId_;
+                } else {
+                    result.opticalconfigId_ = opticalconfigIdBuilder_.build();
                 }
+                result.config_ = config_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.OpticalConfig result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.opticalconfigId_ = opticalconfigIdBuilder_ == null ? opticalconfigId_ : opticalconfigIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.config_ = config_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -70196,10 +73125,9 @@ public final class ContextOuterClass {
                 }
                 if (!other.getConfig().isEmpty()) {
                     config_ = other.config_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -70211,54 +73139,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.OpticalConfig parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getOpticalconfigIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    config_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.OpticalConfig) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.OpticalConfigId opticalconfigId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 opticalconfigIdBuilder_;
@@ -70268,7 +73162,7 @@ public final class ContextOuterClass {
              * @return Whether the opticalconfigId field is set.
              */
             public boolean hasOpticalconfigId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return opticalconfigIdBuilder_ != null || opticalconfigId_ != null;
             }
 
             /**
@@ -70292,11 +73186,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     opticalconfigId_ = value;
+                    onChanged();
                 } else {
                     opticalconfigIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -70306,11 +73199,10 @@ public final class ContextOuterClass {
             public Builder setOpticalconfigId(context.ContextOuterClass.OpticalConfigId.Builder builderForValue) {
                 if (opticalconfigIdBuilder_ == null) {
                     opticalconfigId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     opticalconfigIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -70319,16 +73211,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeOpticalconfigId(context.ContextOuterClass.OpticalConfigId value) {
                 if (opticalconfigIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && opticalconfigId_ != null && opticalconfigId_ != context.ContextOuterClass.OpticalConfigId.getDefaultInstance()) {
-                        getOpticalconfigIdBuilder().mergeFrom(value);
+                    if (opticalconfigId_ != null) {
+                        opticalconfigId_ = context.ContextOuterClass.OpticalConfigId.newBuilder(opticalconfigId_).mergeFrom(value).buildPartial();
                     } else {
                         opticalconfigId_ = value;
                     }
+                    onChanged();
                 } else {
                     opticalconfigIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -70336,13 +73227,13 @@ public final class ContextOuterClass {
              * .context.OpticalConfigId opticalconfig_id = 1;
              */
             public Builder clearOpticalconfigId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                opticalconfigId_ = null;
-                if (opticalconfigIdBuilder_ != null) {
-                    opticalconfigIdBuilder_.dispose();
+                if (opticalconfigIdBuilder_ == null) {
+                    opticalconfigId_ = null;
+                    onChanged();
+                } else {
+                    opticalconfigId_ = null;
                     opticalconfigIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -70350,7 +73241,6 @@ public final class ContextOuterClass {
              * .context.OpticalConfigId opticalconfig_id = 1;
              */
             public context.ContextOuterClass.OpticalConfigId.Builder getOpticalconfigIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getOpticalconfigIdFieldBuilder().getBuilder();
             }
@@ -70420,7 +73310,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 config_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -70431,7 +73320,6 @@ public final class ContextOuterClass {
              */
             public Builder clearConfig() {
                 config_ = getDefaultInstance().getConfig();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -70447,7 +73335,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 config_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -70479,17 +73366,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public OpticalConfig parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new OpticalConfig(input, extensionRegistry);
             }
         };
 
@@ -70560,6 +73437,57 @@ public final class ContextOuterClass {
             return new OpticalConfigList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private OpticalConfigList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    opticalconfigs_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                opticalconfigs_.add(input.readMessage(context.ContextOuterClass.OpticalConfig.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    opticalconfigs_ = java.util.Collections.unmodifiableList(opticalconfigs_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_OpticalConfigList_descriptor;
         }
@@ -70571,7 +73499,6 @@ public final class ContextOuterClass {
 
         public static final int OPTICALCONFIGS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List opticalconfigs_;
 
         /**
@@ -70632,7 +73559,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < opticalconfigs_.size(); i++) {
                 output.writeMessage(1, opticalconfigs_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -70644,7 +73571,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < opticalconfigs_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, opticalconfigs_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -70660,7 +73587,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.OpticalConfigList other = (context.ContextOuterClass.OpticalConfigList) obj;
             if (!getOpticalconfigsList().equals(other.getOpticalconfigsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -70676,7 +73603,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + OPTICALCONFIGS_FIELD_NUMBER;
                 hash = (53 * hash) + getOpticalconfigsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -70770,23 +73697,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.OpticalConfigList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getOpticalconfigsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (opticalconfigsBuilder_ == null) {
                     opticalconfigs_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    opticalconfigs_ = null;
                     opticalconfigsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -70812,15 +73745,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.OpticalConfigList buildPartial() {
                 context.ContextOuterClass.OpticalConfigList result = new context.ContextOuterClass.OpticalConfigList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.OpticalConfigList result) {
+                int from_bitField0_ = bitField0_;
                 if (opticalconfigsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         opticalconfigs_ = java.util.Collections.unmodifiableList(opticalconfigs_);
@@ -70830,10 +73755,38 @@ public final class ContextOuterClass {
                 } else {
                     result.opticalconfigs_ = opticalconfigsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.OpticalConfigList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -70873,7 +73826,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -70885,47 +73838,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.OpticalConfigList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.OpticalConfig m = input.readMessage(context.ContextOuterClass.OpticalConfig.parser(), extensionRegistry);
-                                    if (opticalconfigsBuilder_ == null) {
-                                        ensureOpticalconfigsIsMutable();
-                                        opticalconfigs_.add(m);
-                                    } else {
-                                        opticalconfigsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.OpticalConfigList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -71195,17 +74118,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public OpticalConfigList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new OpticalConfigList(input, extensionRegistry);
             }
         };
 
@@ -71267,6 +74180,57 @@ public final class ContextOuterClass {
             return new OpticalLinkId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private OpticalLinkId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (opticalLinkUuid_ != null) {
+                                    subBuilder = opticalLinkUuid_.toBuilder();
+                                }
+                                opticalLinkUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(opticalLinkUuid_);
+                                    opticalLinkUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_OpticalLinkId_descriptor;
         }
@@ -71303,7 +74267,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getOpticalLinkUuidOrBuilder() {
-            return opticalLinkUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : opticalLinkUuid_;
+            return getOpticalLinkUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -71324,7 +74288,7 @@ public final class ContextOuterClass {
             if (opticalLinkUuid_ != null) {
                 output.writeMessage(1, getOpticalLinkUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -71336,7 +74300,7 @@ public final class ContextOuterClass {
             if (opticalLinkUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getOpticalLinkUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -71356,7 +74320,7 @@ public final class ContextOuterClass {
                 if (!getOpticalLinkUuid().equals(other.getOpticalLinkUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -71372,7 +74336,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + OPTICAL_LINK_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getOpticalLinkUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -71466,19 +74430,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.OpticalLinkId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                opticalLinkUuid_ = null;
-                if (opticalLinkUuidBuilder_ != null) {
-                    opticalLinkUuidBuilder_.dispose();
+                if (opticalLinkUuidBuilder_ == null) {
+                    opticalLinkUuid_ = null;
+                } else {
+                    opticalLinkUuid_ = null;
                     opticalLinkUuidBuilder_ = null;
                 }
                 return this;
@@ -71506,18 +74477,43 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.OpticalLinkId buildPartial() {
                 context.ContextOuterClass.OpticalLinkId result = new context.ContextOuterClass.OpticalLinkId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (opticalLinkUuidBuilder_ == null) {
+                    result.opticalLinkUuid_ = opticalLinkUuid_;
+                } else {
+                    result.opticalLinkUuid_ = opticalLinkUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.OpticalLinkId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.opticalLinkUuid_ = opticalLinkUuidBuilder_ == null ? opticalLinkUuid_ : opticalLinkUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -71536,7 +74532,7 @@ public final class ContextOuterClass {
                 if (other.hasOpticalLinkUuid()) {
                     mergeOpticalLinkUuid(other.getOpticalLinkUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -71548,47 +74544,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.OpticalLinkId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getOpticalLinkUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.OpticalLinkId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid opticalLinkUuid_;
 
             private com.google.protobuf.SingleFieldBuilderV3 opticalLinkUuidBuilder_;
@@ -71598,7 +74567,7 @@ public final class ContextOuterClass {
              * @return Whether the opticalLinkUuid field is set.
              */
             public boolean hasOpticalLinkUuid() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return opticalLinkUuidBuilder_ != null || opticalLinkUuid_ != null;
             }
 
             /**
@@ -71622,11 +74591,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     opticalLinkUuid_ = value;
+                    onChanged();
                 } else {
                     opticalLinkUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -71636,11 +74604,10 @@ public final class ContextOuterClass {
             public Builder setOpticalLinkUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (opticalLinkUuidBuilder_ == null) {
                     opticalLinkUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     opticalLinkUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -71649,16 +74616,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeOpticalLinkUuid(context.ContextOuterClass.Uuid value) {
                 if (opticalLinkUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && opticalLinkUuid_ != null && opticalLinkUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getOpticalLinkUuidBuilder().mergeFrom(value);
+                    if (opticalLinkUuid_ != null) {
+                        opticalLinkUuid_ = context.ContextOuterClass.Uuid.newBuilder(opticalLinkUuid_).mergeFrom(value).buildPartial();
                     } else {
                         opticalLinkUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     opticalLinkUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -71666,13 +74632,13 @@ public final class ContextOuterClass {
              * .context.Uuid optical_link_uuid = 1;
              */
             public Builder clearOpticalLinkUuid() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                opticalLinkUuid_ = null;
-                if (opticalLinkUuidBuilder_ != null) {
-                    opticalLinkUuidBuilder_.dispose();
+                if (opticalLinkUuidBuilder_ == null) {
+                    opticalLinkUuid_ = null;
+                    onChanged();
+                } else {
+                    opticalLinkUuid_ = null;
                     opticalLinkUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -71680,7 +74646,6 @@ public final class ContextOuterClass {
              * .context.Uuid optical_link_uuid = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getOpticalLinkUuidBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getOpticalLinkUuidFieldBuilder().getBuilder();
             }
@@ -71734,17 +74699,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public OpticalLinkId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new OpticalLinkId(input, extensionRegistry);
             }
         };
 
@@ -71806,6 +74761,57 @@ public final class ContextOuterClass {
             return new FiberId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private FiberId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (fiberUuid_ != null) {
+                                    subBuilder = fiberUuid_.toBuilder();
+                                }
+                                fiberUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(fiberUuid_);
+                                    fiberUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_FiberId_descriptor;
         }
@@ -71842,7 +74848,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getFiberUuidOrBuilder() {
-            return fiberUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : fiberUuid_;
+            return getFiberUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -71863,7 +74869,7 @@ public final class ContextOuterClass {
             if (fiberUuid_ != null) {
                 output.writeMessage(1, getFiberUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -71875,7 +74881,7 @@ public final class ContextOuterClass {
             if (fiberUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getFiberUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -71895,7 +74901,7 @@ public final class ContextOuterClass {
                 if (!getFiberUuid().equals(other.getFiberUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -71911,7 +74917,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + FIBER_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getFiberUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -72005,19 +75011,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.FiberId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                fiberUuid_ = null;
-                if (fiberUuidBuilder_ != null) {
-                    fiberUuidBuilder_.dispose();
+                if (fiberUuidBuilder_ == null) {
+                    fiberUuid_ = null;
+                } else {
+                    fiberUuid_ = null;
                     fiberUuidBuilder_ = null;
                 }
                 return this;
@@ -72045,18 +75058,43 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.FiberId buildPartial() {
                 context.ContextOuterClass.FiberId result = new context.ContextOuterClass.FiberId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (fiberUuidBuilder_ == null) {
+                    result.fiberUuid_ = fiberUuid_;
+                } else {
+                    result.fiberUuid_ = fiberUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.FiberId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.fiberUuid_ = fiberUuidBuilder_ == null ? fiberUuid_ : fiberUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -72075,7 +75113,7 @@ public final class ContextOuterClass {
                 if (other.hasFiberUuid()) {
                     mergeFiberUuid(other.getFiberUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -72087,47 +75125,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.FiberId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getFiberUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.FiberId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid fiberUuid_;
 
             private com.google.protobuf.SingleFieldBuilderV3 fiberUuidBuilder_;
@@ -72137,7 +75148,7 @@ public final class ContextOuterClass {
              * @return Whether the fiberUuid field is set.
              */
             public boolean hasFiberUuid() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return fiberUuidBuilder_ != null || fiberUuid_ != null;
             }
 
             /**
@@ -72161,11 +75172,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     fiberUuid_ = value;
+                    onChanged();
                 } else {
                     fiberUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -72175,11 +75185,10 @@ public final class ContextOuterClass {
             public Builder setFiberUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (fiberUuidBuilder_ == null) {
                     fiberUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     fiberUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -72188,16 +75197,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeFiberUuid(context.ContextOuterClass.Uuid value) {
                 if (fiberUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && fiberUuid_ != null && fiberUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getFiberUuidBuilder().mergeFrom(value);
+                    if (fiberUuid_ != null) {
+                        fiberUuid_ = context.ContextOuterClass.Uuid.newBuilder(fiberUuid_).mergeFrom(value).buildPartial();
                     } else {
                         fiberUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     fiberUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -72205,13 +75213,13 @@ public final class ContextOuterClass {
              * .context.Uuid fiber_uuid = 1;
              */
             public Builder clearFiberUuid() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                fiberUuid_ = null;
-                if (fiberUuidBuilder_ != null) {
-                    fiberUuidBuilder_.dispose();
+                if (fiberUuidBuilder_ == null) {
+                    fiberUuid_ = null;
+                    onChanged();
+                } else {
+                    fiberUuid_ = null;
                     fiberUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -72219,7 +75227,6 @@ public final class ContextOuterClass {
              * .context.Uuid fiber_uuid = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getFiberUuidBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getFiberUuidFieldBuilder().getBuilder();
             }
@@ -72273,17 +75280,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public FiberId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new FiberId(input, extensionRegistry);
             }
         };
 
@@ -72482,6 +75479,179 @@ public final class ContextOuterClass {
             return new Fiber();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Fiber(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                srcPort_ = s;
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                dstPort_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                localPeerPort_ = s;
+                                break;
+                            }
+                        case 34:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                remotePeerPort_ = s;
+                                break;
+                            }
+                        case 40:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    cSlots_ = newIntList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                cSlots_.addInt(input.readInt32());
+                                break;
+                            }
+                        case 42:
+                            {
+                                int length = input.readRawVarint32();
+                                int limit = input.pushLimit(length);
+                                if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
+                                    cSlots_ = newIntList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                while (input.getBytesUntilLimit() > 0) {
+                                    cSlots_.addInt(input.readInt32());
+                                }
+                                input.popLimit(limit);
+                                break;
+                            }
+                        case 48:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+                                    lSlots_ = newIntList();
+                                    mutable_bitField0_ |= 0x00000002;
+                                }
+                                lSlots_.addInt(input.readInt32());
+                                break;
+                            }
+                        case 50:
+                            {
+                                int length = input.readRawVarint32();
+                                int limit = input.pushLimit(length);
+                                if (!((mutable_bitField0_ & 0x00000002) != 0) && input.getBytesUntilLimit() > 0) {
+                                    lSlots_ = newIntList();
+                                    mutable_bitField0_ |= 0x00000002;
+                                }
+                                while (input.getBytesUntilLimit() > 0) {
+                                    lSlots_.addInt(input.readInt32());
+                                }
+                                input.popLimit(limit);
+                                break;
+                            }
+                        case 56:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000004) != 0)) {
+                                    sSlots_ = newIntList();
+                                    mutable_bitField0_ |= 0x00000004;
+                                }
+                                sSlots_.addInt(input.readInt32());
+                                break;
+                            }
+                        case 58:
+                            {
+                                int length = input.readRawVarint32();
+                                int limit = input.pushLimit(length);
+                                if (!((mutable_bitField0_ & 0x00000004) != 0) && input.getBytesUntilLimit() > 0) {
+                                    sSlots_ = newIntList();
+                                    mutable_bitField0_ |= 0x00000004;
+                                }
+                                while (input.getBytesUntilLimit() > 0) {
+                                    sSlots_.addInt(input.readInt32());
+                                }
+                                input.popLimit(limit);
+                                break;
+                            }
+                        case 69:
+                            {
+                                length_ = input.readFloat();
+                                break;
+                            }
+                        case 72:
+                            {
+                                used_ = input.readBool();
+                                break;
+                            }
+                        case 82:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                iD_ = s;
+                                break;
+                            }
+                        case 90:
+                            {
+                                context.ContextOuterClass.FiberId.Builder subBuilder = null;
+                                if (fiberUuid_ != null) {
+                                    subBuilder = fiberUuid_.toBuilder();
+                                }
+                                fiberUuid_ = input.readMessage(context.ContextOuterClass.FiberId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(fiberUuid_);
+                                    fiberUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    // C
+                    cSlots_.makeImmutable();
+                }
+                if (((mutable_bitField0_ & 0x00000002) != 0)) {
+                    // C
+                    lSlots_.makeImmutable();
+                }
+                if (((mutable_bitField0_ & 0x00000004) != 0)) {
+                    // C
+                    sSlots_.makeImmutable();
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Fiber_descriptor;
         }
@@ -72493,8 +75663,7 @@ public final class ContextOuterClass {
 
         public static final int ID_FIELD_NUMBER = 10;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object iD_ = "";
+        private volatile java.lang.Object iD_;
 
         /**
          * string ID = 10;
@@ -72531,8 +75700,7 @@ public final class ContextOuterClass {
 
         public static final int SRC_PORT_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object srcPort_ = "";
+        private volatile java.lang.Object srcPort_;
 
         /**
          * string src_port = 1;
@@ -72569,8 +75737,7 @@ public final class ContextOuterClass {
 
         public static final int DST_PORT_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object dstPort_ = "";
+        private volatile java.lang.Object dstPort_;
 
         /**
          * string dst_port = 2;
@@ -72607,8 +75774,7 @@ public final class ContextOuterClass {
 
         public static final int LOCAL_PEER_PORT_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object localPeerPort_ = "";
+        private volatile java.lang.Object localPeerPort_;
 
         /**
          * string local_peer_port = 3;
@@ -72645,8 +75811,7 @@ public final class ContextOuterClass {
 
         public static final int REMOTE_PEER_PORT_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object remotePeerPort_ = "";
+        private volatile java.lang.Object remotePeerPort_;
 
         /**
          * string remote_peer_port = 4;
@@ -72683,7 +75848,6 @@ public final class ContextOuterClass {
 
         public static final int C_SLOTS_FIELD_NUMBER = 5;
 
-        @SuppressWarnings("serial")
         private com.google.protobuf.Internal.IntList cSlots_;
 
         /**
@@ -72716,7 +75880,6 @@ public final class ContextOuterClass {
 
         public static final int L_SLOTS_FIELD_NUMBER = 6;
 
-        @SuppressWarnings("serial")
         private com.google.protobuf.Internal.IntList lSlots_;
 
         /**
@@ -72749,7 +75912,6 @@ public final class ContextOuterClass {
 
         public static final int S_SLOTS_FIELD_NUMBER = 7;
 
-        @SuppressWarnings("serial")
         private com.google.protobuf.Internal.IntList sSlots_;
 
         /**
@@ -72782,7 +75944,7 @@ public final class ContextOuterClass {
 
         public static final int LENGTH_FIELD_NUMBER = 8;
 
-        private float length_ = 0F;
+        private float length_;
 
         /**
          * float length = 8;
@@ -72795,7 +75957,7 @@ public final class ContextOuterClass {
 
         public static final int USED_FIELD_NUMBER = 9;
 
-        private boolean used_ = false;
+        private boolean used_;
 
         /**
          * bool used = 9;
@@ -72833,7 +75995,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.FiberIdOrBuilder getFiberUuidOrBuilder() {
-            return fiberUuid_ == null ? context.ContextOuterClass.FiberId.getDefaultInstance() : fiberUuid_;
+            return getFiberUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -72852,16 +76014,16 @@ public final class ContextOuterClass {
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
             getSerializedSize();
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcPort_)) {
+            if (!getSrcPortBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, srcPort_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstPort_)) {
+            if (!getDstPortBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, dstPort_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(localPeerPort_)) {
+            if (!getLocalPeerPortBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 3, localPeerPort_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(remotePeerPort_)) {
+            if (!getRemotePeerPortBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 4, remotePeerPort_);
             }
             if (getCSlotsList().size() > 0) {
@@ -72885,19 +76047,19 @@ public final class ContextOuterClass {
             for (int i = 0; i < sSlots_.size(); i++) {
                 output.writeInt32NoTag(sSlots_.getInt(i));
             }
-            if (java.lang.Float.floatToRawIntBits(length_) != 0) {
+            if (length_ != 0F) {
                 output.writeFloat(8, length_);
             }
             if (used_ != false) {
                 output.writeBool(9, used_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(iD_)) {
+            if (!getIDBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 10, iD_);
             }
             if (fiberUuid_ != null) {
                 output.writeMessage(11, getFiberUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -72906,16 +76068,16 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcPort_)) {
+            if (!getSrcPortBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, srcPort_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstPort_)) {
+            if (!getDstPortBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, dstPort_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(localPeerPort_)) {
+            if (!getLocalPeerPortBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, localPeerPort_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(remotePeerPort_)) {
+            if (!getRemotePeerPortBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, remotePeerPort_);
             }
             {
@@ -72954,19 +76116,19 @@ public final class ContextOuterClass {
                 }
                 sSlotsMemoizedSerializedSize = dataSize;
             }
-            if (java.lang.Float.floatToRawIntBits(length_) != 0) {
+            if (length_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(8, length_);
             }
             if (used_ != false) {
                 size += com.google.protobuf.CodedOutputStream.computeBoolSize(9, used_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(iD_)) {
+            if (!getIDBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, iD_);
             }
             if (fiberUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(11, getFiberUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -73006,7 +76168,7 @@ public final class ContextOuterClass {
                 if (!getFiberUuid().equals(other.getFiberUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -73048,7 +76210,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + FIBER_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getFiberUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -73142,29 +76304,39 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Fiber.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 iD_ = "";
                 srcPort_ = "";
                 dstPort_ = "";
                 localPeerPort_ = "";
                 remotePeerPort_ = "";
                 cSlots_ = emptyIntList();
+                bitField0_ = (bitField0_ & ~0x00000001);
                 lSlots_ = emptyIntList();
+                bitField0_ = (bitField0_ & ~0x00000002);
                 sSlots_ = emptyIntList();
+                bitField0_ = (bitField0_ & ~0x00000004);
                 length_ = 0F;
                 used_ = false;
-                fiberUuid_ = null;
-                if (fiberUuidBuilder_ != null) {
-                    fiberUuidBuilder_.dispose();
+                if (fiberUuidBuilder_ == null) {
+                    fiberUuid_ = null;
+                } else {
+                    fiberUuid_ = null;
                     fiberUuidBuilder_ = null;
                 }
                 return this;
@@ -73192,58 +76364,66 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Fiber buildPartial() {
                 context.ContextOuterClass.Fiber result = new context.ContextOuterClass.Fiber(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.Fiber result) {
-                if (((bitField0_ & 0x00000020) != 0)) {
+                int from_bitField0_ = bitField0_;
+                result.iD_ = iD_;
+                result.srcPort_ = srcPort_;
+                result.dstPort_ = dstPort_;
+                result.localPeerPort_ = localPeerPort_;
+                result.remotePeerPort_ = remotePeerPort_;
+                if (((bitField0_ & 0x00000001) != 0)) {
                     cSlots_.makeImmutable();
-                    bitField0_ = (bitField0_ & ~0x00000020);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 }
                 result.cSlots_ = cSlots_;
-                if (((bitField0_ & 0x00000040) != 0)) {
+                if (((bitField0_ & 0x00000002) != 0)) {
                     lSlots_.makeImmutable();
-                    bitField0_ = (bitField0_ & ~0x00000040);
+                    bitField0_ = (bitField0_ & ~0x00000002);
                 }
                 result.lSlots_ = lSlots_;
-                if (((bitField0_ & 0x00000080) != 0)) {
+                if (((bitField0_ & 0x00000004) != 0)) {
                     sSlots_.makeImmutable();
-                    bitField0_ = (bitField0_ & ~0x00000080);
+                    bitField0_ = (bitField0_ & ~0x00000004);
                 }
                 result.sSlots_ = sSlots_;
+                result.length_ = length_;
+                result.used_ = used_;
+                if (fiberUuidBuilder_ == null) {
+                    result.fiberUuid_ = fiberUuid_;
+                } else {
+                    result.fiberUuid_ = fiberUuidBuilder_.build();
+                }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Fiber result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.iD_ = iD_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.srcPort_ = srcPort_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.dstPort_ = dstPort_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.localPeerPort_ = localPeerPort_;
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.remotePeerPort_ = remotePeerPort_;
-                }
-                if (((from_bitField0_ & 0x00000100) != 0)) {
-                    result.length_ = length_;
-                }
-                if (((from_bitField0_ & 0x00000200) != 0)) {
-                    result.used_ = used_;
-                }
-                if (((from_bitField0_ & 0x00000400) != 0)) {
-                    result.fiberUuid_ = fiberUuidBuilder_ == null ? fiberUuid_ : fiberUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -73261,33 +76441,28 @@ public final class ContextOuterClass {
                     return this;
                 if (!other.getID().isEmpty()) {
                     iD_ = other.iD_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
                 if (!other.getSrcPort().isEmpty()) {
                     srcPort_ = other.srcPort_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (!other.getDstPort().isEmpty()) {
                     dstPort_ = other.dstPort_;
-                    bitField0_ |= 0x00000004;
                     onChanged();
                 }
                 if (!other.getLocalPeerPort().isEmpty()) {
                     localPeerPort_ = other.localPeerPort_;
-                    bitField0_ |= 0x00000008;
                     onChanged();
                 }
                 if (!other.getRemotePeerPort().isEmpty()) {
                     remotePeerPort_ = other.remotePeerPort_;
-                    bitField0_ |= 0x00000010;
                     onChanged();
                 }
                 if (!other.cSlots_.isEmpty()) {
                     if (cSlots_.isEmpty()) {
                         cSlots_ = other.cSlots_;
-                        bitField0_ = (bitField0_ & ~0x00000020);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     } else {
                         ensureCSlotsIsMutable();
                         cSlots_.addAll(other.cSlots_);
@@ -73297,7 +76472,7 @@ public final class ContextOuterClass {
                 if (!other.lSlots_.isEmpty()) {
                     if (lSlots_.isEmpty()) {
                         lSlots_ = other.lSlots_;
-                        bitField0_ = (bitField0_ & ~0x00000040);
+                        bitField0_ = (bitField0_ & ~0x00000002);
                     } else {
                         ensureLSlotsIsMutable();
                         lSlots_.addAll(other.lSlots_);
@@ -73307,7 +76482,7 @@ public final class ContextOuterClass {
                 if (!other.sSlots_.isEmpty()) {
                     if (sSlots_.isEmpty()) {
                         sSlots_ = other.sSlots_;
-                        bitField0_ = (bitField0_ & ~0x00000080);
+                        bitField0_ = (bitField0_ & ~0x00000004);
                     } else {
                         ensureSSlotsIsMutable();
                         sSlots_.addAll(other.sSlots_);
@@ -73323,7 +76498,7 @@ public final class ContextOuterClass {
                 if (other.hasFiberUuid()) {
                     mergeFiberUuid(other.getFiberUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -73335,151 +76510,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Fiber parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    srcPort_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    dstPort_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    localPeerPort_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    remotePeerPort_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 34
-                            case 40:
-                                {
-                                    int v = input.readInt32();
-                                    ensureCSlotsIsMutable();
-                                    cSlots_.addInt(v);
-                                    break;
-                                }
-                            // case 40
-                            case 42:
-                                {
-                                    int length = input.readRawVarint32();
-                                    int limit = input.pushLimit(length);
-                                    ensureCSlotsIsMutable();
-                                    while (input.getBytesUntilLimit() > 0) {
-                                        cSlots_.addInt(input.readInt32());
-                                    }
-                                    input.popLimit(limit);
-                                    break;
-                                }
-                            // case 42
-                            case 48:
-                                {
-                                    int v = input.readInt32();
-                                    ensureLSlotsIsMutable();
-                                    lSlots_.addInt(v);
-                                    break;
-                                }
-                            // case 48
-                            case 50:
-                                {
-                                    int length = input.readRawVarint32();
-                                    int limit = input.pushLimit(length);
-                                    ensureLSlotsIsMutable();
-                                    while (input.getBytesUntilLimit() > 0) {
-                                        lSlots_.addInt(input.readInt32());
-                                    }
-                                    input.popLimit(limit);
-                                    break;
-                                }
-                            // case 50
-                            case 56:
-                                {
-                                    int v = input.readInt32();
-                                    ensureSSlotsIsMutable();
-                                    sSlots_.addInt(v);
-                                    break;
-                                }
-                            // case 56
-                            case 58:
-                                {
-                                    int length = input.readRawVarint32();
-                                    int limit = input.pushLimit(length);
-                                    ensureSSlotsIsMutable();
-                                    while (input.getBytesUntilLimit() > 0) {
-                                        sSlots_.addInt(input.readInt32());
-                                    }
-                                    input.popLimit(limit);
-                                    break;
-                                }
-                            // case 58
-                            case 69:
-                                {
-                                    length_ = input.readFloat();
-                                    bitField0_ |= 0x00000100;
-                                    break;
-                                }
-                            // case 69
-                            case 72:
-                                {
-                                    used_ = input.readBool();
-                                    bitField0_ |= 0x00000200;
-                                    break;
-                                }
-                            // case 72
-                            case 82:
-                                {
-                                    iD_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 82
-                            case 90:
-                                {
-                                    input.readMessage(getFiberUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000400;
-                                    break;
-                                }
-                            // case 90
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Fiber) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -73528,7 +76569,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 iD_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -73539,7 +76579,6 @@ public final class ContextOuterClass {
              */
             public Builder clearID() {
                 iD_ = getDefaultInstance().getID();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -73555,7 +76594,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 iD_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -73603,7 +76641,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 srcPort_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -73614,7 +76651,6 @@ public final class ContextOuterClass {
              */
             public Builder clearSrcPort() {
                 srcPort_ = getDefaultInstance().getSrcPort();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -73630,7 +76666,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 srcPort_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -73678,7 +76713,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 dstPort_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -73689,7 +76723,6 @@ public final class ContextOuterClass {
              */
             public Builder clearDstPort() {
                 dstPort_ = getDefaultInstance().getDstPort();
-                bitField0_ = (bitField0_ & ~0x00000004);
                 onChanged();
                 return this;
             }
@@ -73705,7 +76738,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 dstPort_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -73753,7 +76785,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 localPeerPort_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -73764,7 +76795,6 @@ public final class ContextOuterClass {
              */
             public Builder clearLocalPeerPort() {
                 localPeerPort_ = getDefaultInstance().getLocalPeerPort();
-                bitField0_ = (bitField0_ & ~0x00000008);
                 onChanged();
                 return this;
             }
@@ -73780,7 +76810,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 localPeerPort_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -73828,7 +76857,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 remotePeerPort_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -73839,7 +76867,6 @@ public final class ContextOuterClass {
              */
             public Builder clearRemotePeerPort() {
                 remotePeerPort_ = getDefaultInstance().getRemotePeerPort();
-                bitField0_ = (bitField0_ & ~0x00000010);
                 onChanged();
                 return this;
             }
@@ -73855,7 +76882,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 remotePeerPort_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -73863,9 +76889,9 @@ public final class ContextOuterClass {
             private com.google.protobuf.Internal.IntList cSlots_ = emptyIntList();
 
             private void ensureCSlotsIsMutable() {
-                if (!((bitField0_ & 0x00000020) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     cSlots_ = mutableCopy(cSlots_);
-                    bitField0_ |= 0x00000020;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -73874,7 +76900,7 @@ public final class ContextOuterClass {
              * @return A list containing the cSlots.
              */
             public java.util.List getCSlotsList() {
-                return ((bitField0_ & 0x00000020) != 0) ? java.util.Collections.unmodifiableList(cSlots_) : cSlots_;
+                return ((bitField0_ & 0x00000001) != 0) ? java.util.Collections.unmodifiableList(cSlots_) : cSlots_;
             }
 
             /**
@@ -73937,7 +76963,7 @@ public final class ContextOuterClass {
              */
             public Builder clearCSlots() {
                 cSlots_ = emptyIntList();
-                bitField0_ = (bitField0_ & ~0x00000020);
+                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -73945,9 +76971,9 @@ public final class ContextOuterClass {
             private com.google.protobuf.Internal.IntList lSlots_ = emptyIntList();
 
             private void ensureLSlotsIsMutable() {
-                if (!((bitField0_ & 0x00000040) != 0)) {
+                if (!((bitField0_ & 0x00000002) != 0)) {
                     lSlots_ = mutableCopy(lSlots_);
-                    bitField0_ |= 0x00000040;
+                    bitField0_ |= 0x00000002;
                 }
             }
 
@@ -73956,7 +76982,7 @@ public final class ContextOuterClass {
              * @return A list containing the lSlots.
              */
             public java.util.List getLSlotsList() {
-                return ((bitField0_ & 0x00000040) != 0) ? java.util.Collections.unmodifiableList(lSlots_) : lSlots_;
+                return ((bitField0_ & 0x00000002) != 0) ? java.util.Collections.unmodifiableList(lSlots_) : lSlots_;
             }
 
             /**
@@ -74019,7 +77045,7 @@ public final class ContextOuterClass {
              */
             public Builder clearLSlots() {
                 lSlots_ = emptyIntList();
-                bitField0_ = (bitField0_ & ~0x00000040);
+                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -74027,9 +77053,9 @@ public final class ContextOuterClass {
             private com.google.protobuf.Internal.IntList sSlots_ = emptyIntList();
 
             private void ensureSSlotsIsMutable() {
-                if (!((bitField0_ & 0x00000080) != 0)) {
+                if (!((bitField0_ & 0x00000004) != 0)) {
                     sSlots_ = mutableCopy(sSlots_);
-                    bitField0_ |= 0x00000080;
+                    bitField0_ |= 0x00000004;
                 }
             }
 
@@ -74038,7 +77064,7 @@ public final class ContextOuterClass {
              * @return A list containing the sSlots.
              */
             public java.util.List getSSlotsList() {
-                return ((bitField0_ & 0x00000080) != 0) ? java.util.Collections.unmodifiableList(sSlots_) : sSlots_;
+                return ((bitField0_ & 0x00000004) != 0) ? java.util.Collections.unmodifiableList(sSlots_) : sSlots_;
             }
 
             /**
@@ -74101,7 +77127,7 @@ public final class ContextOuterClass {
              */
             public Builder clearSSlots() {
                 sSlots_ = emptyIntList();
-                bitField0_ = (bitField0_ & ~0x00000080);
+                bitField0_ = (bitField0_ & ~0x00000004);
                 onChanged();
                 return this;
             }
@@ -74124,7 +77150,6 @@ public final class ContextOuterClass {
              */
             public Builder setLength(float value) {
                 length_ = value;
-                bitField0_ |= 0x00000100;
                 onChanged();
                 return this;
             }
@@ -74134,7 +77159,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearLength() {
-                bitField0_ = (bitField0_ & ~0x00000100);
                 length_ = 0F;
                 onChanged();
                 return this;
@@ -74158,7 +77182,6 @@ public final class ContextOuterClass {
              */
             public Builder setUsed(boolean value) {
                 used_ = value;
-                bitField0_ |= 0x00000200;
                 onChanged();
                 return this;
             }
@@ -74168,7 +77191,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearUsed() {
-                bitField0_ = (bitField0_ & ~0x00000200);
                 used_ = false;
                 onChanged();
                 return this;
@@ -74183,7 +77205,7 @@ public final class ContextOuterClass {
              * @return Whether the fiberUuid field is set.
              */
             public boolean hasFiberUuid() {
-                return ((bitField0_ & 0x00000400) != 0);
+                return fiberUuidBuilder_ != null || fiberUuid_ != null;
             }
 
             /**
@@ -74207,11 +77229,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     fiberUuid_ = value;
+                    onChanged();
                 } else {
                     fiberUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000400;
-                onChanged();
                 return this;
             }
 
@@ -74221,11 +77242,10 @@ public final class ContextOuterClass {
             public Builder setFiberUuid(context.ContextOuterClass.FiberId.Builder builderForValue) {
                 if (fiberUuidBuilder_ == null) {
                     fiberUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     fiberUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000400;
-                onChanged();
                 return this;
             }
 
@@ -74234,16 +77254,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeFiberUuid(context.ContextOuterClass.FiberId value) {
                 if (fiberUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000400) != 0) && fiberUuid_ != null && fiberUuid_ != context.ContextOuterClass.FiberId.getDefaultInstance()) {
-                        getFiberUuidBuilder().mergeFrom(value);
+                    if (fiberUuid_ != null) {
+                        fiberUuid_ = context.ContextOuterClass.FiberId.newBuilder(fiberUuid_).mergeFrom(value).buildPartial();
                     } else {
                         fiberUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     fiberUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000400;
-                onChanged();
                 return this;
             }
 
@@ -74251,13 +77270,13 @@ public final class ContextOuterClass {
              * .context.FiberId fiber_uuid = 11;
              */
             public Builder clearFiberUuid() {
-                bitField0_ = (bitField0_ & ~0x00000400);
-                fiberUuid_ = null;
-                if (fiberUuidBuilder_ != null) {
-                    fiberUuidBuilder_.dispose();
+                if (fiberUuidBuilder_ == null) {
+                    fiberUuid_ = null;
+                    onChanged();
+                } else {
+                    fiberUuid_ = null;
                     fiberUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -74265,7 +77284,6 @@ public final class ContextOuterClass {
              * .context.FiberId fiber_uuid = 11;
              */
             public context.ContextOuterClass.FiberId.Builder getFiberUuidBuilder() {
-                bitField0_ |= 0x00000400;
                 onChanged();
                 return getFiberUuidFieldBuilder().getBuilder();
             }
@@ -74319,17 +77337,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Fiber parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Fiber(input, extensionRegistry);
             }
         };
 
@@ -74432,6 +77440,74 @@ public final class ContextOuterClass {
             return new OpticalLinkDetails();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private OpticalLinkDetails(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 13:
+                            {
+                                length_ = input.readFloat();
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                source_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                target_ = s;
+                                break;
+                            }
+                        case 34:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    fibers_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                fibers_.add(input.readMessage(context.ContextOuterClass.Fiber.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    fibers_ = java.util.Collections.unmodifiableList(fibers_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_OpticalLinkDetails_descriptor;
         }
@@ -74443,7 +77519,7 @@ public final class ContextOuterClass {
 
         public static final int LENGTH_FIELD_NUMBER = 1;
 
-        private float length_ = 0F;
+        private float length_;
 
         /**
          * float length = 1;
@@ -74456,8 +77532,7 @@ public final class ContextOuterClass {
 
         public static final int SOURCE_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object source_ = "";
+        private volatile java.lang.Object source_;
 
         /**
          * string source = 2;
@@ -74494,8 +77569,7 @@ public final class ContextOuterClass {
 
         public static final int TARGET_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object target_ = "";
+        private volatile java.lang.Object target_;
 
         /**
          * string target = 3;
@@ -74532,7 +77606,6 @@ public final class ContextOuterClass {
 
         public static final int FIBERS_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
         private java.util.List fibers_;
 
         /**
@@ -74590,19 +77663,19 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (java.lang.Float.floatToRawIntBits(length_) != 0) {
+            if (length_ != 0F) {
                 output.writeFloat(1, length_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(source_)) {
+            if (!getSourceBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, source_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(target_)) {
+            if (!getTargetBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 3, target_);
             }
             for (int i = 0; i < fibers_.size(); i++) {
                 output.writeMessage(4, fibers_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -74611,19 +77684,19 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (java.lang.Float.floatToRawIntBits(length_) != 0) {
+            if (length_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(1, length_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(source_)) {
+            if (!getSourceBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, source_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(target_)) {
+            if (!getTargetBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, target_);
             }
             for (int i = 0; i < fibers_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, fibers_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -74645,7 +77718,7 @@ public final class ContextOuterClass {
                 return false;
             if (!getFibersList().equals(other.getFibersList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -74667,7 +77740,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + FIBERS_FIELD_NUMBER;
                 hash = (53 * hash) + getFibersList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -74761,26 +77834,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.OpticalLinkDetails.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getFibersFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 length_ = 0F;
                 source_ = "";
                 target_ = "";
                 if (fibersBuilder_ == null) {
                     fibers_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    fibers_ = null;
                     fibersBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000008);
                 return this;
             }
 
@@ -74806,37 +77885,51 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.OpticalLinkDetails buildPartial() {
                 context.ContextOuterClass.OpticalLinkDetails result = new context.ContextOuterClass.OpticalLinkDetails(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.OpticalLinkDetails result) {
+                int from_bitField0_ = bitField0_;
+                result.length_ = length_;
+                result.source_ = source_;
+                result.target_ = target_;
                 if (fibersBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         fibers_ = java.util.Collections.unmodifiableList(fibers_);
-                        bitField0_ = (bitField0_ & ~0x00000008);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.fibers_ = fibers_;
                 } else {
                     result.fibers_ = fibersBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.OpticalLinkDetails result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.length_ = length_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.source_ = source_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.target_ = target_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -74857,19 +77950,17 @@ public final class ContextOuterClass {
                 }
                 if (!other.getSource().isEmpty()) {
                     source_ = other.source_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (!other.getTarget().isEmpty()) {
                     target_ = other.target_;
-                    bitField0_ |= 0x00000004;
                     onChanged();
                 }
                 if (fibersBuilder_ == null) {
                     if (!other.fibers_.isEmpty()) {
                         if (fibers_.isEmpty()) {
                             fibers_ = other.fibers_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureFibersIsMutable();
                             fibers_.addAll(other.fibers_);
@@ -74882,14 +77973,14 @@ public final class ContextOuterClass {
                             fibersBuilder_.dispose();
                             fibersBuilder_ = null;
                             fibers_ = other.fibers_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             fibersBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getFibersFieldBuilder() : null;
                         } else {
                             fibersBuilder_.addAllMessages(other.fibers_);
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -74901,68 +77992,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.OpticalLinkDetails parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 13:
-                                {
-                                    length_ = input.readFloat();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 13
-                            case 18:
-                                {
-                                    source_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    target_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    context.ContextOuterClass.Fiber m = input.readMessage(context.ContextOuterClass.Fiber.parser(), extensionRegistry);
-                                    if (fibersBuilder_ == null) {
-                                        ensureFibersIsMutable();
-                                        fibers_.add(m);
-                                    } else {
-                                        fibersBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 34
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.OpticalLinkDetails) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -74986,7 +78026,6 @@ public final class ContextOuterClass {
              */
             public Builder setLength(float value) {
                 length_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -74996,7 +78035,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearLength() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 length_ = 0F;
                 onChanged();
                 return this;
@@ -75045,7 +78083,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 source_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -75056,7 +78093,6 @@ public final class ContextOuterClass {
              */
             public Builder clearSource() {
                 source_ = getDefaultInstance().getSource();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -75072,7 +78108,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 source_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -75120,7 +78155,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 target_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -75131,7 +78165,6 @@ public final class ContextOuterClass {
              */
             public Builder clearTarget() {
                 target_ = getDefaultInstance().getTarget();
-                bitField0_ = (bitField0_ & ~0x00000004);
                 onChanged();
                 return this;
             }
@@ -75147,7 +78180,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 target_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -75155,9 +78187,9 @@ public final class ContextOuterClass {
             private java.util.List fibers_ = java.util.Collections.emptyList();
 
             private void ensureFibersIsMutable() {
-                if (!((bitField0_ & 0x00000008) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     fibers_ = new java.util.ArrayList(fibers_);
-                    bitField0_ |= 0x00000008;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -75309,7 +78341,7 @@ public final class ContextOuterClass {
             public Builder clearFibers() {
                 if (fibersBuilder_ == null) {
                     fibers_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000008);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     fibersBuilder_.clear();
@@ -75383,7 +78415,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getFibersFieldBuilder() {
                 if (fibersBuilder_ == null) {
-                    fibersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(fibers_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
+                    fibersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(fibers_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     fibers_ = null;
                 }
                 return fibersBuilder_;
@@ -75416,17 +78448,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public OpticalLinkDetails parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new OpticalLinkDetails(input, extensionRegistry);
             }
         };
 
@@ -75518,6 +78540,76 @@ public final class ContextOuterClass {
             return new OpticalLink();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private OpticalLink(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.OpticalLinkDetails.Builder subBuilder = null;
+                                if (details_ != null) {
+                                    subBuilder = details_.toBuilder();
+                                }
+                                details_ = input.readMessage(context.ContextOuterClass.OpticalLinkDetails.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(details_);
+                                    details_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 26:
+                            {
+                                context.ContextOuterClass.OpticalLinkId.Builder subBuilder = null;
+                                if (opticalLinkUuid_ != null) {
+                                    subBuilder = opticalLinkUuid_.toBuilder();
+                                }
+                                opticalLinkUuid_ = input.readMessage(context.ContextOuterClass.OpticalLinkId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(opticalLinkUuid_);
+                                    opticalLinkUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_OpticalLink_descriptor;
         }
@@ -75529,8 +78621,7 @@ public final class ContextOuterClass {
 
         public static final int NAME_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 1;
@@ -75592,7 +78683,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.OpticalLinkDetailsOrBuilder getDetailsOrBuilder() {
-            return details_ == null ? context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance() : details_;
+            return getDetails();
         }
 
         public static final int OPTICAL_LINK_UUID_FIELD_NUMBER = 3;
@@ -75622,7 +78713,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.OpticalLinkIdOrBuilder getOpticalLinkUuidOrBuilder() {
-            return opticalLinkUuid_ == null ? context.ContextOuterClass.OpticalLinkId.getDefaultInstance() : opticalLinkUuid_;
+            return getOpticalLinkUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -75640,7 +78731,7 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
             }
             if (details_ != null) {
@@ -75649,7 +78740,7 @@ public final class ContextOuterClass {
             if (opticalLinkUuid_ != null) {
                 output.writeMessage(3, getOpticalLinkUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -75658,7 +78749,7 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
             }
             if (details_ != null) {
@@ -75667,7 +78758,7 @@ public final class ContextOuterClass {
             if (opticalLinkUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getOpticalLinkUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -75695,7 +78786,7 @@ public final class ContextOuterClass {
                 if (!getOpticalLinkUuid().equals(other.getOpticalLinkUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -75717,7 +78808,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + OPTICAL_LINK_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getOpticalLinkUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -75811,25 +78902,33 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.OpticalLink.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 name_ = "";
-                details_ = null;
-                if (detailsBuilder_ != null) {
-                    detailsBuilder_.dispose();
+                if (detailsBuilder_ == null) {
+                    details_ = null;
+                } else {
+                    details_ = null;
                     detailsBuilder_ = null;
                 }
-                opticalLinkUuid_ = null;
-                if (opticalLinkUuidBuilder_ != null) {
-                    opticalLinkUuidBuilder_.dispose();
+                if (opticalLinkUuidBuilder_ == null) {
+                    opticalLinkUuid_ = null;
+                } else {
+                    opticalLinkUuid_ = null;
                     opticalLinkUuidBuilder_ = null;
                 }
                 return this;
@@ -75857,24 +78956,49 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.OpticalLink buildPartial() {
                 context.ContextOuterClass.OpticalLink result = new context.ContextOuterClass.OpticalLink(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                result.name_ = name_;
+                if (detailsBuilder_ == null) {
+                    result.details_ = details_;
+                } else {
+                    result.details_ = detailsBuilder_.build();
+                }
+                if (opticalLinkUuidBuilder_ == null) {
+                    result.opticalLinkUuid_ = opticalLinkUuid_;
+                } else {
+                    result.opticalLinkUuid_ = opticalLinkUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.OpticalLink result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.name_ = name_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.details_ = detailsBuilder_ == null ? details_ : detailsBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.opticalLinkUuid_ = opticalLinkUuidBuilder_ == null ? opticalLinkUuid_ : opticalLinkUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -75892,7 +79016,6 @@ public final class ContextOuterClass {
                     return this;
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
                 if (other.hasDetails()) {
@@ -75901,7 +79024,7 @@ public final class ContextOuterClass {
                 if (other.hasOpticalLinkUuid()) {
                     mergeOpticalLinkUuid(other.getOpticalLinkUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -75913,61 +79036,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.OpticalLink parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getDetailsFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    input.readMessage(getOpticalLinkUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.OpticalLink) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private java.lang.Object name_ = "";
 
             /**
@@ -76011,7 +79093,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -76022,7 +79103,6 @@ public final class ContextOuterClass {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -76038,7 +79118,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -76052,7 +79131,7 @@ public final class ContextOuterClass {
              * @return Whether the details field is set.
              */
             public boolean hasDetails() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return detailsBuilder_ != null || details_ != null;
             }
 
             /**
@@ -76076,11 +79155,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     details_ = value;
+                    onChanged();
                 } else {
                     detailsBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -76090,11 +79168,10 @@ public final class ContextOuterClass {
             public Builder setDetails(context.ContextOuterClass.OpticalLinkDetails.Builder builderForValue) {
                 if (detailsBuilder_ == null) {
                     details_ = builderForValue.build();
+                    onChanged();
                 } else {
                     detailsBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -76103,16 +79180,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeDetails(context.ContextOuterClass.OpticalLinkDetails value) {
                 if (detailsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && details_ != null && details_ != context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance()) {
-                        getDetailsBuilder().mergeFrom(value);
+                    if (details_ != null) {
+                        details_ = context.ContextOuterClass.OpticalLinkDetails.newBuilder(details_).mergeFrom(value).buildPartial();
                     } else {
                         details_ = value;
                     }
+                    onChanged();
                 } else {
                     detailsBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -76120,13 +79196,13 @@ public final class ContextOuterClass {
              * .context.OpticalLinkDetails details = 2;
              */
             public Builder clearDetails() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                details_ = null;
-                if (detailsBuilder_ != null) {
-                    detailsBuilder_.dispose();
+                if (detailsBuilder_ == null) {
+                    details_ = null;
+                    onChanged();
+                } else {
+                    details_ = null;
                     detailsBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -76134,7 +79210,6 @@ public final class ContextOuterClass {
              * .context.OpticalLinkDetails details = 2;
              */
             public context.ContextOuterClass.OpticalLinkDetails.Builder getDetailsBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getDetailsFieldBuilder().getBuilder();
             }
@@ -76170,7 +79245,7 @@ public final class ContextOuterClass {
              * @return Whether the opticalLinkUuid field is set.
              */
             public boolean hasOpticalLinkUuid() {
-                return ((bitField0_ & 0x00000004) != 0);
+                return opticalLinkUuidBuilder_ != null || opticalLinkUuid_ != null;
             }
 
             /**
@@ -76194,11 +79269,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     opticalLinkUuid_ = value;
+                    onChanged();
                 } else {
                     opticalLinkUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -76208,11 +79282,10 @@ public final class ContextOuterClass {
             public Builder setOpticalLinkUuid(context.ContextOuterClass.OpticalLinkId.Builder builderForValue) {
                 if (opticalLinkUuidBuilder_ == null) {
                     opticalLinkUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     opticalLinkUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -76221,16 +79294,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeOpticalLinkUuid(context.ContextOuterClass.OpticalLinkId value) {
                 if (opticalLinkUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0) && opticalLinkUuid_ != null && opticalLinkUuid_ != context.ContextOuterClass.OpticalLinkId.getDefaultInstance()) {
-                        getOpticalLinkUuidBuilder().mergeFrom(value);
+                    if (opticalLinkUuid_ != null) {
+                        opticalLinkUuid_ = context.ContextOuterClass.OpticalLinkId.newBuilder(opticalLinkUuid_).mergeFrom(value).buildPartial();
                     } else {
                         opticalLinkUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     opticalLinkUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -76238,13 +79310,13 @@ public final class ContextOuterClass {
              * .context.OpticalLinkId optical_link_uuid = 3;
              */
             public Builder clearOpticalLinkUuid() {
-                bitField0_ = (bitField0_ & ~0x00000004);
-                opticalLinkUuid_ = null;
-                if (opticalLinkUuidBuilder_ != null) {
-                    opticalLinkUuidBuilder_.dispose();
+                if (opticalLinkUuidBuilder_ == null) {
+                    opticalLinkUuid_ = null;
+                    onChanged();
+                } else {
+                    opticalLinkUuid_ = null;
                     opticalLinkUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -76252,7 +79324,6 @@ public final class ContextOuterClass {
              * .context.OpticalLinkId optical_link_uuid = 3;
              */
             public context.ContextOuterClass.OpticalLinkId.Builder getOpticalLinkUuidBuilder() {
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return getOpticalLinkUuidFieldBuilder().getBuilder();
             }
@@ -76306,17 +79377,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public OpticalLink parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new OpticalLink(input, extensionRegistry);
             }
         };
 
@@ -76690,7 +79751,7 @@ public final class ContextOuterClass {
     private static com.google.protobuf.Descriptors.FileDescriptor descriptor;
 
     static {
-        java.lang.String[] descriptorData = { "\n\rcontext.proto\022\007context\032\tacl.proto\032\026kpi" + "_sample_types.proto\"\007\n\005Empty\"\024\n\004Uuid\022\014\n\004" + "uuid\030\001 \001(\t\"\036\n\tTimestamp\022\021\n\ttimestamp\030\001 \001" + "(\001\"Z\n\005Event\022%\n\ttimestamp\030\001 \001(\0132\022.context" + ".Timestamp\022*\n\nevent_type\030\002 \001(\0162\026.context" + ".EventTypeEnum\"0\n\tContextId\022#\n\014context_u" + "uid\030\001 \001(\0132\r.context.Uuid\"\351\001\n\007Context\022&\n\n" + "context_id\030\001 \001(\0132\022.context.ContextId\022\014\n\004" + "name\030\002 \001(\t\022)\n\014topology_ids\030\003 \003(\0132\023.conte" + "xt.TopologyId\022\'\n\013service_ids\030\004 \003(\0132\022.con" + "text.ServiceId\022#\n\tslice_ids\030\005 \003(\0132\020.cont" + "ext.SliceId\022/\n\ncontroller\030\006 \001(\0132\033.contex" + "t.TeraFlowController\"8\n\rContextIdList\022\'\n" + "\013context_ids\030\001 \003(\0132\022.context.ContextId\"1" + "\n\013ContextList\022\"\n\010contexts\030\001 \003(\0132\020.contex" + "t.Context\"U\n\014ContextEvent\022\035\n\005event\030\001 \001(\013" + "2\016.context.Event\022&\n\ncontext_id\030\002 \001(\0132\022.c" + "ontext.ContextId\"Z\n\nTopologyId\022&\n\ncontex" + "t_id\030\001 \001(\0132\022.context.ContextId\022$\n\rtopolo" + "gy_uuid\030\002 \001(\0132\r.context.Uuid\"\214\001\n\010Topolog" + "y\022(\n\013topology_id\030\001 \001(\0132\023.context.Topolog" + "yId\022\014\n\004name\030\002 \001(\t\022%\n\ndevice_ids\030\003 \003(\0132\021." + "context.DeviceId\022!\n\010link_ids\030\004 \003(\0132\017.con" + "text.LinkId\"\211\001\n\017TopologyDetails\022(\n\013topol" + "ogy_id\030\001 \001(\0132\023.context.TopologyId\022\014\n\004nam" + "e\030\002 \001(\t\022 \n\007devices\030\003 \003(\0132\017.context.Devic" + "e\022\034\n\005links\030\004 \003(\0132\r.context.Link\";\n\016Topol" + "ogyIdList\022)\n\014topology_ids\030\001 \003(\0132\023.contex" + "t.TopologyId\"5\n\014TopologyList\022%\n\ntopologi" + "es\030\001 \003(\0132\021.context.Topology\"X\n\rTopologyE" + "vent\022\035\n\005event\030\001 \001(\0132\016.context.Event\022(\n\013t" + "opology_id\030\002 \001(\0132\023.context.TopologyId\".\n" + "\010DeviceId\022\"\n\013device_uuid\030\001 \001(\0132\r.context" + ".Uuid\"\372\002\n\006Device\022$\n\tdevice_id\030\001 \001(\0132\021.co" + "ntext.DeviceId\022\014\n\004name\030\002 \001(\t\022\023\n\013device_t" + "ype\030\003 \001(\t\022,\n\rdevice_config\030\004 \001(\0132\025.conte" + "xt.DeviceConfig\022G\n\031device_operational_st" + "atus\030\005 \001(\0162$.context.DeviceOperationalSt" + "atusEnum\0221\n\016device_drivers\030\006 \003(\0162\031.conte" + "xt.DeviceDriverEnum\022+\n\020device_endpoints\030" + "\007 \003(\0132\021.context.EndPoint\022&\n\ncomponents\030\010" + " \003(\0132\022.context.Component\022(\n\rcontroller_i" + "d\030\t \001(\0132\021.context.DeviceId\"\311\001\n\tComponent" + "\022%\n\016component_uuid\030\001 \001(\0132\r.context.Uuid\022" + "\014\n\004name\030\002 \001(\t\022\014\n\004type\030\003 \001(\t\0226\n\nattribute" + "s\030\004 \003(\0132\".context.Component.AttributesEn" + "try\022\016\n\006parent\030\005 \001(\t\0321\n\017AttributesEntry\022\013" + "\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"9\n\014Device" + "Config\022)\n\014config_rules\030\001 \003(\0132\023.context.C" + "onfigRule\"5\n\014DeviceIdList\022%\n\ndevice_ids\030" + "\001 \003(\0132\021.context.DeviceId\".\n\nDeviceList\022 " + "\n\007devices\030\001 \003(\0132\017.context.Device\"\216\001\n\014Dev" + "iceFilter\022)\n\ndevice_ids\030\001 \001(\0132\025.context." + "DeviceIdList\022\031\n\021include_endpoints\030\002 \001(\010\022" + "\034\n\024include_config_rules\030\003 \001(\010\022\032\n\022include" + "_components\030\004 \001(\010\"\200\001\n\013DeviceEvent\022\035\n\005eve" + "nt\030\001 \001(\0132\016.context.Event\022$\n\tdevice_id\030\002 " + "\001(\0132\021.context.DeviceId\022,\n\rdevice_config\030" + "\003 \001(\0132\025.context.DeviceConfig\"*\n\006LinkId\022 " + "\n\tlink_uuid\030\001 \001(\0132\r.context.Uuid\"I\n\016Link" + "Attributes\022\033\n\023total_capacity_gbps\030\001 \001(\002\022" + "\032\n\022used_capacity_gbps\030\002 \001(\002\"\223\001\n\004Link\022 \n\007" + "link_id\030\001 \001(\0132\017.context.LinkId\022\014\n\004name\030\002" + " \001(\t\022.\n\021link_endpoint_ids\030\003 \003(\0132\023.contex" + "t.EndPointId\022+\n\nattributes\030\004 \001(\0132\027.conte" + "xt.LinkAttributes\"/\n\nLinkIdList\022!\n\010link_" + "ids\030\001 \003(\0132\017.context.LinkId\"(\n\010LinkList\022\034" + "\n\005links\030\001 \003(\0132\r.context.Link\"L\n\tLinkEven" + "t\022\035\n\005event\030\001 \001(\0132\016.context.Event\022 \n\007link" + "_id\030\002 \001(\0132\017.context.LinkId\"X\n\tServiceId\022" + "&\n\ncontext_id\030\001 \001(\0132\022.context.ContextId\022" + "#\n\014service_uuid\030\002 \001(\0132\r.context.Uuid\"\333\002\n" + "\007Service\022&\n\nservice_id\030\001 \001(\0132\022.context.S" + "erviceId\022\014\n\004name\030\002 \001(\t\022.\n\014service_type\030\003" + " \001(\0162\030.context.ServiceTypeEnum\0221\n\024servic" + "e_endpoint_ids\030\004 \003(\0132\023.context.EndPointI" + "d\0220\n\023service_constraints\030\005 \003(\0132\023.context" + ".Constraint\022.\n\016service_status\030\006 \001(\0132\026.co" + "ntext.ServiceStatus\022.\n\016service_config\030\007 " + "\001(\0132\026.context.ServiceConfig\022%\n\ttimestamp" + "\030\010 \001(\0132\022.context.Timestamp\"C\n\rServiceSta" + "tus\0222\n\016service_status\030\001 \001(\0162\032.context.Se" + "rviceStatusEnum\":\n\rServiceConfig\022)\n\014conf" + "ig_rules\030\001 \003(\0132\023.context.ConfigRule\"8\n\rS" + "erviceIdList\022\'\n\013service_ids\030\001 \003(\0132\022.cont" + "ext.ServiceId\"1\n\013ServiceList\022\"\n\010services" + "\030\001 \003(\0132\020.context.Service\"\225\001\n\rServiceFilt" + "er\022+\n\013service_ids\030\001 \001(\0132\026.context.Servic" + "eIdList\022\034\n\024include_endpoint_ids\030\002 \001(\010\022\033\n" + "\023include_constraints\030\003 \001(\010\022\034\n\024include_co" + "nfig_rules\030\004 \001(\010\"U\n\014ServiceEvent\022\035\n\005even" + "t\030\001 \001(\0132\016.context.Event\022&\n\nservice_id\030\002 " + "\001(\0132\022.context.ServiceId\"T\n\007SliceId\022&\n\nco" + "ntext_id\030\001 \001(\0132\022.context.ContextId\022!\n\nsl" + "ice_uuid\030\002 \001(\0132\r.context.Uuid\"\240\003\n\005Slice\022" + "\"\n\010slice_id\030\001 \001(\0132\020.context.SliceId\022\014\n\004n" + "ame\030\002 \001(\t\022/\n\022slice_endpoint_ids\030\003 \003(\0132\023." + "context.EndPointId\022.\n\021slice_constraints\030" + "\004 \003(\0132\023.context.Constraint\022-\n\021slice_serv" + "ice_ids\030\005 \003(\0132\022.context.ServiceId\022,\n\022sli" + "ce_subslice_ids\030\006 \003(\0132\020.context.SliceId\022" + "*\n\014slice_status\030\007 \001(\0132\024.context.SliceSta" + "tus\022*\n\014slice_config\030\010 \001(\0132\024.context.Slic" + "eConfig\022(\n\013slice_owner\030\t \001(\0132\023.context.S" + "liceOwner\022%\n\ttimestamp\030\n \001(\0132\022.context.T" + "imestamp\"E\n\nSliceOwner\022!\n\nowner_uuid\030\001 \001" + "(\0132\r.context.Uuid\022\024\n\014owner_string\030\002 \001(\t\"" + "=\n\013SliceStatus\022.\n\014slice_status\030\001 \001(\0162\030.c" + "ontext.SliceStatusEnum\"8\n\013SliceConfig\022)\n" + "\014config_rules\030\001 \003(\0132\023.context.ConfigRule" + "\"2\n\013SliceIdList\022#\n\tslice_ids\030\001 \003(\0132\020.con" + "text.SliceId\"+\n\tSliceList\022\036\n\006slices\030\001 \003(" + "\0132\016.context.Slice\"\312\001\n\013SliceFilter\022\'\n\tsli" + "ce_ids\030\001 \001(\0132\024.context.SliceIdList\022\034\n\024in" + "clude_endpoint_ids\030\002 \001(\010\022\033\n\023include_cons" + "traints\030\003 \001(\010\022\033\n\023include_service_ids\030\004 \001" + "(\010\022\034\n\024include_subslice_ids\030\005 \001(\010\022\034\n\024incl" + "ude_config_rules\030\006 \001(\010\"O\n\nSliceEvent\022\035\n\005" + "event\030\001 \001(\0132\016.context.Event\022\"\n\010slice_id\030" + "\002 \001(\0132\020.context.SliceId\"6\n\014ConnectionId\022" + "&\n\017connection_uuid\030\001 \001(\0132\r.context.Uuid\"" + "2\n\025ConnectionSettings_L0\022\031\n\021lsp_symbolic" + "_name\030\001 \001(\t\"\236\001\n\025ConnectionSettings_L2\022\027\n" + "\017src_mac_address\030\001 \001(\t\022\027\n\017dst_mac_addres" + "s\030\002 \001(\t\022\022\n\nether_type\030\003 \001(\r\022\017\n\007vlan_id\030\004" + " \001(\r\022\022\n\nmpls_label\030\005 \001(\r\022\032\n\022mpls_traffic" + "_class\030\006 \001(\r\"t\n\025ConnectionSettings_L3\022\026\n" + "\016src_ip_address\030\001 \001(\t\022\026\n\016dst_ip_address\030" + "\002 \001(\t\022\014\n\004dscp\030\003 \001(\r\022\020\n\010protocol\030\004 \001(\r\022\013\n" + "\003ttl\030\005 \001(\r\"[\n\025ConnectionSettings_L4\022\020\n\010s" + "rc_port\030\001 \001(\r\022\020\n\010dst_port\030\002 \001(\r\022\021\n\ttcp_f" + "lags\030\003 \001(\r\022\013\n\003ttl\030\004 \001(\r\"\304\001\n\022ConnectionSe" + "ttings\022*\n\002l0\030\001 \001(\0132\036.context.ConnectionS" + "ettings_L0\022*\n\002l2\030\002 \001(\0132\036.context.Connect" + "ionSettings_L2\022*\n\002l3\030\003 \001(\0132\036.context.Con" + "nectionSettings_L3\022*\n\002l4\030\004 \001(\0132\036.context" + ".ConnectionSettings_L4\"\363\001\n\nConnection\022,\n" + "\rconnection_id\030\001 \001(\0132\025.context.Connectio" + "nId\022&\n\nservice_id\030\002 \001(\0132\022.context.Servic" + "eId\0223\n\026path_hops_endpoint_ids\030\003 \003(\0132\023.co" + "ntext.EndPointId\022+\n\017sub_service_ids\030\004 \003(" + "\0132\022.context.ServiceId\022-\n\010settings\030\005 \001(\0132" + "\033.context.ConnectionSettings\"A\n\020Connecti" + "onIdList\022-\n\016connection_ids\030\001 \003(\0132\025.conte" + "xt.ConnectionId\":\n\016ConnectionList\022(\n\013con" + "nections\030\001 \003(\0132\023.context.Connection\"^\n\017C" + "onnectionEvent\022\035\n\005event\030\001 \001(\0132\016.context." + "Event\022,\n\rconnection_id\030\002 \001(\0132\025.context.C" + "onnectionId\"\202\001\n\nEndPointId\022(\n\013topology_i" + "d\030\001 \001(\0132\023.context.TopologyId\022$\n\tdevice_i" + "d\030\002 \001(\0132\021.context.DeviceId\022$\n\rendpoint_u" + "uid\030\003 \001(\0132\r.context.Uuid\"\302\001\n\010EndPoint\022(\n" + "\013endpoint_id\030\001 \001(\0132\023.context.EndPointId\022" + "\014\n\004name\030\002 \001(\t\022\025\n\rendpoint_type\030\003 \001(\t\0229\n\020" + "kpi_sample_types\030\004 \003(\0162\037.kpi_sample_type" + "s.KpiSampleType\022,\n\021endpoint_location\030\005 \001" + "(\0132\021.context.Location\"{\n\014EndPointName\022(\n" + "\013endpoint_id\030\001 \001(\0132\023.context.EndPointId\022" + "\023\n\013device_name\030\002 \001(\t\022\025\n\rendpoint_name\030\003 " + "\001(\t\022\025\n\rendpoint_type\030\004 \001(\t\";\n\016EndPointId" + "List\022)\n\014endpoint_ids\030\001 \003(\0132\023.context.End" + "PointId\"A\n\020EndPointNameList\022-\n\016endpoint_" + "names\030\001 \003(\0132\025.context.EndPointName\"A\n\021Co" + "nfigRule_Custom\022\024\n\014resource_key\030\001 \001(\t\022\026\n" + "\016resource_value\030\002 \001(\t\"]\n\016ConfigRule_ACL\022" + "(\n\013endpoint_id\030\001 \001(\0132\023.context.EndPointI" + "d\022!\n\010rule_set\030\002 \001(\0132\017.acl.AclRuleSet\"\234\001\n" + "\nConfigRule\022)\n\006action\030\001 \001(\0162\031.context.Co" + "nfigActionEnum\022,\n\006custom\030\002 \001(\0132\032.context" + ".ConfigRule_CustomH\000\022&\n\003acl\030\003 \001(\0132\027.cont" + "ext.ConfigRule_ACLH\000B\r\n\013config_rule\"F\n\021C" + "onstraint_Custom\022\027\n\017constraint_type\030\001 \001(" + "\t\022\030\n\020constraint_value\030\002 \001(\t\"E\n\023Constrain" + "t_Schedule\022\027\n\017start_timestamp\030\001 \001(\002\022\025\n\rd" + "uration_days\030\002 \001(\002\"3\n\014GPS_Position\022\020\n\010la" + "titude\030\001 \001(\002\022\021\n\tlongitude\030\002 \001(\002\"W\n\010Locat" + "ion\022\020\n\006region\030\001 \001(\tH\000\022-\n\014gps_position\030\002 " + "\001(\0132\025.context.GPS_PositionH\000B\n\n\010location" + "\"l\n\033Constraint_EndPointLocation\022(\n\013endpo" + "int_id\030\001 \001(\0132\023.context.EndPointId\022#\n\010loc" + "ation\030\002 \001(\0132\021.context.Location\"Y\n\033Constr" + "aint_EndPointPriority\022(\n\013endpoint_id\030\001 \001" + "(\0132\023.context.EndPointId\022\020\n\010priority\030\002 \001(" + "\r\"0\n\026Constraint_SLA_Latency\022\026\n\016e2e_laten" + "cy_ms\030\001 \001(\002\"0\n\027Constraint_SLA_Capacity\022\025" + "\n\rcapacity_gbps\030\001 \001(\002\"c\n\033Constraint_SLA_" + "Availability\022\032\n\022num_disjoint_paths\030\001 \001(\r" + "\022\022\n\nall_active\030\002 \001(\010\022\024\n\014availability\030\003 \001" + "(\002\"V\n\036Constraint_SLA_Isolation_level\0224\n\017" + "isolation_level\030\001 \003(\0162\033.context.Isolatio" + "nLevelEnum\"\242\001\n\025Constraint_Exclusions\022\024\n\014" + "is_permanent\030\001 \001(\010\022%\n\ndevice_ids\030\002 \003(\0132\021" + ".context.DeviceId\022)\n\014endpoint_ids\030\003 \003(\0132" + "\023.context.EndPointId\022!\n\010link_ids\030\004 \003(\0132\017" + ".context.LinkId\"\333\004\n\nConstraint\022-\n\006action" + "\030\001 \001(\0162\035.context.ConstraintActionEnum\022,\n" + "\006custom\030\002 \001(\0132\032.context.Constraint_Custo" + "mH\000\0220\n\010schedule\030\003 \001(\0132\034.context.Constrai" + "nt_ScheduleH\000\022A\n\021endpoint_location\030\004 \001(\013" + "2$.context.Constraint_EndPointLocationH\000" + "\022A\n\021endpoint_priority\030\005 \001(\0132$.context.Co" + "nstraint_EndPointPriorityH\000\0228\n\014sla_capac" + "ity\030\006 \001(\0132 .context.Constraint_SLA_Capac" + "ityH\000\0226\n\013sla_latency\030\007 \001(\0132\037.context.Con" + "straint_SLA_LatencyH\000\022@\n\020sla_availabilit" + "y\030\010 \001(\0132$.context.Constraint_SLA_Availab" + "ilityH\000\022@\n\rsla_isolation\030\t \001(\0132\'.context" + ".Constraint_SLA_Isolation_levelH\000\0224\n\nexc" + "lusions\030\n \001(\0132\036.context.Constraint_Exclu" + "sionsH\000B\014\n\nconstraint\"^\n\022TeraFlowControl" + "ler\022&\n\ncontext_id\030\001 \001(\0132\022.context.Contex" + "tId\022\022\n\nip_address\030\002 \001(\t\022\014\n\004port\030\003 \001(\r\"U\n" + "\024AuthenticationResult\022&\n\ncontext_id\030\001 \001(" + "\0132\022.context.ContextId\022\025\n\rauthenticated\030\002" + " \001(\010\"-\n\017OpticalConfigId\022\032\n\022opticalconfig" + "_uuid\030\001 \001(\t\"S\n\rOpticalConfig\0222\n\020opticalc" + "onfig_id\030\001 \001(\0132\030.context.OpticalConfigId" + "\022\016\n\006config\030\002 \001(\t\"C\n\021OpticalConfigList\022.\n" + "\016opticalconfigs\030\001 \003(\0132\026.context.OpticalC" + "onfig\"9\n\rOpticalLinkId\022(\n\021optical_link_u" + "uid\030\001 \001(\0132\r.context.Uuid\",\n\007FiberId\022!\n\nf" + "iber_uuid\030\001 \001(\0132\r.context.Uuid\"\341\001\n\005Fiber" + "\022\n\n\002ID\030\n \001(\t\022\020\n\010src_port\030\001 \001(\t\022\020\n\010dst_po" + "rt\030\002 \001(\t\022\027\n\017local_peer_port\030\003 \001(\t\022\030\n\020rem" + "ote_peer_port\030\004 \001(\t\022\017\n\007c_slots\030\005 \003(\005\022\017\n\007" + "l_slots\030\006 \003(\005\022\017\n\007s_slots\030\007 \003(\005\022\016\n\006length" + "\030\010 \001(\002\022\014\n\004used\030\t \001(\010\022$\n\nfiber_uuid\030\013 \001(\013" + "2\020.context.FiberId\"d\n\022OpticalLinkDetails" + "\022\016\n\006length\030\001 \001(\002\022\016\n\006source\030\002 \001(\t\022\016\n\006targ" + "et\030\003 \001(\t\022\036\n\006fibers\030\004 \003(\0132\016.context.Fiber" + "\"|\n\013OpticalLink\022\014\n\004name\030\001 \001(\t\022,\n\007details" + "\030\002 \001(\0132\033.context.OpticalLinkDetails\0221\n\021o" + "ptical_link_uuid\030\003 \001(\0132\026.context.Optical" + "LinkId*j\n\rEventTypeEnum\022\027\n\023EVENTTYPE_UND" + "EFINED\020\000\022\024\n\020EVENTTYPE_CREATE\020\001\022\024\n\020EVENTT" + "YPE_UPDATE\020\002\022\024\n\020EVENTTYPE_REMOVE\020\003*\346\002\n\020D" + "eviceDriverEnum\022\032\n\026DEVICEDRIVER_UNDEFINE" + "D\020\000\022\033\n\027DEVICEDRIVER_OPENCONFIG\020\001\022\036\n\032DEVI" + "CEDRIVER_TRANSPORT_API\020\002\022\023\n\017DEVICEDRIVER" + "_P4\020\003\022&\n\"DEVICEDRIVER_IETF_NETWORK_TOPOL" + "OGY\020\004\022\033\n\027DEVICEDRIVER_ONF_TR_532\020\005\022\023\n\017DE" + "VICEDRIVER_XR\020\006\022\033\n\027DEVICEDRIVER_IETF_L2V" + "PN\020\007\022 \n\034DEVICEDRIVER_GNMI_OPENCONFIG\020\010\022\032" + "\n\026DEVICEDRIVER_FLEXSCALE\020\t\022\032\n\026DEVICEDRIV" + "ER_IETF_ACTN\020\n\022\023\n\017DEVICEDRIVER_OC\020\013*\217\001\n\033" + "DeviceOperationalStatusEnum\022%\n!DEVICEOPE" + "RATIONALSTATUS_UNDEFINED\020\000\022$\n DEVICEOPER" + "ATIONALSTATUS_DISABLED\020\001\022#\n\037DEVICEOPERAT" + "IONALSTATUS_ENABLED\020\002*\320\001\n\017ServiceTypeEnu" + "m\022\027\n\023SERVICETYPE_UNKNOWN\020\000\022\024\n\020SERVICETYP" + "E_L3NM\020\001\022\024\n\020SERVICETYPE_L2NM\020\002\022)\n%SERVIC" + "ETYPE_TAPI_CONNECTIVITY_SERVICE\020\003\022\022\n\016SER" + "VICETYPE_TE\020\004\022\023\n\017SERVICETYPE_E2E\020\005\022$\n SE" + "RVICETYPE_OPTICAL_CONNECTIVITY\020\006*\304\001\n\021Ser" + "viceStatusEnum\022\033\n\027SERVICESTATUS_UNDEFINE" + "D\020\000\022\031\n\025SERVICESTATUS_PLANNED\020\001\022\030\n\024SERVIC" + "ESTATUS_ACTIVE\020\002\022\032\n\026SERVICESTATUS_UPDATI" + "NG\020\003\022!\n\035SERVICESTATUS_PENDING_REMOVAL\020\004\022" + "\036\n\032SERVICESTATUS_SLA_VIOLATED\020\005*\251\001\n\017Slic" + "eStatusEnum\022\031\n\025SLICESTATUS_UNDEFINED\020\000\022\027" + "\n\023SLICESTATUS_PLANNED\020\001\022\024\n\020SLICESTATUS_I" + "NIT\020\002\022\026\n\022SLICESTATUS_ACTIVE\020\003\022\026\n\022SLICEST" + "ATUS_DEINIT\020\004\022\034\n\030SLICESTATUS_SLA_VIOLATE" + "D\020\005*]\n\020ConfigActionEnum\022\032\n\026CONFIGACTION_" + "UNDEFINED\020\000\022\024\n\020CONFIGACTION_SET\020\001\022\027\n\023CON" + "FIGACTION_DELETE\020\002*m\n\024ConstraintActionEn" + "um\022\036\n\032CONSTRAINTACTION_UNDEFINED\020\000\022\030\n\024CO" + "NSTRAINTACTION_SET\020\001\022\033\n\027CONSTRAINTACTION" + "_DELETE\020\002*\203\002\n\022IsolationLevelEnum\022\020\n\014NO_I" + "SOLATION\020\000\022\026\n\022PHYSICAL_ISOLATION\020\001\022\025\n\021LO" + "GICAL_ISOLATION\020\002\022\025\n\021PROCESS_ISOLATION\020\003" + "\022\035\n\031PHYSICAL_MEMORY_ISOLATION\020\004\022\036\n\032PHYSI" + "CAL_NETWORK_ISOLATION\020\005\022\036\n\032VIRTUAL_RESOU" + "RCE_ISOLATION\020\006\022\037\n\033NETWORK_FUNCTIONS_ISO" + "LATION\020\007\022\025\n\021SERVICE_ISOLATION\020\0102\246\031\n\016Cont" + "extService\022:\n\016ListContextIds\022\016.context.E" + "mpty\032\026.context.ContextIdList\"\000\0226\n\014ListCo" + "ntexts\022\016.context.Empty\032\024.context.Context" + "List\"\000\0224\n\nGetContext\022\022.context.ContextId" + "\032\020.context.Context\"\000\0224\n\nSetContext\022\020.con" + "text.Context\032\022.context.ContextId\"\000\0225\n\rRe" + "moveContext\022\022.context.ContextId\032\016.contex" + "t.Empty\"\000\022=\n\020GetContextEvents\022\016.context." + "Empty\032\025.context.ContextEvent\"\0000\001\022@\n\017List" + "TopologyIds\022\022.context.ContextId\032\027.contex" + "t.TopologyIdList\"\000\022=\n\016ListTopologies\022\022.c" + "ontext.ContextId\032\025.context.TopologyList\"" + "\000\0227\n\013GetTopology\022\023.context.TopologyId\032\021." + "context.Topology\"\000\022E\n\022GetTopologyDetails" + "\022\023.context.TopologyId\032\030.context.Topology" + "Details\"\000\0227\n\013SetTopology\022\021.context.Topol" + "ogy\032\023.context.TopologyId\"\000\0227\n\016RemoveTopo" + "logy\022\023.context.TopologyId\032\016.context.Empt" + "y\"\000\022?\n\021GetTopologyEvents\022\016.context.Empty" + "\032\026.context.TopologyEvent\"\0000\001\0228\n\rListDevi" + "ceIds\022\016.context.Empty\032\025.context.DeviceId" + "List\"\000\0224\n\013ListDevices\022\016.context.Empty\032\023." + "context.DeviceList\"\000\0221\n\tGetDevice\022\021.cont" + "ext.DeviceId\032\017.context.Device\"\000\0221\n\tSetDe" + "vice\022\017.context.Device\032\021.context.DeviceId" + "\"\000\0223\n\014RemoveDevice\022\021.context.DeviceId\032\016." + "context.Empty\"\000\022;\n\017GetDeviceEvents\022\016.con" + "text.Empty\032\024.context.DeviceEvent\"\0000\001\022<\n\014" + "SelectDevice\022\025.context.DeviceFilter\032\023.co" + "ntext.DeviceList\"\000\022I\n\021ListEndPointNames\022" + "\027.context.EndPointIdList\032\031.context.EndPo" + "intNameList\"\000\0224\n\013ListLinkIds\022\016.context.E" + "mpty\032\023.context.LinkIdList\"\000\0220\n\tListLinks" + "\022\016.context.Empty\032\021.context.LinkList\"\000\022+\n" + "\007GetLink\022\017.context.LinkId\032\r.context.Link" + "\"\000\022+\n\007SetLink\022\r.context.Link\032\017.context.L" + "inkId\"\000\022/\n\nRemoveLink\022\017.context.LinkId\032\016" + ".context.Empty\"\000\0227\n\rGetLinkEvents\022\016.cont" + "ext.Empty\032\022.context.LinkEvent\"\0000\001\022>\n\016Lis" + "tServiceIds\022\022.context.ContextId\032\026.contex" + "t.ServiceIdList\"\000\022:\n\014ListServices\022\022.cont" + "ext.ContextId\032\024.context.ServiceList\"\000\0224\n" + "\nGetService\022\022.context.ServiceId\032\020.contex" + "t.Service\"\000\0224\n\nSetService\022\020.context.Serv" + "ice\032\022.context.ServiceId\"\000\0226\n\014UnsetServic" + "e\022\020.context.Service\032\022.context.ServiceId\"" + "\000\0225\n\rRemoveService\022\022.context.ServiceId\032\016" + ".context.Empty\"\000\022=\n\020GetServiceEvents\022\016.c" + "ontext.Empty\032\025.context.ServiceEvent\"\0000\001\022" + "?\n\rSelectService\022\026.context.ServiceFilter" + "\032\024.context.ServiceList\"\000\022:\n\014ListSliceIds" + "\022\022.context.ContextId\032\024.context.SliceIdLi" + "st\"\000\0226\n\nListSlices\022\022.context.ContextId\032\022" + ".context.SliceList\"\000\022.\n\010GetSlice\022\020.conte" + "xt.SliceId\032\016.context.Slice\"\000\022.\n\010SetSlice" + "\022\016.context.Slice\032\020.context.SliceId\"\000\0220\n\n" + "UnsetSlice\022\016.context.Slice\032\020.context.Sli" + "ceId\"\000\0221\n\013RemoveSlice\022\020.context.SliceId\032" + "\016.context.Empty\"\000\0229\n\016GetSliceEvents\022\016.co" + "ntext.Empty\032\023.context.SliceEvent\"\0000\001\0229\n\013" + "SelectSlice\022\024.context.SliceFilter\032\022.cont" + "ext.SliceList\"\000\022D\n\021ListConnectionIds\022\022.c" + "ontext.ServiceId\032\031.context.ConnectionIdL" + "ist\"\000\022@\n\017ListConnections\022\022.context.Servi" + "ceId\032\027.context.ConnectionList\"\000\022=\n\rGetCo" + "nnection\022\025.context.ConnectionId\032\023.contex" + "t.Connection\"\000\022=\n\rSetConnection\022\023.contex" + "t.Connection\032\025.context.ConnectionId\"\000\022;\n" + "\020RemoveConnection\022\025.context.ConnectionId" + "\032\016.context.Empty\"\000\022C\n\023GetConnectionEvent" + "s\022\016.context.Empty\032\030.context.ConnectionEv" + "ent\"\0000\001\022@\n\020GetOpticalConfig\022\016.context.Em" + "pty\032\032.context.OpticalConfigList\"\000\022F\n\020Set" + "OpticalConfig\022\026.context.OpticalConfig\032\030." + "context.OpticalConfigId\"\000\022I\n\023SelectOptic" + "alConfig\022\030.context.OpticalConfigId\032\026.con" + "text.OpticalConfig\"\000\0228\n\016SetOpticalLink\022\024" + ".context.OpticalLink\032\016.context.Empty\"\000\022@" + "\n\016GetOpticalLink\022\026.context.OpticalLinkId" + "\032\024.context.OpticalLink\"\000\022.\n\010GetFiber\022\020.c" + "ontext.FiberId\032\016.context.Fiber\"\000b\006proto3" };
+        java.lang.String[] descriptorData = { "\n\rcontext.proto\022\007context\032\tacl.proto\032\026kpi" + "_sample_types.proto\"\007\n\005Empty\"\024\n\004Uuid\022\014\n\004" + "uuid\030\001 \001(\t\"\036\n\tTimestamp\022\021\n\ttimestamp\030\001 \001" + "(\001\"Z\n\005Event\022%\n\ttimestamp\030\001 \001(\0132\022.context" + ".Timestamp\022*\n\nevent_type\030\002 \001(\0162\026.context" + ".EventTypeEnum\"0\n\tContextId\022#\n\014context_u" + "uid\030\001 \001(\0132\r.context.Uuid\"\351\001\n\007Context\022&\n\n" + "context_id\030\001 \001(\0132\022.context.ContextId\022\014\n\004" + "name\030\002 \001(\t\022)\n\014topology_ids\030\003 \003(\0132\023.conte" + "xt.TopologyId\022\'\n\013service_ids\030\004 \003(\0132\022.con" + "text.ServiceId\022#\n\tslice_ids\030\005 \003(\0132\020.cont" + "ext.SliceId\022/\n\ncontroller\030\006 \001(\0132\033.contex" + "t.TeraFlowController\"8\n\rContextIdList\022\'\n" + "\013context_ids\030\001 \003(\0132\022.context.ContextId\"1" + "\n\013ContextList\022\"\n\010contexts\030\001 \003(\0132\020.contex" + "t.Context\"U\n\014ContextEvent\022\035\n\005event\030\001 \001(\013" + "2\016.context.Event\022&\n\ncontext_id\030\002 \001(\0132\022.c" + "ontext.ContextId\"Z\n\nTopologyId\022&\n\ncontex" + "t_id\030\001 \001(\0132\022.context.ContextId\022$\n\rtopolo" + "gy_uuid\030\002 \001(\0132\r.context.Uuid\"\214\001\n\010Topolog" + "y\022(\n\013topology_id\030\001 \001(\0132\023.context.Topolog" + "yId\022\014\n\004name\030\002 \001(\t\022%\n\ndevice_ids\030\003 \003(\0132\021." + "context.DeviceId\022!\n\010link_ids\030\004 \003(\0132\017.con" + "text.LinkId\"\211\001\n\017TopologyDetails\022(\n\013topol" + "ogy_id\030\001 \001(\0132\023.context.TopologyId\022\014\n\004nam" + "e\030\002 \001(\t\022 \n\007devices\030\003 \003(\0132\017.context.Devic" + "e\022\034\n\005links\030\004 \003(\0132\r.context.Link\";\n\016Topol" + "ogyIdList\022)\n\014topology_ids\030\001 \003(\0132\023.contex" + "t.TopologyId\"5\n\014TopologyList\022%\n\ntopologi" + "es\030\001 \003(\0132\021.context.Topology\"X\n\rTopologyE" + "vent\022\035\n\005event\030\001 \001(\0132\016.context.Event\022(\n\013t" + "opology_id\030\002 \001(\0132\023.context.TopologyId\".\n" + "\010DeviceId\022\"\n\013device_uuid\030\001 \001(\0132\r.context" + ".Uuid\"\372\002\n\006Device\022$\n\tdevice_id\030\001 \001(\0132\021.co" + "ntext.DeviceId\022\014\n\004name\030\002 \001(\t\022\023\n\013device_t" + "ype\030\003 \001(\t\022,\n\rdevice_config\030\004 \001(\0132\025.conte" + "xt.DeviceConfig\022G\n\031device_operational_st" + "atus\030\005 \001(\0162$.context.DeviceOperationalSt" + "atusEnum\0221\n\016device_drivers\030\006 \003(\0162\031.conte" + "xt.DeviceDriverEnum\022+\n\020device_endpoints\030" + "\007 \003(\0132\021.context.EndPoint\022&\n\ncomponents\030\010" + " \003(\0132\022.context.Component\022(\n\rcontroller_i" + "d\030\t \001(\0132\021.context.DeviceId\"\311\001\n\tComponent" + "\022%\n\016component_uuid\030\001 \001(\0132\r.context.Uuid\022" + "\014\n\004name\030\002 \001(\t\022\014\n\004type\030\003 \001(\t\0226\n\nattribute" + "s\030\004 \003(\0132\".context.Component.AttributesEn" + "try\022\016\n\006parent\030\005 \001(\t\0321\n\017AttributesEntry\022\013" + "\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"9\n\014Device" + "Config\022)\n\014config_rules\030\001 \003(\0132\023.context.C" + "onfigRule\"5\n\014DeviceIdList\022%\n\ndevice_ids\030" + "\001 \003(\0132\021.context.DeviceId\".\n\nDeviceList\022 " + "\n\007devices\030\001 \003(\0132\017.context.Device\"\216\001\n\014Dev" + "iceFilter\022)\n\ndevice_ids\030\001 \001(\0132\025.context." + "DeviceIdList\022\031\n\021include_endpoints\030\002 \001(\010\022" + "\034\n\024include_config_rules\030\003 \001(\010\022\032\n\022include" + "_components\030\004 \001(\010\"\200\001\n\013DeviceEvent\022\035\n\005eve" + "nt\030\001 \001(\0132\016.context.Event\022$\n\tdevice_id\030\002 " + "\001(\0132\021.context.DeviceId\022,\n\rdevice_config\030" + "\003 \001(\0132\025.context.DeviceConfig\"*\n\006LinkId\022 " + "\n\tlink_uuid\030\001 \001(\0132\r.context.Uuid\"I\n\016Link" + "Attributes\022\033\n\023total_capacity_gbps\030\001 \001(\002\022" + "\032\n\022used_capacity_gbps\030\002 \001(\002\"\223\001\n\004Link\022 \n\007" + "link_id\030\001 \001(\0132\017.context.LinkId\022\014\n\004name\030\002" + " \001(\t\022.\n\021link_endpoint_ids\030\003 \003(\0132\023.contex" + "t.EndPointId\022+\n\nattributes\030\004 \001(\0132\027.conte" + "xt.LinkAttributes\"/\n\nLinkIdList\022!\n\010link_" + "ids\030\001 \003(\0132\017.context.LinkId\"(\n\010LinkList\022\034" + "\n\005links\030\001 \003(\0132\r.context.Link\"L\n\tLinkEven" + "t\022\035\n\005event\030\001 \001(\0132\016.context.Event\022 \n\007link" + "_id\030\002 \001(\0132\017.context.LinkId\"X\n\tServiceId\022" + "&\n\ncontext_id\030\001 \001(\0132\022.context.ContextId\022" + "#\n\014service_uuid\030\002 \001(\0132\r.context.Uuid\"\333\002\n" + "\007Service\022&\n\nservice_id\030\001 \001(\0132\022.context.S" + "erviceId\022\014\n\004name\030\002 \001(\t\022.\n\014service_type\030\003" + " \001(\0162\030.context.ServiceTypeEnum\0221\n\024servic" + "e_endpoint_ids\030\004 \003(\0132\023.context.EndPointI" + "d\0220\n\023service_constraints\030\005 \003(\0132\023.context" + ".Constraint\022.\n\016service_status\030\006 \001(\0132\026.co" + "ntext.ServiceStatus\022.\n\016service_config\030\007 " + "\001(\0132\026.context.ServiceConfig\022%\n\ttimestamp" + "\030\010 \001(\0132\022.context.Timestamp\"C\n\rServiceSta" + "tus\0222\n\016service_status\030\001 \001(\0162\032.context.Se" + "rviceStatusEnum\":\n\rServiceConfig\022)\n\014conf" + "ig_rules\030\001 \003(\0132\023.context.ConfigRule\"8\n\rS" + "erviceIdList\022\'\n\013service_ids\030\001 \003(\0132\022.cont" + "ext.ServiceId\"1\n\013ServiceList\022\"\n\010services" + "\030\001 \003(\0132\020.context.Service\"\225\001\n\rServiceFilt" + "er\022+\n\013service_ids\030\001 \001(\0132\026.context.Servic" + "eIdList\022\034\n\024include_endpoint_ids\030\002 \001(\010\022\033\n" + "\023include_constraints\030\003 \001(\010\022\034\n\024include_co" + "nfig_rules\030\004 \001(\010\"U\n\014ServiceEvent\022\035\n\005even" + "t\030\001 \001(\0132\016.context.Event\022&\n\nservice_id\030\002 " + "\001(\0132\022.context.ServiceId\"T\n\007SliceId\022&\n\nco" + "ntext_id\030\001 \001(\0132\022.context.ContextId\022!\n\nsl" + "ice_uuid\030\002 \001(\0132\r.context.Uuid\"\240\003\n\005Slice\022" + "\"\n\010slice_id\030\001 \001(\0132\020.context.SliceId\022\014\n\004n" + "ame\030\002 \001(\t\022/\n\022slice_endpoint_ids\030\003 \003(\0132\023." + "context.EndPointId\022.\n\021slice_constraints\030" + "\004 \003(\0132\023.context.Constraint\022-\n\021slice_serv" + "ice_ids\030\005 \003(\0132\022.context.ServiceId\022,\n\022sli" + "ce_subslice_ids\030\006 \003(\0132\020.context.SliceId\022" + "*\n\014slice_status\030\007 \001(\0132\024.context.SliceSta" + "tus\022*\n\014slice_config\030\010 \001(\0132\024.context.Slic" + "eConfig\022(\n\013slice_owner\030\t \001(\0132\023.context.S" + "liceOwner\022%\n\ttimestamp\030\n \001(\0132\022.context.T" + "imestamp\"E\n\nSliceOwner\022!\n\nowner_uuid\030\001 \001" + "(\0132\r.context.Uuid\022\024\n\014owner_string\030\002 \001(\t\"" + "=\n\013SliceStatus\022.\n\014slice_status\030\001 \001(\0162\030.c" + "ontext.SliceStatusEnum\"8\n\013SliceConfig\022)\n" + "\014config_rules\030\001 \003(\0132\023.context.ConfigRule" + "\"2\n\013SliceIdList\022#\n\tslice_ids\030\001 \003(\0132\020.con" + "text.SliceId\"+\n\tSliceList\022\036\n\006slices\030\001 \003(" + "\0132\016.context.Slice\"\312\001\n\013SliceFilter\022\'\n\tsli" + "ce_ids\030\001 \001(\0132\024.context.SliceIdList\022\034\n\024in" + "clude_endpoint_ids\030\002 \001(\010\022\033\n\023include_cons" + "traints\030\003 \001(\010\022\033\n\023include_service_ids\030\004 \001" + "(\010\022\034\n\024include_subslice_ids\030\005 \001(\010\022\034\n\024incl" + "ude_config_rules\030\006 \001(\010\"O\n\nSliceEvent\022\035\n\005" + "event\030\001 \001(\0132\016.context.Event\022\"\n\010slice_id\030" + "\002 \001(\0132\020.context.SliceId\"6\n\014ConnectionId\022" + "&\n\017connection_uuid\030\001 \001(\0132\r.context.Uuid\"" + "2\n\025ConnectionSettings_L0\022\031\n\021lsp_symbolic" + "_name\030\001 \001(\t\"\236\001\n\025ConnectionSettings_L2\022\027\n" + "\017src_mac_address\030\001 \001(\t\022\027\n\017dst_mac_addres" + "s\030\002 \001(\t\022\022\n\nether_type\030\003 \001(\r\022\017\n\007vlan_id\030\004" + " \001(\r\022\022\n\nmpls_label\030\005 \001(\r\022\032\n\022mpls_traffic" + "_class\030\006 \001(\r\"t\n\025ConnectionSettings_L3\022\026\n" + "\016src_ip_address\030\001 \001(\t\022\026\n\016dst_ip_address\030" + "\002 \001(\t\022\014\n\004dscp\030\003 \001(\r\022\020\n\010protocol\030\004 \001(\r\022\013\n" + "\003ttl\030\005 \001(\r\"[\n\025ConnectionSettings_L4\022\020\n\010s" + "rc_port\030\001 \001(\r\022\020\n\010dst_port\030\002 \001(\r\022\021\n\ttcp_f" + "lags\030\003 \001(\r\022\013\n\003ttl\030\004 \001(\r\"\304\001\n\022ConnectionSe" + "ttings\022*\n\002l0\030\001 \001(\0132\036.context.ConnectionS" + "ettings_L0\022*\n\002l2\030\002 \001(\0132\036.context.Connect" + "ionSettings_L2\022*\n\002l3\030\003 \001(\0132\036.context.Con" + "nectionSettings_L3\022*\n\002l4\030\004 \001(\0132\036.context" + ".ConnectionSettings_L4\"\363\001\n\nConnection\022,\n" + "\rconnection_id\030\001 \001(\0132\025.context.Connectio" + "nId\022&\n\nservice_id\030\002 \001(\0132\022.context.Servic" + "eId\0223\n\026path_hops_endpoint_ids\030\003 \003(\0132\023.co" + "ntext.EndPointId\022+\n\017sub_service_ids\030\004 \003(" + "\0132\022.context.ServiceId\022-\n\010settings\030\005 \001(\0132" + "\033.context.ConnectionSettings\"A\n\020Connecti" + "onIdList\022-\n\016connection_ids\030\001 \003(\0132\025.conte" + "xt.ConnectionId\":\n\016ConnectionList\022(\n\013con" + "nections\030\001 \003(\0132\023.context.Connection\"^\n\017C" + "onnectionEvent\022\035\n\005event\030\001 \001(\0132\016.context." + "Event\022,\n\rconnection_id\030\002 \001(\0132\025.context.C" + "onnectionId\"\202\001\n\nEndPointId\022(\n\013topology_i" + "d\030\001 \001(\0132\023.context.TopologyId\022$\n\tdevice_i" + "d\030\002 \001(\0132\021.context.DeviceId\022$\n\rendpoint_u" + "uid\030\003 \001(\0132\r.context.Uuid\"\302\001\n\010EndPoint\022(\n" + "\013endpoint_id\030\001 \001(\0132\023.context.EndPointId\022" + "\014\n\004name\030\002 \001(\t\022\025\n\rendpoint_type\030\003 \001(\t\0229\n\020" + "kpi_sample_types\030\004 \003(\0162\037.kpi_sample_type" + "s.KpiSampleType\022,\n\021endpoint_location\030\005 \001" + "(\0132\021.context.Location\"{\n\014EndPointName\022(\n" + "\013endpoint_id\030\001 \001(\0132\023.context.EndPointId\022" + "\023\n\013device_name\030\002 \001(\t\022\025\n\rendpoint_name\030\003 " + "\001(\t\022\025\n\rendpoint_type\030\004 \001(\t\";\n\016EndPointId" + "List\022)\n\014endpoint_ids\030\001 \003(\0132\023.context.End" + "PointId\"A\n\020EndPointNameList\022-\n\016endpoint_" + "names\030\001 \003(\0132\025.context.EndPointName\"A\n\021Co" + "nfigRule_Custom\022\024\n\014resource_key\030\001 \001(\t\022\026\n" + "\016resource_value\030\002 \001(\t\"]\n\016ConfigRule_ACL\022" + "(\n\013endpoint_id\030\001 \001(\0132\023.context.EndPointI" + "d\022!\n\010rule_set\030\002 \001(\0132\017.acl.AclRuleSet\"\234\001\n" + "\nConfigRule\022)\n\006action\030\001 \001(\0162\031.context.Co" + "nfigActionEnum\022,\n\006custom\030\002 \001(\0132\032.context" + ".ConfigRule_CustomH\000\022&\n\003acl\030\003 \001(\0132\027.cont" + "ext.ConfigRule_ACLH\000B\r\n\013config_rule\"F\n\021C" + "onstraint_Custom\022\027\n\017constraint_type\030\001 \001(" + "\t\022\030\n\020constraint_value\030\002 \001(\t\"E\n\023Constrain" + "t_Schedule\022\027\n\017start_timestamp\030\001 \001(\002\022\025\n\rd" + "uration_days\030\002 \001(\002\"3\n\014GPS_Position\022\020\n\010la" + "titude\030\001 \001(\002\022\021\n\tlongitude\030\002 \001(\002\"W\n\010Locat" + "ion\022\020\n\006region\030\001 \001(\tH\000\022-\n\014gps_position\030\002 " + "\001(\0132\025.context.GPS_PositionH\000B\n\n\010location" + "\"l\n\033Constraint_EndPointLocation\022(\n\013endpo" + "int_id\030\001 \001(\0132\023.context.EndPointId\022#\n\010loc" + "ation\030\002 \001(\0132\021.context.Location\"Y\n\033Constr" + "aint_EndPointPriority\022(\n\013endpoint_id\030\001 \001" + "(\0132\023.context.EndPointId\022\020\n\010priority\030\002 \001(" + "\r\"0\n\026Constraint_SLA_Latency\022\026\n\016e2e_laten" + "cy_ms\030\001 \001(\002\"0\n\027Constraint_SLA_Capacity\022\025" + "\n\rcapacity_gbps\030\001 \001(\002\"c\n\033Constraint_SLA_" + "Availability\022\032\n\022num_disjoint_paths\030\001 \001(\r" + "\022\022\n\nall_active\030\002 \001(\010\022\024\n\014availability\030\003 \001" + "(\002\"V\n\036Constraint_SLA_Isolation_level\0224\n\017" + "isolation_level\030\001 \003(\0162\033.context.Isolatio" + "nLevelEnum\"\242\001\n\025Constraint_Exclusions\022\024\n\014" + "is_permanent\030\001 \001(\010\022%\n\ndevice_ids\030\002 \003(\0132\021" + ".context.DeviceId\022)\n\014endpoint_ids\030\003 \003(\0132" + "\023.context.EndPointId\022!\n\010link_ids\030\004 \003(\0132\017" + ".context.LinkId\"\333\004\n\nConstraint\022-\n\006action" + "\030\001 \001(\0162\035.context.ConstraintActionEnum\022,\n" + "\006custom\030\002 \001(\0132\032.context.Constraint_Custo" + "mH\000\0220\n\010schedule\030\003 \001(\0132\034.context.Constrai" + "nt_ScheduleH\000\022A\n\021endpoint_location\030\004 \001(\013" + "2$.context.Constraint_EndPointLocationH\000" + "\022A\n\021endpoint_priority\030\005 \001(\0132$.context.Co" + "nstraint_EndPointPriorityH\000\0228\n\014sla_capac" + "ity\030\006 \001(\0132 .context.Constraint_SLA_Capac" + "ityH\000\0226\n\013sla_latency\030\007 \001(\0132\037.context.Con" + "straint_SLA_LatencyH\000\022@\n\020sla_availabilit" + "y\030\010 \001(\0132$.context.Constraint_SLA_Availab" + "ilityH\000\022@\n\rsla_isolation\030\t \001(\0132\'.context" + ".Constraint_SLA_Isolation_levelH\000\0224\n\nexc" + "lusions\030\n \001(\0132\036.context.Constraint_Exclu" + "sionsH\000B\014\n\nconstraint\"^\n\022TeraFlowControl" + "ler\022&\n\ncontext_id\030\001 \001(\0132\022.context.Contex" + "tId\022\022\n\nip_address\030\002 \001(\t\022\014\n\004port\030\003 \001(\r\"U\n" + "\024AuthenticationResult\022&\n\ncontext_id\030\001 \001(" + "\0132\022.context.ContextId\022\025\n\rauthenticated\030\002" + " \001(\010\"-\n\017OpticalConfigId\022\032\n\022opticalconfig" + "_uuid\030\001 \001(\t\"S\n\rOpticalConfig\0222\n\020opticalc" + "onfig_id\030\001 \001(\0132\030.context.OpticalConfigId" + "\022\016\n\006config\030\002 \001(\t\"C\n\021OpticalConfigList\022.\n" + "\016opticalconfigs\030\001 \003(\0132\026.context.OpticalC" + "onfig\"9\n\rOpticalLinkId\022(\n\021optical_link_u" + "uid\030\001 \001(\0132\r.context.Uuid\",\n\007FiberId\022!\n\nf" + "iber_uuid\030\001 \001(\0132\r.context.Uuid\"\341\001\n\005Fiber" + "\022\n\n\002ID\030\n \001(\t\022\020\n\010src_port\030\001 \001(\t\022\020\n\010dst_po" + "rt\030\002 \001(\t\022\027\n\017local_peer_port\030\003 \001(\t\022\030\n\020rem" + "ote_peer_port\030\004 \001(\t\022\017\n\007c_slots\030\005 \003(\005\022\017\n\007" + "l_slots\030\006 \003(\005\022\017\n\007s_slots\030\007 \003(\005\022\016\n\006length" + "\030\010 \001(\002\022\014\n\004used\030\t \001(\010\022$\n\nfiber_uuid\030\013 \001(\013" + "2\020.context.FiberId\"d\n\022OpticalLinkDetails" + "\022\016\n\006length\030\001 \001(\002\022\016\n\006source\030\002 \001(\t\022\016\n\006targ" + "et\030\003 \001(\t\022\036\n\006fibers\030\004 \003(\0132\016.context.Fiber" + "\"|\n\013OpticalLink\022\014\n\004name\030\001 \001(\t\022,\n\007details" + "\030\002 \001(\0132\033.context.OpticalLinkDetails\0221\n\021o" + "ptical_link_uuid\030\003 \001(\0132\026.context.Optical" + "LinkId*j\n\rEventTypeEnum\022\027\n\023EVENTTYPE_UND" + "EFINED\020\000\022\024\n\020EVENTTYPE_CREATE\020\001\022\024\n\020EVENTT" + "YPE_UPDATE\020\002\022\024\n\020EVENTTYPE_REMOVE\020\003*\350\002\n\020D" + "eviceDriverEnum\022\032\n\026DEVICEDRIVER_UNDEFINE" + "D\020\000\022\033\n\027DEVICEDRIVER_OPENCONFIG\020\001\022\036\n\032DEVI" + "CEDRIVER_TRANSPORT_API\020\002\022\023\n\017DEVICEDRIVER" + "_P4\020\003\022&\n\"DEVICEDRIVER_IETF_NETWORK_TOPOL" + "OGY\020\004\022\033\n\027DEVICEDRIVER_ONF_TR_532\020\005\022\023\n\017DE" + "VICEDRIVER_XR\020\006\022\033\n\027DEVICEDRIVER_IETF_L2V" + "PN\020\007\022 \n\034DEVICEDRIVER_GNMI_OPENCONFIG\020\010\022\034" + "\n\030DEVICEDRIVER_OPTICAL_TFS\020\t\022\032\n\026DEVICEDR" + "IVER_IETF_ACTN\020\n\022\023\n\017DEVICEDRIVER_OC\020\013*\217\001" + "\n\033DeviceOperationalStatusEnum\022%\n!DEVICEO" + "PERATIONALSTATUS_UNDEFINED\020\000\022$\n DEVICEOP" + "ERATIONALSTATUS_DISABLED\020\001\022#\n\037DEVICEOPER" + "ATIONALSTATUS_ENABLED\020\002*\320\001\n\017ServiceTypeE" + "num\022\027\n\023SERVICETYPE_UNKNOWN\020\000\022\024\n\020SERVICET" + "YPE_L3NM\020\001\022\024\n\020SERVICETYPE_L2NM\020\002\022)\n%SERV" + "ICETYPE_TAPI_CONNECTIVITY_SERVICE\020\003\022\022\n\016S" + "ERVICETYPE_TE\020\004\022\023\n\017SERVICETYPE_E2E\020\005\022$\n " + "SERVICETYPE_OPTICAL_CONNECTIVITY\020\006*\304\001\n\021S" + "erviceStatusEnum\022\033\n\027SERVICESTATUS_UNDEFI" + "NED\020\000\022\031\n\025SERVICESTATUS_PLANNED\020\001\022\030\n\024SERV" + "ICESTATUS_ACTIVE\020\002\022\032\n\026SERVICESTATUS_UPDA" + "TING\020\003\022!\n\035SERVICESTATUS_PENDING_REMOVAL\020" + "\004\022\036\n\032SERVICESTATUS_SLA_VIOLATED\020\005*\251\001\n\017Sl" + "iceStatusEnum\022\031\n\025SLICESTATUS_UNDEFINED\020\000" + "\022\027\n\023SLICESTATUS_PLANNED\020\001\022\024\n\020SLICESTATUS" + "_INIT\020\002\022\026\n\022SLICESTATUS_ACTIVE\020\003\022\026\n\022SLICE" + "STATUS_DEINIT\020\004\022\034\n\030SLICESTATUS_SLA_VIOLA" + "TED\020\005*]\n\020ConfigActionEnum\022\032\n\026CONFIGACTIO" + "N_UNDEFINED\020\000\022\024\n\020CONFIGACTION_SET\020\001\022\027\n\023C" + "ONFIGACTION_DELETE\020\002*m\n\024ConstraintAction" + "Enum\022\036\n\032CONSTRAINTACTION_UNDEFINED\020\000\022\030\n\024" + "CONSTRAINTACTION_SET\020\001\022\033\n\027CONSTRAINTACTI" + "ON_DELETE\020\002*\203\002\n\022IsolationLevelEnum\022\020\n\014NO" + "_ISOLATION\020\000\022\026\n\022PHYSICAL_ISOLATION\020\001\022\025\n\021" + "LOGICAL_ISOLATION\020\002\022\025\n\021PROCESS_ISOLATION" + "\020\003\022\035\n\031PHYSICAL_MEMORY_ISOLATION\020\004\022\036\n\032PHY" + "SICAL_NETWORK_ISOLATION\020\005\022\036\n\032VIRTUAL_RES" + "OURCE_ISOLATION\020\006\022\037\n\033NETWORK_FUNCTIONS_I" + "SOLATION\020\007\022\025\n\021SERVICE_ISOLATION\020\0102\246\031\n\016Co" + "ntextService\022:\n\016ListContextIds\022\016.context" + ".Empty\032\026.context.ContextIdList\"\000\0226\n\014List" + "Contexts\022\016.context.Empty\032\024.context.Conte" + "xtList\"\000\0224\n\nGetContext\022\022.context.Context" + "Id\032\020.context.Context\"\000\0224\n\nSetContext\022\020.c" + "ontext.Context\032\022.context.ContextId\"\000\0225\n\r" + "RemoveContext\022\022.context.ContextId\032\016.cont" + "ext.Empty\"\000\022=\n\020GetContextEvents\022\016.contex" + "t.Empty\032\025.context.ContextEvent\"\0000\001\022@\n\017Li" + "stTopologyIds\022\022.context.ContextId\032\027.cont" + "ext.TopologyIdList\"\000\022=\n\016ListTopologies\022\022" + ".context.ContextId\032\025.context.TopologyLis" + "t\"\000\0227\n\013GetTopology\022\023.context.TopologyId\032" + "\021.context.Topology\"\000\022E\n\022GetTopologyDetai" + "ls\022\023.context.TopologyId\032\030.context.Topolo" + "gyDetails\"\000\0227\n\013SetTopology\022\021.context.Top" + "ology\032\023.context.TopologyId\"\000\0227\n\016RemoveTo" + "pology\022\023.context.TopologyId\032\016.context.Em" + "pty\"\000\022?\n\021GetTopologyEvents\022\016.context.Emp" + "ty\032\026.context.TopologyEvent\"\0000\001\0228\n\rListDe" + "viceIds\022\016.context.Empty\032\025.context.Device" + "IdList\"\000\0224\n\013ListDevices\022\016.context.Empty\032" + "\023.context.DeviceList\"\000\0221\n\tGetDevice\022\021.co" + "ntext.DeviceId\032\017.context.Device\"\000\0221\n\tSet" + "Device\022\017.context.Device\032\021.context.Device" + "Id\"\000\0223\n\014RemoveDevice\022\021.context.DeviceId\032" + "\016.context.Empty\"\000\022;\n\017GetDeviceEvents\022\016.c" + "ontext.Empty\032\024.context.DeviceEvent\"\0000\001\022<" + "\n\014SelectDevice\022\025.context.DeviceFilter\032\023." + "context.DeviceList\"\000\022I\n\021ListEndPointName" + "s\022\027.context.EndPointIdList\032\031.context.End" + "PointNameList\"\000\0224\n\013ListLinkIds\022\016.context" + ".Empty\032\023.context.LinkIdList\"\000\0220\n\tListLin" + "ks\022\016.context.Empty\032\021.context.LinkList\"\000\022" + "+\n\007GetLink\022\017.context.LinkId\032\r.context.Li" + "nk\"\000\022+\n\007SetLink\022\r.context.Link\032\017.context" + ".LinkId\"\000\022/\n\nRemoveLink\022\017.context.LinkId" + "\032\016.context.Empty\"\000\0227\n\rGetLinkEvents\022\016.co" + "ntext.Empty\032\022.context.LinkEvent\"\0000\001\022>\n\016L" + "istServiceIds\022\022.context.ContextId\032\026.cont" + "ext.ServiceIdList\"\000\022:\n\014ListServices\022\022.co" + "ntext.ContextId\032\024.context.ServiceList\"\000\022" + "4\n\nGetService\022\022.context.ServiceId\032\020.cont" + "ext.Service\"\000\0224\n\nSetService\022\020.context.Se" + "rvice\032\022.context.ServiceId\"\000\0226\n\014UnsetServ" + "ice\022\020.context.Service\032\022.context.ServiceI" + "d\"\000\0225\n\rRemoveService\022\022.context.ServiceId" + "\032\016.context.Empty\"\000\022=\n\020GetServiceEvents\022\016" + ".context.Empty\032\025.context.ServiceEvent\"\0000" + "\001\022?\n\rSelectService\022\026.context.ServiceFilt" + "er\032\024.context.ServiceList\"\000\022:\n\014ListSliceI" + "ds\022\022.context.ContextId\032\024.context.SliceId" + "List\"\000\0226\n\nListSlices\022\022.context.ContextId" + "\032\022.context.SliceList\"\000\022.\n\010GetSlice\022\020.con" + "text.SliceId\032\016.context.Slice\"\000\022.\n\010SetSli" + "ce\022\016.context.Slice\032\020.context.SliceId\"\000\0220" + "\n\nUnsetSlice\022\016.context.Slice\032\020.context.S" + "liceId\"\000\0221\n\013RemoveSlice\022\020.context.SliceI" + "d\032\016.context.Empty\"\000\0229\n\016GetSliceEvents\022\016." + "context.Empty\032\023.context.SliceEvent\"\0000\001\0229" + "\n\013SelectSlice\022\024.context.SliceFilter\032\022.co" + "ntext.SliceList\"\000\022D\n\021ListConnectionIds\022\022" + ".context.ServiceId\032\031.context.ConnectionI" + "dList\"\000\022@\n\017ListConnections\022\022.context.Ser" + "viceId\032\027.context.ConnectionList\"\000\022=\n\rGet" + "Connection\022\025.context.ConnectionId\032\023.cont" + "ext.Connection\"\000\022=\n\rSetConnection\022\023.cont" + "ext.Connection\032\025.context.ConnectionId\"\000\022" + ";\n\020RemoveConnection\022\025.context.Connection" + "Id\032\016.context.Empty\"\000\022C\n\023GetConnectionEve" + "nts\022\016.context.Empty\032\030.context.Connection" + "Event\"\0000\001\022@\n\020GetOpticalConfig\022\016.context." + "Empty\032\032.context.OpticalConfigList\"\000\022F\n\020S" + "etOpticalConfig\022\026.context.OpticalConfig\032" + "\030.context.OpticalConfigId\"\000\022I\n\023SelectOpt" + "icalConfig\022\030.context.OpticalConfigId\032\026.c" + "ontext.OpticalConfig\"\000\0228\n\016SetOpticalLink" + "\022\024.context.OpticalLink\032\016.context.Empty\"\000" + "\022@\n\016GetOpticalLink\022\026.context.OpticalLink" + "Id\032\024.context.OpticalLink\"\000\022.\n\010GetFiber\022\020" + ".context.FiberId\032\016.context.Fiber\"\000b\006prot" + "o3" };
         descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] { acl.Acl.getDescriptor(), kpi_sample_types.KpiSampleTypes.getDescriptor() });
         internal_static_context_Empty_descriptor = getDescriptor().getMessageTypes().get(0);
         internal_static_context_Empty_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_Empty_descriptor, new java.lang.String[] {});
diff --git a/src/policy/target/generated-sources/grpc/context/ContextServiceGrpc.java b/src/policy/target/generated-sources/grpc/context/ContextServiceGrpc.java
index 233312dd7..a03f7e949 100644
--- a/src/policy/target/generated-sources/grpc/context/ContextServiceGrpc.java
+++ b/src/policy/target/generated-sources/grpc/context/ContextServiceGrpc.java
@@ -4,8 +4,7 @@ import static io.grpc.MethodDescriptor.generateFullMethodName;
 
 /**
  */
-@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.55.1)", comments = "Source: context.proto")
-@io.grpc.stub.annotations.GrpcGenerated
+@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.38.1)", comments = "Source: context.proto")
 public final class ContextServiceGrpc {
 
     private ContextServiceGrpc() {
@@ -883,299 +882,299 @@ public final class ContextServiceGrpc {
 
     /**
      */
-    public interface AsyncService {
+    public static abstract class ContextServiceImplBase implements io.grpc.BindableService {
 
         /**
          */
-        default void listContextIds(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listContextIds(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListContextIdsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listContexts(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listContexts(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListContextsMethod(), responseObserver);
         }
 
         /**
          */
-        default void getContext(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getContext(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetContextMethod(), responseObserver);
         }
 
         /**
          */
-        default void setContext(context.ContextOuterClass.Context request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setContext(context.ContextOuterClass.Context request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetContextMethod(), responseObserver);
         }
 
         /**
          */
-        default void removeContext(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void removeContext(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRemoveContextMethod(), responseObserver);
         }
 
         /**
          */
-        default void getContextEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getContextEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetContextEventsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listTopologyIds(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listTopologyIds(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListTopologyIdsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listTopologies(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listTopologies(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListTopologiesMethod(), responseObserver);
         }
 
         /**
          */
-        default void getTopology(context.ContextOuterClass.TopologyId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getTopology(context.ContextOuterClass.TopologyId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetTopologyMethod(), responseObserver);
         }
 
         /**
          */
-        default void getTopologyDetails(context.ContextOuterClass.TopologyId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getTopologyDetails(context.ContextOuterClass.TopologyId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetTopologyDetailsMethod(), responseObserver);
         }
 
         /**
          */
-        default void setTopology(context.ContextOuterClass.Topology request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setTopology(context.ContextOuterClass.Topology request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetTopologyMethod(), responseObserver);
         }
 
         /**
          */
-        default void removeTopology(context.ContextOuterClass.TopologyId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void removeTopology(context.ContextOuterClass.TopologyId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRemoveTopologyMethod(), responseObserver);
         }
 
         /**
          */
-        default void getTopologyEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getTopologyEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetTopologyEventsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listDeviceIds(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listDeviceIds(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListDeviceIdsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listDevices(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listDevices(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListDevicesMethod(), responseObserver);
         }
 
         /**
          */
-        default void getDevice(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getDevice(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetDeviceMethod(), responseObserver);
         }
 
         /**
          */
-        default void setDevice(context.ContextOuterClass.Device request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setDevice(context.ContextOuterClass.Device request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetDeviceMethod(), responseObserver);
         }
 
         /**
          */
-        default void removeDevice(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void removeDevice(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRemoveDeviceMethod(), responseObserver);
         }
 
         /**
          */
-        default void getDeviceEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getDeviceEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetDeviceEventsMethod(), responseObserver);
         }
 
         /**
          */
-        default void selectDevice(context.ContextOuterClass.DeviceFilter request, io.grpc.stub.StreamObserver responseObserver) {
+        public void selectDevice(context.ContextOuterClass.DeviceFilter request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSelectDeviceMethod(), responseObserver);
         }
 
         /**
          */
-        default void listEndPointNames(context.ContextOuterClass.EndPointIdList request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listEndPointNames(context.ContextOuterClass.EndPointIdList request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListEndPointNamesMethod(), responseObserver);
         }
 
         /**
          */
-        default void listLinkIds(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listLinkIds(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListLinkIdsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listLinks(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listLinks(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListLinksMethod(), responseObserver);
         }
 
         /**
          */
-        default void getLink(context.ContextOuterClass.LinkId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getLink(context.ContextOuterClass.LinkId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetLinkMethod(), responseObserver);
         }
 
         /**
          */
-        default void setLink(context.ContextOuterClass.Link request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setLink(context.ContextOuterClass.Link request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetLinkMethod(), responseObserver);
         }
 
         /**
          */
-        default void removeLink(context.ContextOuterClass.LinkId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void removeLink(context.ContextOuterClass.LinkId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRemoveLinkMethod(), responseObserver);
         }
 
         /**
          */
-        default void getLinkEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getLinkEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetLinkEventsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listServiceIds(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listServiceIds(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListServiceIdsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listServices(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listServices(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListServicesMethod(), responseObserver);
         }
 
         /**
          */
-        default void getService(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getService(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetServiceMethod(), responseObserver);
         }
 
         /**
          */
-        default void setService(context.ContextOuterClass.Service request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setService(context.ContextOuterClass.Service request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetServiceMethod(), responseObserver);
         }
 
         /**
          */
-        default void unsetService(context.ContextOuterClass.Service request, io.grpc.stub.StreamObserver responseObserver) {
+        public void unsetService(context.ContextOuterClass.Service request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getUnsetServiceMethod(), responseObserver);
         }
 
         /**
          */
-        default void removeService(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void removeService(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRemoveServiceMethod(), responseObserver);
         }
 
         /**
          */
-        default void getServiceEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getServiceEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetServiceEventsMethod(), responseObserver);
         }
 
         /**
          */
-        default void selectService(context.ContextOuterClass.ServiceFilter request, io.grpc.stub.StreamObserver responseObserver) {
+        public void selectService(context.ContextOuterClass.ServiceFilter request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSelectServiceMethod(), responseObserver);
         }
 
         /**
          */
-        default void listSliceIds(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listSliceIds(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListSliceIdsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listSlices(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listSlices(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListSlicesMethod(), responseObserver);
         }
 
         /**
          */
-        default void getSlice(context.ContextOuterClass.SliceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getSlice(context.ContextOuterClass.SliceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetSliceMethod(), responseObserver);
         }
 
         /**
          */
-        default void setSlice(context.ContextOuterClass.Slice request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setSlice(context.ContextOuterClass.Slice request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetSliceMethod(), responseObserver);
         }
 
         /**
          */
-        default void unsetSlice(context.ContextOuterClass.Slice request, io.grpc.stub.StreamObserver responseObserver) {
+        public void unsetSlice(context.ContextOuterClass.Slice request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getUnsetSliceMethod(), responseObserver);
         }
 
         /**
          */
-        default void removeSlice(context.ContextOuterClass.SliceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void removeSlice(context.ContextOuterClass.SliceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRemoveSliceMethod(), responseObserver);
         }
 
         /**
          */
-        default void getSliceEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getSliceEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetSliceEventsMethod(), responseObserver);
         }
 
         /**
          */
-        default void selectSlice(context.ContextOuterClass.SliceFilter request, io.grpc.stub.StreamObserver responseObserver) {
+        public void selectSlice(context.ContextOuterClass.SliceFilter request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSelectSliceMethod(), responseObserver);
         }
 
         /**
          */
-        default void listConnectionIds(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listConnectionIds(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListConnectionIdsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listConnections(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listConnections(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListConnectionsMethod(), responseObserver);
         }
 
         /**
          */
-        default void getConnection(context.ContextOuterClass.ConnectionId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getConnection(context.ContextOuterClass.ConnectionId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetConnectionMethod(), responseObserver);
         }
 
         /**
          */
-        default void setConnection(context.ContextOuterClass.Connection request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setConnection(context.ContextOuterClass.Connection request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetConnectionMethod(), responseObserver);
         }
 
         /**
          */
-        default void removeConnection(context.ContextOuterClass.ConnectionId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void removeConnection(context.ContextOuterClass.ConnectionId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRemoveConnectionMethod(), responseObserver);
         }
 
         /**
          */
-        default void getConnectionEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getConnectionEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetConnectionEventsMethod(), responseObserver);
         }
 
@@ -1184,54 +1183,47 @@ public final class ContextServiceGrpc {
          * ------------------------------ Experimental -----------------------------
          * 
*/ - default void getOpticalConfig(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { + public void getOpticalConfig(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetOpticalConfigMethod(), responseObserver); } /** */ - default void setOpticalConfig(context.ContextOuterClass.OpticalConfig request, io.grpc.stub.StreamObserver responseObserver) { + public void setOpticalConfig(context.ContextOuterClass.OpticalConfig request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetOpticalConfigMethod(), responseObserver); } /** */ - default void selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request, io.grpc.stub.StreamObserver responseObserver) { + public void selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSelectOpticalConfigMethod(), responseObserver); } /** */ - default void setOpticalLink(context.ContextOuterClass.OpticalLink request, io.grpc.stub.StreamObserver responseObserver) { + public void setOpticalLink(context.ContextOuterClass.OpticalLink request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetOpticalLinkMethod(), responseObserver); } /** */ - default void getOpticalLink(context.ContextOuterClass.OpticalLinkId request, io.grpc.stub.StreamObserver responseObserver) { + public void getOpticalLink(context.ContextOuterClass.OpticalLinkId request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetOpticalLinkMethod(), responseObserver); } /** */ - default void getFiber(context.ContextOuterClass.FiberId request, io.grpc.stub.StreamObserver responseObserver) { + public void getFiber(context.ContextOuterClass.FiberId request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetFiberMethod(), responseObserver); } - } - - /** - * Base class for the server implementation of the service ContextService. - */ - public static abstract class ContextServiceImplBase implements io.grpc.BindableService, AsyncService { @java.lang.Override public io.grpc.ServerServiceDefinition bindService() { - return ContextServiceGrpc.bindService(this); + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getListContextIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONTEXT_IDS))).addMethod(getListContextsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONTEXTS))).addMethod(getGetContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_CONTEXT))).addMethod(getSetContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_CONTEXT))).addMethod(getRemoveContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_CONTEXT))).addMethod(getGetContextEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_CONTEXT_EVENTS))).addMethod(getListTopologyIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_TOPOLOGY_IDS))).addMethod(getListTopologiesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_TOPOLOGIES))).addMethod(getGetTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY))).addMethod(getGetTopologyDetailsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY_DETAILS))).addMethod(getSetTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_TOPOLOGY))).addMethod(getRemoveTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_TOPOLOGY))).addMethod(getGetTopologyEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY_EVENTS))).addMethod(getListDeviceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_DEVICE_IDS))).addMethod(getListDevicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_DEVICES))).addMethod(getGetDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_DEVICE))).addMethod(getSetDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_DEVICE))).addMethod(getRemoveDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_DEVICE))).addMethod(getGetDeviceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_DEVICE_EVENTS))).addMethod(getSelectDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_DEVICE))).addMethod(getListEndPointNamesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_END_POINT_NAMES))).addMethod(getListLinkIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_LINK_IDS))).addMethod(getListLinksMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_LINKS))).addMethod(getGetLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_LINK))).addMethod(getSetLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_LINK))).addMethod(getRemoveLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_LINK))).addMethod(getGetLinkEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_LINK_EVENTS))).addMethod(getListServiceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SERVICE_IDS))).addMethod(getListServicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SERVICES))).addMethod(getGetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_SERVICE))).addMethod(getSetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_SERVICE))).addMethod(getUnsetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_UNSET_SERVICE))).addMethod(getRemoveServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_SERVICE))).addMethod(getGetServiceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_SERVICE_EVENTS))).addMethod(getSelectServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_SERVICE))).addMethod(getListSliceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SLICE_IDS))).addMethod(getListSlicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SLICES))).addMethod(getGetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_SLICE))).addMethod(getSetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_SLICE))).addMethod(getUnsetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_UNSET_SLICE))).addMethod(getRemoveSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_SLICE))).addMethod(getGetSliceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_SLICE_EVENTS))).addMethod(getSelectSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_SLICE))).addMethod(getListConnectionIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONNECTION_IDS))).addMethod(getListConnectionsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONNECTIONS))).addMethod(getGetConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_CONNECTION))).addMethod(getSetConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_CONNECTION))).addMethod(getRemoveConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_CONNECTION))).addMethod(getGetConnectionEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_CONNECTION_EVENTS))).addMethod(getGetOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_OPTICAL_CONFIG))).addMethod(getSetOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_OPTICAL_CONFIG))).addMethod(getSelectOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_OPTICAL_CONFIG))).addMethod(getSetOpticalLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_OPTICAL_LINK))).addMethod(getGetOpticalLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_OPTICAL_LINK))).addMethod(getGetFiberMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_FIBER))).build(); } } /** - * A stub to allow clients to do asynchronous rpc calls to service ContextService. */ public static class ContextServiceStub extends io.grpc.stub.AbstractAsyncStub { @@ -1579,7 +1571,6 @@ public final class ContextServiceGrpc { } /** - * A stub to allow clients to do synchronous rpc calls to service ContextService. */ public static class ContextServiceBlockingStub extends io.grpc.stub.AbstractBlockingStub { @@ -1927,7 +1918,6 @@ public final class ContextServiceGrpc { } /** - * A stub to allow clients to do ListenableFuture-style rpc calls to service ContextService. */ public static class ContextServiceFutureStub extends io.grpc.stub.AbstractFutureStub { @@ -2344,11 +2334,11 @@ public final class ContextServiceGrpc { private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, io.grpc.stub.ServerCalls.ServerStreamingMethod, io.grpc.stub.ServerCalls.ClientStreamingMethod, io.grpc.stub.ServerCalls.BidiStreamingMethod { - private final AsyncService serviceImpl; + private final ContextServiceImplBase serviceImpl; private final int methodId; - MethodHandlers(AsyncService serviceImpl, int methodId) { + MethodHandlers(ContextServiceImplBase serviceImpl, int methodId) { this.serviceImpl = serviceImpl; this.methodId = methodId; } @@ -2537,10 +2527,6 @@ public final class ContextServiceGrpc { } } - public static io.grpc.ServerServiceDefinition bindService(AsyncService service) { - return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getListContextIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONTEXT_IDS))).addMethod(getListContextsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONTEXTS))).addMethod(getGetContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_CONTEXT))).addMethod(getSetContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_CONTEXT))).addMethod(getRemoveContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_CONTEXT))).addMethod(getGetContextEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_CONTEXT_EVENTS))).addMethod(getListTopologyIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_TOPOLOGY_IDS))).addMethod(getListTopologiesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_TOPOLOGIES))).addMethod(getGetTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY))).addMethod(getGetTopologyDetailsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY_DETAILS))).addMethod(getSetTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_TOPOLOGY))).addMethod(getRemoveTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_TOPOLOGY))).addMethod(getGetTopologyEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY_EVENTS))).addMethod(getListDeviceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_DEVICE_IDS))).addMethod(getListDevicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_DEVICES))).addMethod(getGetDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_DEVICE))).addMethod(getSetDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_DEVICE))).addMethod(getRemoveDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_DEVICE))).addMethod(getGetDeviceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_DEVICE_EVENTS))).addMethod(getSelectDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_DEVICE))).addMethod(getListEndPointNamesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_END_POINT_NAMES))).addMethod(getListLinkIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_LINK_IDS))).addMethod(getListLinksMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_LINKS))).addMethod(getGetLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_LINK))).addMethod(getSetLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_LINK))).addMethod(getRemoveLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_LINK))).addMethod(getGetLinkEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_LINK_EVENTS))).addMethod(getListServiceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SERVICE_IDS))).addMethod(getListServicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SERVICES))).addMethod(getGetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_SERVICE))).addMethod(getSetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_SERVICE))).addMethod(getUnsetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_UNSET_SERVICE))).addMethod(getRemoveServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_SERVICE))).addMethod(getGetServiceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_SERVICE_EVENTS))).addMethod(getSelectServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_SERVICE))).addMethod(getListSliceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SLICE_IDS))).addMethod(getListSlicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SLICES))).addMethod(getGetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_SLICE))).addMethod(getSetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_SLICE))).addMethod(getUnsetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_UNSET_SLICE))).addMethod(getRemoveSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_SLICE))).addMethod(getGetSliceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_SLICE_EVENTS))).addMethod(getSelectSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_SLICE))).addMethod(getListConnectionIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONNECTION_IDS))).addMethod(getListConnectionsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONNECTIONS))).addMethod(getGetConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_CONNECTION))).addMethod(getSetConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_CONNECTION))).addMethod(getRemoveConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_CONNECTION))).addMethod(getGetConnectionEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_CONNECTION_EVENTS))).addMethod(getGetOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_OPTICAL_CONFIG))).addMethod(getSetOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_OPTICAL_CONFIG))).addMethod(getSelectOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_OPTICAL_CONFIG))).addMethod(getSetOpticalLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_OPTICAL_LINK))).addMethod(getGetOpticalLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_OPTICAL_LINK))).addMethod(getGetFiberMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_FIBER))).build(); - } - private static abstract class ContextServiceBaseDescriptorSupplier implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier { ContextServiceBaseDescriptorSupplier() { diff --git a/src/policy/target/generated-sources/grpc/context_policy/ContextPolicyServiceGrpc.java b/src/policy/target/generated-sources/grpc/context_policy/ContextPolicyServiceGrpc.java index 721493b1e..f7123f88f 100644 --- a/src/policy/target/generated-sources/grpc/context_policy/ContextPolicyServiceGrpc.java +++ b/src/policy/target/generated-sources/grpc/context_policy/ContextPolicyServiceGrpc.java @@ -7,8 +7,7 @@ import static io.grpc.MethodDescriptor.generateFullMethodName; * created as a separate service to prevent import-loops in context and policy *
*/ -@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.55.1)", comments = "Source: context_policy.proto") -@io.grpc.stub.annotations.GrpcGenerated +@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.38.1)", comments = "Source: context_policy.proto") public final class ContextPolicyServiceGrpc { private ContextPolicyServiceGrpc() { @@ -139,55 +138,45 @@ public final class ContextPolicyServiceGrpc { * created as a separate service to prevent import-loops in context and policy * */ - public interface AsyncService { + public static abstract class ContextPolicyServiceImplBase implements io.grpc.BindableService { /** */ - default void listPolicyRuleIds(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { + public void listPolicyRuleIds(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListPolicyRuleIdsMethod(), responseObserver); } /** */ - default void listPolicyRules(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { + public void listPolicyRules(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListPolicyRulesMethod(), responseObserver); } /** */ - default void getPolicyRule(policy.Policy.PolicyRuleId request, io.grpc.stub.StreamObserver responseObserver) { + public void getPolicyRule(policy.Policy.PolicyRuleId request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetPolicyRuleMethod(), responseObserver); } /** */ - default void setPolicyRule(policy.Policy.PolicyRule request, io.grpc.stub.StreamObserver responseObserver) { + public void setPolicyRule(policy.Policy.PolicyRule request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetPolicyRuleMethod(), responseObserver); } /** */ - default void removePolicyRule(policy.Policy.PolicyRuleId request, io.grpc.stub.StreamObserver responseObserver) { + public void removePolicyRule(policy.Policy.PolicyRuleId request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRemovePolicyRuleMethod(), responseObserver); } - } - - /** - * Base class for the server implementation of the service ContextPolicyService. - *
-     * created as a separate service to prevent import-loops in context and policy
-     * 
- */ - public static abstract class ContextPolicyServiceImplBase implements io.grpc.BindableService, AsyncService { @java.lang.Override public io.grpc.ServerServiceDefinition bindService() { - return ContextPolicyServiceGrpc.bindService(this); + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getListPolicyRuleIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_POLICY_RULE_IDS))).addMethod(getListPolicyRulesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_POLICY_RULES))).addMethod(getGetPolicyRuleMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_POLICY_RULE))).addMethod(getSetPolicyRuleMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_POLICY_RULE))).addMethod(getRemovePolicyRuleMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_POLICY_RULE))).build(); } } /** - * A stub to allow clients to do asynchronous rpc calls to service ContextPolicyService. *
      * created as a separate service to prevent import-loops in context and policy
      * 
@@ -235,7 +224,6 @@ public final class ContextPolicyServiceGrpc { } /** - * A stub to allow clients to do synchronous rpc calls to service ContextPolicyService. *
      * created as a separate service to prevent import-loops in context and policy
      * 
@@ -283,7 +271,6 @@ public final class ContextPolicyServiceGrpc { } /** - * A stub to allow clients to do ListenableFuture-style rpc calls to service ContextPolicyService. *
      * created as a separate service to prevent import-loops in context and policy
      * 
@@ -342,11 +329,11 @@ public final class ContextPolicyServiceGrpc { private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, io.grpc.stub.ServerCalls.ServerStreamingMethod, io.grpc.stub.ServerCalls.ClientStreamingMethod, io.grpc.stub.ServerCalls.BidiStreamingMethod { - private final AsyncService serviceImpl; + private final ContextPolicyServiceImplBase serviceImpl; private final int methodId; - MethodHandlers(AsyncService serviceImpl, int methodId) { + MethodHandlers(ContextPolicyServiceImplBase serviceImpl, int methodId) { this.serviceImpl = serviceImpl; this.methodId = methodId; } @@ -385,10 +372,6 @@ public final class ContextPolicyServiceGrpc { } } - public static io.grpc.ServerServiceDefinition bindService(AsyncService service) { - return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getListPolicyRuleIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_POLICY_RULE_IDS))).addMethod(getListPolicyRulesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_POLICY_RULES))).addMethod(getGetPolicyRuleMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_POLICY_RULE))).addMethod(getSetPolicyRuleMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_POLICY_RULE))).addMethod(getRemovePolicyRuleMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_POLICY_RULE))).build(); - } - private static abstract class ContextPolicyServiceBaseDescriptorSupplier implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier { ContextPolicyServiceBaseDescriptorSupplier() { diff --git a/src/policy/target/generated-sources/grpc/device/Device.java b/src/policy/target/generated-sources/grpc/device/Device.java index a127e8f1c..93bd49040 100644 --- a/src/policy/target/generated-sources/grpc/device/Device.java +++ b/src/policy/target/generated-sources/grpc/device/Device.java @@ -86,6 +86,80 @@ public final class Device { return new MonitoringSettings(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private MonitoringSettings(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + monitoring.Monitoring.KpiId.Builder subBuilder = null; + if (kpiId_ != null) { + subBuilder = kpiId_.toBuilder(); + } + kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiId_); + kpiId_ = subBuilder.buildPartial(); + } + break; + } + case 18: + { + monitoring.Monitoring.KpiDescriptor.Builder subBuilder = null; + if (kpiDescriptor_ != null) { + subBuilder = kpiDescriptor_.toBuilder(); + } + kpiDescriptor_ = input.readMessage(monitoring.Monitoring.KpiDescriptor.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiDescriptor_); + kpiDescriptor_ = subBuilder.buildPartial(); + } + break; + } + case 29: + { + samplingDurationS_ = input.readFloat(); + break; + } + case 37: + { + samplingIntervalS_ = input.readFloat(); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return device.Device.internal_static_device_MonitoringSettings_descriptor; } @@ -122,7 +196,7 @@ public final class Device { */ @java.lang.Override public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { - return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + return getKpiId(); } public static final int KPI_DESCRIPTOR_FIELD_NUMBER = 2; @@ -152,12 +226,12 @@ public final class Device { */ @java.lang.Override public monitoring.Monitoring.KpiDescriptorOrBuilder getKpiDescriptorOrBuilder() { - return kpiDescriptor_ == null ? monitoring.Monitoring.KpiDescriptor.getDefaultInstance() : kpiDescriptor_; + return getKpiDescriptor(); } public static final int SAMPLING_DURATION_S_FIELD_NUMBER = 3; - private float samplingDurationS_ = 0F; + private float samplingDurationS_; /** * float sampling_duration_s = 3; @@ -170,7 +244,7 @@ public final class Device { public static final int SAMPLING_INTERVAL_S_FIELD_NUMBER = 4; - private float samplingIntervalS_ = 0F; + private float samplingIntervalS_; /** * float sampling_interval_s = 4; @@ -202,13 +276,13 @@ public final class Device { if (kpiDescriptor_ != null) { output.writeMessage(2, getKpiDescriptor()); } - if (java.lang.Float.floatToRawIntBits(samplingDurationS_) != 0) { + if (samplingDurationS_ != 0F) { output.writeFloat(3, samplingDurationS_); } - if (java.lang.Float.floatToRawIntBits(samplingIntervalS_) != 0) { + if (samplingIntervalS_ != 0F) { output.writeFloat(4, samplingIntervalS_); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -223,13 +297,13 @@ public final class Device { if (kpiDescriptor_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getKpiDescriptor()); } - if (java.lang.Float.floatToRawIntBits(samplingDurationS_) != 0) { + if (samplingDurationS_ != 0F) { size += com.google.protobuf.CodedOutputStream.computeFloatSize(3, samplingDurationS_); } - if (java.lang.Float.floatToRawIntBits(samplingIntervalS_) != 0) { + if (samplingIntervalS_ != 0F) { size += com.google.protobuf.CodedOutputStream.computeFloatSize(4, samplingIntervalS_); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -259,7 +333,7 @@ public final class Device { return false; if (java.lang.Float.floatToIntBits(getSamplingIntervalS()) != java.lang.Float.floatToIntBits(other.getSamplingIntervalS())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -283,7 +357,7 @@ public final class Device { hash = (53 * hash) + java.lang.Float.floatToIntBits(getSamplingDurationS()); hash = (37 * hash) + SAMPLING_INTERVAL_S_FIELD_NUMBER; hash = (53 * hash) + java.lang.Float.floatToIntBits(getSamplingIntervalS()); - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -377,24 +451,32 @@ public final class Device { // Construct using device.Device.MonitoringSettings.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; - kpiId_ = null; - if (kpiIdBuilder_ != null) { - kpiIdBuilder_.dispose(); + if (kpiIdBuilder_ == null) { + kpiId_ = null; + } else { + kpiId_ = null; kpiIdBuilder_ = null; } - kpiDescriptor_ = null; - if (kpiDescriptorBuilder_ != null) { - kpiDescriptorBuilder_.dispose(); + if (kpiDescriptorBuilder_ == null) { + kpiDescriptor_ = null; + } else { + kpiDescriptor_ = null; kpiDescriptorBuilder_ = null; } samplingDurationS_ = 0F; @@ -424,27 +506,50 @@ public final class Device { @java.lang.Override public device.Device.MonitoringSettings buildPartial() { device.Device.MonitoringSettings result = new device.Device.MonitoringSettings(this); - if (bitField0_ != 0) { - buildPartial0(result); + if (kpiIdBuilder_ == null) { + result.kpiId_ = kpiId_; + } else { + result.kpiId_ = kpiIdBuilder_.build(); + } + if (kpiDescriptorBuilder_ == null) { + result.kpiDescriptor_ = kpiDescriptor_; + } else { + result.kpiDescriptor_ = kpiDescriptorBuilder_.build(); } + result.samplingDurationS_ = samplingDurationS_; + result.samplingIntervalS_ = samplingIntervalS_; onBuilt(); return result; } - private void buildPartial0(device.Device.MonitoringSettings result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.kpiId_ = kpiIdBuilder_ == null ? kpiId_ : kpiIdBuilder_.build(); - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.kpiDescriptor_ = kpiDescriptorBuilder_ == null ? kpiDescriptor_ : kpiDescriptorBuilder_.build(); - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.samplingDurationS_ = samplingDurationS_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.samplingIntervalS_ = samplingIntervalS_; - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -472,7 +577,7 @@ public final class Device { if (other.getSamplingIntervalS() != 0F) { setSamplingIntervalS(other.getSamplingIntervalS()); } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -484,68 +589,20 @@ public final class Device { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + device.Device.MonitoringSettings parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - input.readMessage(getKpiIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000001; - break; - } - // case 10 - case 18: - { - input.readMessage(getKpiDescriptorFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000002; - break; - } - // case 18 - case 29: - { - samplingDurationS_ = input.readFloat(); - bitField0_ |= 0x00000004; - break; - } - // case 29 - case 37: - { - samplingIntervalS_ = input.readFloat(); - bitField0_ |= 0x00000008; - break; - } - // case 37 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (device.Device.MonitoringSettings) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } - private int bitField0_; - private monitoring.Monitoring.KpiId kpiId_; private com.google.protobuf.SingleFieldBuilderV3 kpiIdBuilder_; @@ -555,7 +612,7 @@ public final class Device { * @return Whether the kpiId field is set. */ public boolean hasKpiId() { - return ((bitField0_ & 0x00000001) != 0); + return kpiIdBuilder_ != null || kpiId_ != null; } /** @@ -579,11 +636,10 @@ public final class Device { throw new NullPointerException(); } kpiId_ = value; + onChanged(); } else { kpiIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -593,11 +649,10 @@ public final class Device { public Builder setKpiId(monitoring.Monitoring.KpiId.Builder builderForValue) { if (kpiIdBuilder_ == null) { kpiId_ = builderForValue.build(); + onChanged(); } else { kpiIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -606,16 +661,15 @@ public final class Device { */ public Builder mergeKpiId(monitoring.Monitoring.KpiId value) { if (kpiIdBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0) && kpiId_ != null && kpiId_ != monitoring.Monitoring.KpiId.getDefaultInstance()) { - getKpiIdBuilder().mergeFrom(value); + if (kpiId_ != null) { + kpiId_ = monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial(); } else { kpiId_ = value; } + onChanged(); } else { kpiIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -623,13 +677,13 @@ public final class Device { * .monitoring.KpiId kpi_id = 1; */ public Builder clearKpiId() { - bitField0_ = (bitField0_ & ~0x00000001); - kpiId_ = null; - if (kpiIdBuilder_ != null) { - kpiIdBuilder_.dispose(); + if (kpiIdBuilder_ == null) { + kpiId_ = null; + onChanged(); + } else { + kpiId_ = null; kpiIdBuilder_ = null; } - onChanged(); return this; } @@ -637,7 +691,6 @@ public final class Device { * .monitoring.KpiId kpi_id = 1; */ public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() { - bitField0_ |= 0x00000001; onChanged(); return getKpiIdFieldBuilder().getBuilder(); } @@ -673,7 +726,7 @@ public final class Device { * @return Whether the kpiDescriptor field is set. */ public boolean hasKpiDescriptor() { - return ((bitField0_ & 0x00000002) != 0); + return kpiDescriptorBuilder_ != null || kpiDescriptor_ != null; } /** @@ -697,11 +750,10 @@ public final class Device { throw new NullPointerException(); } kpiDescriptor_ = value; + onChanged(); } else { kpiDescriptorBuilder_.setMessage(value); } - bitField0_ |= 0x00000002; - onChanged(); return this; } @@ -711,11 +763,10 @@ public final class Device { public Builder setKpiDescriptor(monitoring.Monitoring.KpiDescriptor.Builder builderForValue) { if (kpiDescriptorBuilder_ == null) { kpiDescriptor_ = builderForValue.build(); + onChanged(); } else { kpiDescriptorBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000002; - onChanged(); return this; } @@ -724,16 +775,15 @@ public final class Device { */ public Builder mergeKpiDescriptor(monitoring.Monitoring.KpiDescriptor value) { if (kpiDescriptorBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0) && kpiDescriptor_ != null && kpiDescriptor_ != monitoring.Monitoring.KpiDescriptor.getDefaultInstance()) { - getKpiDescriptorBuilder().mergeFrom(value); + if (kpiDescriptor_ != null) { + kpiDescriptor_ = monitoring.Monitoring.KpiDescriptor.newBuilder(kpiDescriptor_).mergeFrom(value).buildPartial(); } else { kpiDescriptor_ = value; } + onChanged(); } else { kpiDescriptorBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000002; - onChanged(); return this; } @@ -741,13 +791,13 @@ public final class Device { * .monitoring.KpiDescriptor kpi_descriptor = 2; */ public Builder clearKpiDescriptor() { - bitField0_ = (bitField0_ & ~0x00000002); - kpiDescriptor_ = null; - if (kpiDescriptorBuilder_ != null) { - kpiDescriptorBuilder_.dispose(); + if (kpiDescriptorBuilder_ == null) { + kpiDescriptor_ = null; + onChanged(); + } else { + kpiDescriptor_ = null; kpiDescriptorBuilder_ = null; } - onChanged(); return this; } @@ -755,7 +805,6 @@ public final class Device { * .monitoring.KpiDescriptor kpi_descriptor = 2; */ public monitoring.Monitoring.KpiDescriptor.Builder getKpiDescriptorBuilder() { - bitField0_ |= 0x00000002; onChanged(); return getKpiDescriptorFieldBuilder().getBuilder(); } @@ -800,7 +849,6 @@ public final class Device { */ public Builder setSamplingDurationS(float value) { samplingDurationS_ = value; - bitField0_ |= 0x00000004; onChanged(); return this; } @@ -810,7 +858,6 @@ public final class Device { * @return This builder for chaining. */ public Builder clearSamplingDurationS() { - bitField0_ = (bitField0_ & ~0x00000004); samplingDurationS_ = 0F; onChanged(); return this; @@ -834,7 +881,6 @@ public final class Device { */ public Builder setSamplingIntervalS(float value) { samplingIntervalS_ = value; - bitField0_ |= 0x00000008; onChanged(); return this; } @@ -844,7 +890,6 @@ public final class Device { * @return This builder for chaining. */ public Builder clearSamplingIntervalS() { - bitField0_ = (bitField0_ & ~0x00000008); samplingIntervalS_ = 0F; onChanged(); return this; @@ -877,17 +922,7 @@ public final class Device { @java.lang.Override public MonitoringSettings parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new MonitoringSettings(input, extensionRegistry); } }; diff --git a/src/policy/target/generated-sources/grpc/device/DeviceServiceGrpc.java b/src/policy/target/generated-sources/grpc/device/DeviceServiceGrpc.java index 7e0cf9a8b..a6886d8d6 100644 --- a/src/policy/target/generated-sources/grpc/device/DeviceServiceGrpc.java +++ b/src/policy/target/generated-sources/grpc/device/DeviceServiceGrpc.java @@ -4,8 +4,7 @@ import static io.grpc.MethodDescriptor.generateFullMethodName; /** */ -@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.55.1)", comments = "Source: device.proto") -@io.grpc.stub.annotations.GrpcGenerated +@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.38.1)", comments = "Source: device.proto") public final class DeviceServiceGrpc { private DeviceServiceGrpc() { @@ -133,52 +132,45 @@ public final class DeviceServiceGrpc { /** */ - public interface AsyncService { + public static abstract class DeviceServiceImplBase implements io.grpc.BindableService { /** */ - default void addDevice(context.ContextOuterClass.Device request, io.grpc.stub.StreamObserver responseObserver) { + public void addDevice(context.ContextOuterClass.Device request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getAddDeviceMethod(), responseObserver); } /** */ - default void configureDevice(context.ContextOuterClass.Device request, io.grpc.stub.StreamObserver responseObserver) { + public void configureDevice(context.ContextOuterClass.Device request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getConfigureDeviceMethod(), responseObserver); } /** */ - default void deleteDevice(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) { + public void deleteDevice(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getDeleteDeviceMethod(), responseObserver); } /** */ - default void getInitialConfig(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) { + public void getInitialConfig(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetInitialConfigMethod(), responseObserver); } /** */ - default void monitorDeviceKpi(device.Device.MonitoringSettings request, io.grpc.stub.StreamObserver responseObserver) { + public void monitorDeviceKpi(device.Device.MonitoringSettings request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getMonitorDeviceKpiMethod(), responseObserver); } - } - - /** - * Base class for the server implementation of the service DeviceService. - */ - public static abstract class DeviceServiceImplBase implements io.grpc.BindableService, AsyncService { @java.lang.Override public io.grpc.ServerServiceDefinition bindService() { - return DeviceServiceGrpc.bindService(this); + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getAddDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_ADD_DEVICE))).addMethod(getConfigureDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_CONFIGURE_DEVICE))).addMethod(getDeleteDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_DELETE_DEVICE))).addMethod(getGetInitialConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_INITIAL_CONFIG))).addMethod(getMonitorDeviceKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_MONITOR_DEVICE_KPI))).build(); } } /** - * A stub to allow clients to do asynchronous rpc calls to service DeviceService. */ public static class DeviceServiceStub extends io.grpc.stub.AbstractAsyncStub { @@ -223,7 +215,6 @@ public final class DeviceServiceGrpc { } /** - * A stub to allow clients to do synchronous rpc calls to service DeviceService. */ public static class DeviceServiceBlockingStub extends io.grpc.stub.AbstractBlockingStub { @@ -268,7 +259,6 @@ public final class DeviceServiceGrpc { } /** - * A stub to allow clients to do ListenableFuture-style rpc calls to service DeviceService. */ public static class DeviceServiceFutureStub extends io.grpc.stub.AbstractFutureStub { @@ -324,11 +314,11 @@ public final class DeviceServiceGrpc { private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, io.grpc.stub.ServerCalls.ServerStreamingMethod, io.grpc.stub.ServerCalls.ClientStreamingMethod, io.grpc.stub.ServerCalls.BidiStreamingMethod { - private final AsyncService serviceImpl; + private final DeviceServiceImplBase serviceImpl; private final int methodId; - MethodHandlers(AsyncService serviceImpl, int methodId) { + MethodHandlers(DeviceServiceImplBase serviceImpl, int methodId) { this.serviceImpl = serviceImpl; this.methodId = methodId; } @@ -367,10 +357,6 @@ public final class DeviceServiceGrpc { } } - public static io.grpc.ServerServiceDefinition bindService(AsyncService service) { - return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getAddDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_ADD_DEVICE))).addMethod(getConfigureDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_CONFIGURE_DEVICE))).addMethod(getDeleteDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_DELETE_DEVICE))).addMethod(getGetInitialConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_INITIAL_CONFIG))).addMethod(getMonitorDeviceKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_MONITOR_DEVICE_KPI))).build(); - } - private static abstract class DeviceServiceBaseDescriptorSupplier implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier { DeviceServiceBaseDescriptorSupplier() { diff --git a/src/policy/target/generated-sources/grpc/monitoring/Monitoring.java b/src/policy/target/generated-sources/grpc/monitoring/Monitoring.java index 2f98ce3eb..4c80f4a06 100644 --- a/src/policy/target/generated-sources/grpc/monitoring/Monitoring.java +++ b/src/policy/target/generated-sources/grpc/monitoring/Monitoring.java @@ -211,6 +211,160 @@ public final class Monitoring { return new KpiDescriptor(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private KpiDescriptor(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + monitoring.Monitoring.KpiId.Builder subBuilder = null; + if (kpiId_ != null) { + subBuilder = kpiId_.toBuilder(); + } + kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiId_); + kpiId_ = subBuilder.buildPartial(); + } + break; + } + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + kpiDescription_ = s; + break; + } + case 26: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + kpiIdList_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + kpiIdList_.add(input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry)); + break; + } + case 32: + { + int rawValue = input.readEnum(); + kpiSampleType_ = rawValue; + break; + } + case 42: + { + context.ContextOuterClass.DeviceId.Builder subBuilder = null; + if (deviceId_ != null) { + subBuilder = deviceId_.toBuilder(); + } + deviceId_ = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(deviceId_); + deviceId_ = subBuilder.buildPartial(); + } + break; + } + case 50: + { + context.ContextOuterClass.EndPointId.Builder subBuilder = null; + if (endpointId_ != null) { + subBuilder = endpointId_.toBuilder(); + } + endpointId_ = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(endpointId_); + endpointId_ = subBuilder.buildPartial(); + } + break; + } + case 58: + { + context.ContextOuterClass.ServiceId.Builder subBuilder = null; + if (serviceId_ != null) { + subBuilder = serviceId_.toBuilder(); + } + serviceId_ = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(serviceId_); + serviceId_ = subBuilder.buildPartial(); + } + break; + } + case 66: + { + context.ContextOuterClass.SliceId.Builder subBuilder = null; + if (sliceId_ != null) { + subBuilder = sliceId_.toBuilder(); + } + sliceId_ = input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(sliceId_); + sliceId_ = subBuilder.buildPartial(); + } + break; + } + case 74: + { + context.ContextOuterClass.ConnectionId.Builder subBuilder = null; + if (connectionId_ != null) { + subBuilder = connectionId_.toBuilder(); + } + connectionId_ = input.readMessage(context.ContextOuterClass.ConnectionId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(connectionId_); + connectionId_ = subBuilder.buildPartial(); + } + break; + } + case 82: + { + context.ContextOuterClass.LinkId.Builder subBuilder = null; + if (linkId_ != null) { + subBuilder = linkId_.toBuilder(); + } + linkId_ = input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(linkId_); + linkId_ = subBuilder.buildPartial(); + } + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + kpiIdList_ = java.util.Collections.unmodifiableList(kpiIdList_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return monitoring.Monitoring.internal_static_monitoring_KpiDescriptor_descriptor; } @@ -247,13 +401,12 @@ public final class Monitoring { */ @java.lang.Override public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { - return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + return getKpiId(); } public static final int KPI_DESCRIPTION_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object kpiDescription_ = ""; + private volatile java.lang.Object kpiDescription_; /** * string kpi_description = 2; @@ -290,7 +443,6 @@ public final class Monitoring { public static final int KPI_ID_LIST_FIELD_NUMBER = 3; - @SuppressWarnings("serial") private java.util.List kpiIdList_; /** @@ -335,7 +487,7 @@ public final class Monitoring { public static final int KPI_SAMPLE_TYPE_FIELD_NUMBER = 4; - private int kpiSampleType_ = 0; + private int kpiSampleType_; /** * .kpi_sample_types.KpiSampleType kpi_sample_type = 4; @@ -352,7 +504,8 @@ public final class Monitoring { */ @java.lang.Override public kpi_sample_types.KpiSampleTypes.KpiSampleType getKpiSampleType() { - kpi_sample_types.KpiSampleTypes.KpiSampleType result = kpi_sample_types.KpiSampleTypes.KpiSampleType.forNumber(kpiSampleType_); + @SuppressWarnings("deprecation") + kpi_sample_types.KpiSampleTypes.KpiSampleType result = kpi_sample_types.KpiSampleTypes.KpiSampleType.valueOf(kpiSampleType_); return result == null ? kpi_sample_types.KpiSampleTypes.KpiSampleType.UNRECOGNIZED : result; } @@ -383,7 +536,7 @@ public final class Monitoring { */ @java.lang.Override public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() { - return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; + return getDeviceId(); } public static final int ENDPOINT_ID_FIELD_NUMBER = 6; @@ -413,7 +566,7 @@ public final class Monitoring { */ @java.lang.Override public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() { - return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; + return getEndpointId(); } public static final int SERVICE_ID_FIELD_NUMBER = 7; @@ -443,7 +596,7 @@ public final class Monitoring { */ @java.lang.Override public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() { - return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; + return getServiceId(); } public static final int SLICE_ID_FIELD_NUMBER = 8; @@ -473,7 +626,7 @@ public final class Monitoring { */ @java.lang.Override public context.ContextOuterClass.SliceIdOrBuilder getSliceIdOrBuilder() { - return sliceId_ == null ? context.ContextOuterClass.SliceId.getDefaultInstance() : sliceId_; + return getSliceId(); } public static final int CONNECTION_ID_FIELD_NUMBER = 9; @@ -503,7 +656,7 @@ public final class Monitoring { */ @java.lang.Override public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder() { - return connectionId_ == null ? context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_; + return getConnectionId(); } public static final int LINK_ID_FIELD_NUMBER = 10; @@ -533,7 +686,7 @@ public final class Monitoring { */ @java.lang.Override public context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder() { - return linkId_ == null ? context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_; + return getLinkId(); } private byte memoizedIsInitialized = -1; @@ -554,7 +707,7 @@ public final class Monitoring { if (kpiId_ != null) { output.writeMessage(1, getKpiId()); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(kpiDescription_)) { + if (!getKpiDescriptionBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, kpiDescription_); } for (int i = 0; i < kpiIdList_.size(); i++) { @@ -581,7 +734,7 @@ public final class Monitoring { if (linkId_ != null) { output.writeMessage(10, getLinkId()); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -593,7 +746,7 @@ public final class Monitoring { if (kpiId_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getKpiId()); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(kpiDescription_)) { + if (!getKpiDescriptionBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, kpiDescription_); } for (int i = 0; i < kpiIdList_.size(); i++) { @@ -620,7 +773,7 @@ public final class Monitoring { if (linkId_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, getLinkId()); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -682,7 +835,7 @@ public final class Monitoring { if (!getLinkId().equals(other.getLinkId())) return false; } - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -730,7 +883,7 @@ public final class Monitoring { hash = (37 * hash) + LINK_ID_FIELD_NUMBER; hash = (53 * hash) + getLinkId().hashCode(); } - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -824,58 +977,71 @@ public final class Monitoring { // Construct using monitoring.Monitoring.KpiDescriptor.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getKpiIdListFieldBuilder(); + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; - kpiId_ = null; - if (kpiIdBuilder_ != null) { - kpiIdBuilder_.dispose(); + if (kpiIdBuilder_ == null) { + kpiId_ = null; + } else { + kpiId_ = null; kpiIdBuilder_ = null; } kpiDescription_ = ""; if (kpiIdListBuilder_ == null) { kpiIdList_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - kpiIdList_ = null; kpiIdListBuilder_.clear(); } - bitField0_ = (bitField0_ & ~0x00000004); kpiSampleType_ = 0; - deviceId_ = null; - if (deviceIdBuilder_ != null) { - deviceIdBuilder_.dispose(); + if (deviceIdBuilder_ == null) { + deviceId_ = null; + } else { + deviceId_ = null; deviceIdBuilder_ = null; } - endpointId_ = null; - if (endpointIdBuilder_ != null) { - endpointIdBuilder_.dispose(); + if (endpointIdBuilder_ == null) { + endpointId_ = null; + } else { + endpointId_ = null; endpointIdBuilder_ = null; } - serviceId_ = null; - if (serviceIdBuilder_ != null) { - serviceIdBuilder_.dispose(); + if (serviceIdBuilder_ == null) { + serviceId_ = null; + } else { + serviceId_ = null; serviceIdBuilder_ = null; } - sliceId_ = null; - if (sliceIdBuilder_ != null) { - sliceIdBuilder_.dispose(); + if (sliceIdBuilder_ == null) { + sliceId_ = null; + } else { + sliceId_ = null; sliceIdBuilder_ = null; } - connectionId_ = null; - if (connectionIdBuilder_ != null) { - connectionIdBuilder_.dispose(); + if (connectionIdBuilder_ == null) { + connectionId_ = null; + } else { + connectionId_ = null; connectionIdBuilder_ = null; } - linkId_ = null; - if (linkIdBuilder_ != null) { - linkIdBuilder_.dispose(); + if (linkIdBuilder_ == null) { + linkId_ = null; + } else { + linkId_ = null; linkIdBuilder_ = null; } return this; @@ -903,55 +1069,85 @@ public final class Monitoring { @java.lang.Override public monitoring.Monitoring.KpiDescriptor buildPartial() { monitoring.Monitoring.KpiDescriptor result = new monitoring.Monitoring.KpiDescriptor(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { - buildPartial0(result); + int from_bitField0_ = bitField0_; + if (kpiIdBuilder_ == null) { + result.kpiId_ = kpiId_; + } else { + result.kpiId_ = kpiIdBuilder_.build(); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(monitoring.Monitoring.KpiDescriptor result) { + result.kpiDescription_ = kpiDescription_; if (kpiIdListBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { + if (((bitField0_ & 0x00000001) != 0)) { kpiIdList_ = java.util.Collections.unmodifiableList(kpiIdList_); - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); } result.kpiIdList_ = kpiIdList_; } else { result.kpiIdList_ = kpiIdListBuilder_.build(); } - } - - private void buildPartial0(monitoring.Monitoring.KpiDescriptor result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.kpiId_ = kpiIdBuilder_ == null ? kpiId_ : kpiIdBuilder_.build(); - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.kpiDescription_ = kpiDescription_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.kpiSampleType_ = kpiSampleType_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - result.deviceId_ = deviceIdBuilder_ == null ? deviceId_ : deviceIdBuilder_.build(); + result.kpiSampleType_ = kpiSampleType_; + if (deviceIdBuilder_ == null) { + result.deviceId_ = deviceId_; + } else { + result.deviceId_ = deviceIdBuilder_.build(); } - if (((from_bitField0_ & 0x00000020) != 0)) { - result.endpointId_ = endpointIdBuilder_ == null ? endpointId_ : endpointIdBuilder_.build(); + if (endpointIdBuilder_ == null) { + result.endpointId_ = endpointId_; + } else { + result.endpointId_ = endpointIdBuilder_.build(); } - if (((from_bitField0_ & 0x00000040) != 0)) { - result.serviceId_ = serviceIdBuilder_ == null ? serviceId_ : serviceIdBuilder_.build(); + if (serviceIdBuilder_ == null) { + result.serviceId_ = serviceId_; + } else { + result.serviceId_ = serviceIdBuilder_.build(); } - if (((from_bitField0_ & 0x00000080) != 0)) { - result.sliceId_ = sliceIdBuilder_ == null ? sliceId_ : sliceIdBuilder_.build(); + if (sliceIdBuilder_ == null) { + result.sliceId_ = sliceId_; + } else { + result.sliceId_ = sliceIdBuilder_.build(); } - if (((from_bitField0_ & 0x00000100) != 0)) { - result.connectionId_ = connectionIdBuilder_ == null ? connectionId_ : connectionIdBuilder_.build(); + if (connectionIdBuilder_ == null) { + result.connectionId_ = connectionId_; + } else { + result.connectionId_ = connectionIdBuilder_.build(); } - if (((from_bitField0_ & 0x00000200) != 0)) { - result.linkId_ = linkIdBuilder_ == null ? linkId_ : linkIdBuilder_.build(); + if (linkIdBuilder_ == null) { + result.linkId_ = linkId_; + } else { + result.linkId_ = linkIdBuilder_.build(); } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -972,14 +1168,13 @@ public final class Monitoring { } if (!other.getKpiDescription().isEmpty()) { kpiDescription_ = other.kpiDescription_; - bitField0_ |= 0x00000002; onChanged(); } if (kpiIdListBuilder_ == null) { if (!other.kpiIdList_.isEmpty()) { if (kpiIdList_.isEmpty()) { kpiIdList_ = other.kpiIdList_; - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); } else { ensureKpiIdListIsMutable(); kpiIdList_.addAll(other.kpiIdList_); @@ -992,7 +1187,7 @@ public final class Monitoring { kpiIdListBuilder_.dispose(); kpiIdListBuilder_ = null; kpiIdList_ = other.kpiIdList_; - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); kpiIdListBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getKpiIdListFieldBuilder() : null; } else { kpiIdListBuilder_.addAllMessages(other.kpiIdList_); @@ -1020,7 +1215,7 @@ public final class Monitoring { if (other.hasLinkId()) { mergeLinkId(other.getLinkId()); } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -1032,110 +1227,17 @@ public final class Monitoring { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + monitoring.Monitoring.KpiDescriptor parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - input.readMessage(getKpiIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000001; - break; - } - // case 10 - case 18: - { - kpiDescription_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } - // case 18 - case 26: - { - monitoring.Monitoring.KpiId m = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry); - if (kpiIdListBuilder_ == null) { - ensureKpiIdListIsMutable(); - kpiIdList_.add(m); - } else { - kpiIdListBuilder_.addMessage(m); - } - break; - } - // case 26 - case 32: - { - kpiSampleType_ = input.readEnum(); - bitField0_ |= 0x00000008; - break; - } - // case 32 - case 42: - { - input.readMessage(getDeviceIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000010; - break; - } - // case 42 - case 50: - { - input.readMessage(getEndpointIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000020; - break; - } - // case 50 - case 58: - { - input.readMessage(getServiceIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000040; - break; - } - // case 58 - case 66: - { - input.readMessage(getSliceIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000080; - break; - } - // case 66 - case 74: - { - input.readMessage(getConnectionIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000100; - break; - } - // case 74 - case 82: - { - input.readMessage(getLinkIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000200; - break; - } - // case 82 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (monitoring.Monitoring.KpiDescriptor) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } @@ -1150,7 +1252,7 @@ public final class Monitoring { * @return Whether the kpiId field is set. */ public boolean hasKpiId() { - return ((bitField0_ & 0x00000001) != 0); + return kpiIdBuilder_ != null || kpiId_ != null; } /** @@ -1174,11 +1276,10 @@ public final class Monitoring { throw new NullPointerException(); } kpiId_ = value; + onChanged(); } else { kpiIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -1188,11 +1289,10 @@ public final class Monitoring { public Builder setKpiId(monitoring.Monitoring.KpiId.Builder builderForValue) { if (kpiIdBuilder_ == null) { kpiId_ = builderForValue.build(); + onChanged(); } else { kpiIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -1201,16 +1301,15 @@ public final class Monitoring { */ public Builder mergeKpiId(monitoring.Monitoring.KpiId value) { if (kpiIdBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0) && kpiId_ != null && kpiId_ != monitoring.Monitoring.KpiId.getDefaultInstance()) { - getKpiIdBuilder().mergeFrom(value); + if (kpiId_ != null) { + kpiId_ = monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial(); } else { kpiId_ = value; } + onChanged(); } else { kpiIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -1218,13 +1317,13 @@ public final class Monitoring { * .monitoring.KpiId kpi_id = 1; */ public Builder clearKpiId() { - bitField0_ = (bitField0_ & ~0x00000001); - kpiId_ = null; - if (kpiIdBuilder_ != null) { - kpiIdBuilder_.dispose(); + if (kpiIdBuilder_ == null) { + kpiId_ = null; + onChanged(); + } else { + kpiId_ = null; kpiIdBuilder_ = null; } - onChanged(); return this; } @@ -1232,7 +1331,6 @@ public final class Monitoring { * .monitoring.KpiId kpi_id = 1; */ public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() { - bitField0_ |= 0x00000001; onChanged(); return getKpiIdFieldBuilder().getBuilder(); } @@ -1302,7 +1400,6 @@ public final class Monitoring { throw new NullPointerException(); } kpiDescription_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -1313,7 +1410,6 @@ public final class Monitoring { */ public Builder clearKpiDescription() { kpiDescription_ = getDefaultInstance().getKpiDescription(); - bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } @@ -1329,7 +1425,6 @@ public final class Monitoring { } checkByteStringIsUtf8(value); kpiDescription_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -1337,9 +1432,9 @@ public final class Monitoring { private java.util.List kpiIdList_ = java.util.Collections.emptyList(); private void ensureKpiIdListIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { + if (!((bitField0_ & 0x00000001) != 0)) { kpiIdList_ = new java.util.ArrayList(kpiIdList_); - bitField0_ |= 0x00000004; + bitField0_ |= 0x00000001; } } @@ -1491,7 +1586,7 @@ public final class Monitoring { public Builder clearKpiIdList() { if (kpiIdListBuilder_ == null) { kpiIdList_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { kpiIdListBuilder_.clear(); @@ -1565,7 +1660,7 @@ public final class Monitoring { private com.google.protobuf.RepeatedFieldBuilderV3 getKpiIdListFieldBuilder() { if (kpiIdListBuilder_ == null) { - kpiIdListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(kpiIdList_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean()); + kpiIdListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(kpiIdList_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); kpiIdList_ = null; } return kpiIdListBuilder_; @@ -1589,7 +1684,6 @@ public final class Monitoring { */ public Builder setKpiSampleTypeValue(int value) { kpiSampleType_ = value; - bitField0_ |= 0x00000008; onChanged(); return this; } @@ -1600,7 +1694,8 @@ public final class Monitoring { */ @java.lang.Override public kpi_sample_types.KpiSampleTypes.KpiSampleType getKpiSampleType() { - kpi_sample_types.KpiSampleTypes.KpiSampleType result = kpi_sample_types.KpiSampleTypes.KpiSampleType.forNumber(kpiSampleType_); + @SuppressWarnings("deprecation") + kpi_sample_types.KpiSampleTypes.KpiSampleType result = kpi_sample_types.KpiSampleTypes.KpiSampleType.valueOf(kpiSampleType_); return result == null ? kpi_sample_types.KpiSampleTypes.KpiSampleType.UNRECOGNIZED : result; } @@ -1613,7 +1708,6 @@ public final class Monitoring { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000008; kpiSampleType_ = value.getNumber(); onChanged(); return this; @@ -1624,7 +1718,6 @@ public final class Monitoring { * @return This builder for chaining. */ public Builder clearKpiSampleType() { - bitField0_ = (bitField0_ & ~0x00000008); kpiSampleType_ = 0; onChanged(); return this; @@ -1639,7 +1732,7 @@ public final class Monitoring { * @return Whether the deviceId field is set. */ public boolean hasDeviceId() { - return ((bitField0_ & 0x00000010) != 0); + return deviceIdBuilder_ != null || deviceId_ != null; } /** @@ -1663,11 +1756,10 @@ public final class Monitoring { throw new NullPointerException(); } deviceId_ = value; + onChanged(); } else { deviceIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000010; - onChanged(); return this; } @@ -1677,11 +1769,10 @@ public final class Monitoring { public Builder setDeviceId(context.ContextOuterClass.DeviceId.Builder builderForValue) { if (deviceIdBuilder_ == null) { deviceId_ = builderForValue.build(); + onChanged(); } else { deviceIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000010; - onChanged(); return this; } @@ -1690,16 +1781,15 @@ public final class Monitoring { */ public Builder mergeDeviceId(context.ContextOuterClass.DeviceId value) { if (deviceIdBuilder_ == null) { - if (((bitField0_ & 0x00000010) != 0) && deviceId_ != null && deviceId_ != context.ContextOuterClass.DeviceId.getDefaultInstance()) { - getDeviceIdBuilder().mergeFrom(value); + if (deviceId_ != null) { + deviceId_ = context.ContextOuterClass.DeviceId.newBuilder(deviceId_).mergeFrom(value).buildPartial(); } else { deviceId_ = value; } + onChanged(); } else { deviceIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000010; - onChanged(); return this; } @@ -1707,13 +1797,13 @@ public final class Monitoring { * .context.DeviceId device_id = 5; */ public Builder clearDeviceId() { - bitField0_ = (bitField0_ & ~0x00000010); - deviceId_ = null; - if (deviceIdBuilder_ != null) { - deviceIdBuilder_.dispose(); + if (deviceIdBuilder_ == null) { + deviceId_ = null; + onChanged(); + } else { + deviceId_ = null; deviceIdBuilder_ = null; } - onChanged(); return this; } @@ -1721,7 +1811,6 @@ public final class Monitoring { * .context.DeviceId device_id = 5; */ public context.ContextOuterClass.DeviceId.Builder getDeviceIdBuilder() { - bitField0_ |= 0x00000010; onChanged(); return getDeviceIdFieldBuilder().getBuilder(); } @@ -1757,7 +1846,7 @@ public final class Monitoring { * @return Whether the endpointId field is set. */ public boolean hasEndpointId() { - return ((bitField0_ & 0x00000020) != 0); + return endpointIdBuilder_ != null || endpointId_ != null; } /** @@ -1781,11 +1870,10 @@ public final class Monitoring { throw new NullPointerException(); } endpointId_ = value; + onChanged(); } else { endpointIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000020; - onChanged(); return this; } @@ -1795,11 +1883,10 @@ public final class Monitoring { public Builder setEndpointId(context.ContextOuterClass.EndPointId.Builder builderForValue) { if (endpointIdBuilder_ == null) { endpointId_ = builderForValue.build(); + onChanged(); } else { endpointIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000020; - onChanged(); return this; } @@ -1808,16 +1895,15 @@ public final class Monitoring { */ public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) { if (endpointIdBuilder_ == null) { - if (((bitField0_ & 0x00000020) != 0) && endpointId_ != null && endpointId_ != context.ContextOuterClass.EndPointId.getDefaultInstance()) { - getEndpointIdBuilder().mergeFrom(value); + if (endpointId_ != null) { + endpointId_ = context.ContextOuterClass.EndPointId.newBuilder(endpointId_).mergeFrom(value).buildPartial(); } else { endpointId_ = value; } + onChanged(); } else { endpointIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000020; - onChanged(); return this; } @@ -1825,13 +1911,13 @@ public final class Monitoring { * .context.EndPointId endpoint_id = 6; */ public Builder clearEndpointId() { - bitField0_ = (bitField0_ & ~0x00000020); - endpointId_ = null; - if (endpointIdBuilder_ != null) { - endpointIdBuilder_.dispose(); + if (endpointIdBuilder_ == null) { + endpointId_ = null; + onChanged(); + } else { + endpointId_ = null; endpointIdBuilder_ = null; } - onChanged(); return this; } @@ -1839,7 +1925,6 @@ public final class Monitoring { * .context.EndPointId endpoint_id = 6; */ public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() { - bitField0_ |= 0x00000020; onChanged(); return getEndpointIdFieldBuilder().getBuilder(); } @@ -1875,7 +1960,7 @@ public final class Monitoring { * @return Whether the serviceId field is set. */ public boolean hasServiceId() { - return ((bitField0_ & 0x00000040) != 0); + return serviceIdBuilder_ != null || serviceId_ != null; } /** @@ -1899,11 +1984,10 @@ public final class Monitoring { throw new NullPointerException(); } serviceId_ = value; + onChanged(); } else { serviceIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000040; - onChanged(); return this; } @@ -1913,11 +1997,10 @@ public final class Monitoring { public Builder setServiceId(context.ContextOuterClass.ServiceId.Builder builderForValue) { if (serviceIdBuilder_ == null) { serviceId_ = builderForValue.build(); + onChanged(); } else { serviceIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000040; - onChanged(); return this; } @@ -1926,16 +2009,15 @@ public final class Monitoring { */ public Builder mergeServiceId(context.ContextOuterClass.ServiceId value) { if (serviceIdBuilder_ == null) { - if (((bitField0_ & 0x00000040) != 0) && serviceId_ != null && serviceId_ != context.ContextOuterClass.ServiceId.getDefaultInstance()) { - getServiceIdBuilder().mergeFrom(value); + if (serviceId_ != null) { + serviceId_ = context.ContextOuterClass.ServiceId.newBuilder(serviceId_).mergeFrom(value).buildPartial(); } else { serviceId_ = value; } + onChanged(); } else { serviceIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000040; - onChanged(); return this; } @@ -1943,13 +2025,13 @@ public final class Monitoring { * .context.ServiceId service_id = 7; */ public Builder clearServiceId() { - bitField0_ = (bitField0_ & ~0x00000040); - serviceId_ = null; - if (serviceIdBuilder_ != null) { - serviceIdBuilder_.dispose(); + if (serviceIdBuilder_ == null) { + serviceId_ = null; + onChanged(); + } else { + serviceId_ = null; serviceIdBuilder_ = null; } - onChanged(); return this; } @@ -1957,7 +2039,6 @@ public final class Monitoring { * .context.ServiceId service_id = 7; */ public context.ContextOuterClass.ServiceId.Builder getServiceIdBuilder() { - bitField0_ |= 0x00000040; onChanged(); return getServiceIdFieldBuilder().getBuilder(); } @@ -1993,7 +2074,7 @@ public final class Monitoring { * @return Whether the sliceId field is set. */ public boolean hasSliceId() { - return ((bitField0_ & 0x00000080) != 0); + return sliceIdBuilder_ != null || sliceId_ != null; } /** @@ -2017,11 +2098,10 @@ public final class Monitoring { throw new NullPointerException(); } sliceId_ = value; + onChanged(); } else { sliceIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000080; - onChanged(); return this; } @@ -2031,11 +2111,10 @@ public final class Monitoring { public Builder setSliceId(context.ContextOuterClass.SliceId.Builder builderForValue) { if (sliceIdBuilder_ == null) { sliceId_ = builderForValue.build(); + onChanged(); } else { sliceIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000080; - onChanged(); return this; } @@ -2044,16 +2123,15 @@ public final class Monitoring { */ public Builder mergeSliceId(context.ContextOuterClass.SliceId value) { if (sliceIdBuilder_ == null) { - if (((bitField0_ & 0x00000080) != 0) && sliceId_ != null && sliceId_ != context.ContextOuterClass.SliceId.getDefaultInstance()) { - getSliceIdBuilder().mergeFrom(value); + if (sliceId_ != null) { + sliceId_ = context.ContextOuterClass.SliceId.newBuilder(sliceId_).mergeFrom(value).buildPartial(); } else { sliceId_ = value; } + onChanged(); } else { sliceIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000080; - onChanged(); return this; } @@ -2061,13 +2139,13 @@ public final class Monitoring { * .context.SliceId slice_id = 8; */ public Builder clearSliceId() { - bitField0_ = (bitField0_ & ~0x00000080); - sliceId_ = null; - if (sliceIdBuilder_ != null) { - sliceIdBuilder_.dispose(); + if (sliceIdBuilder_ == null) { + sliceId_ = null; + onChanged(); + } else { + sliceId_ = null; sliceIdBuilder_ = null; } - onChanged(); return this; } @@ -2075,7 +2153,6 @@ public final class Monitoring { * .context.SliceId slice_id = 8; */ public context.ContextOuterClass.SliceId.Builder getSliceIdBuilder() { - bitField0_ |= 0x00000080; onChanged(); return getSliceIdFieldBuilder().getBuilder(); } @@ -2111,7 +2188,7 @@ public final class Monitoring { * @return Whether the connectionId field is set. */ public boolean hasConnectionId() { - return ((bitField0_ & 0x00000100) != 0); + return connectionIdBuilder_ != null || connectionId_ != null; } /** @@ -2135,11 +2212,10 @@ public final class Monitoring { throw new NullPointerException(); } connectionId_ = value; + onChanged(); } else { connectionIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000100; - onChanged(); return this; } @@ -2149,11 +2225,10 @@ public final class Monitoring { public Builder setConnectionId(context.ContextOuterClass.ConnectionId.Builder builderForValue) { if (connectionIdBuilder_ == null) { connectionId_ = builderForValue.build(); + onChanged(); } else { connectionIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000100; - onChanged(); return this; } @@ -2162,16 +2237,15 @@ public final class Monitoring { */ public Builder mergeConnectionId(context.ContextOuterClass.ConnectionId value) { if (connectionIdBuilder_ == null) { - if (((bitField0_ & 0x00000100) != 0) && connectionId_ != null && connectionId_ != context.ContextOuterClass.ConnectionId.getDefaultInstance()) { - getConnectionIdBuilder().mergeFrom(value); + if (connectionId_ != null) { + connectionId_ = context.ContextOuterClass.ConnectionId.newBuilder(connectionId_).mergeFrom(value).buildPartial(); } else { connectionId_ = value; } + onChanged(); } else { connectionIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000100; - onChanged(); return this; } @@ -2179,13 +2253,13 @@ public final class Monitoring { * .context.ConnectionId connection_id = 9; */ public Builder clearConnectionId() { - bitField0_ = (bitField0_ & ~0x00000100); - connectionId_ = null; - if (connectionIdBuilder_ != null) { - connectionIdBuilder_.dispose(); + if (connectionIdBuilder_ == null) { + connectionId_ = null; + onChanged(); + } else { + connectionId_ = null; connectionIdBuilder_ = null; } - onChanged(); return this; } @@ -2193,7 +2267,6 @@ public final class Monitoring { * .context.ConnectionId connection_id = 9; */ public context.ContextOuterClass.ConnectionId.Builder getConnectionIdBuilder() { - bitField0_ |= 0x00000100; onChanged(); return getConnectionIdFieldBuilder().getBuilder(); } @@ -2229,7 +2302,7 @@ public final class Monitoring { * @return Whether the linkId field is set. */ public boolean hasLinkId() { - return ((bitField0_ & 0x00000200) != 0); + return linkIdBuilder_ != null || linkId_ != null; } /** @@ -2253,11 +2326,10 @@ public final class Monitoring { throw new NullPointerException(); } linkId_ = value; + onChanged(); } else { linkIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000200; - onChanged(); return this; } @@ -2267,11 +2339,10 @@ public final class Monitoring { public Builder setLinkId(context.ContextOuterClass.LinkId.Builder builderForValue) { if (linkIdBuilder_ == null) { linkId_ = builderForValue.build(); + onChanged(); } else { linkIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000200; - onChanged(); return this; } @@ -2280,16 +2351,15 @@ public final class Monitoring { */ public Builder mergeLinkId(context.ContextOuterClass.LinkId value) { if (linkIdBuilder_ == null) { - if (((bitField0_ & 0x00000200) != 0) && linkId_ != null && linkId_ != context.ContextOuterClass.LinkId.getDefaultInstance()) { - getLinkIdBuilder().mergeFrom(value); + if (linkId_ != null) { + linkId_ = context.ContextOuterClass.LinkId.newBuilder(linkId_).mergeFrom(value).buildPartial(); } else { linkId_ = value; } + onChanged(); } else { linkIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000200; - onChanged(); return this; } @@ -2297,13 +2367,13 @@ public final class Monitoring { * .context.LinkId link_id = 10; */ public Builder clearLinkId() { - bitField0_ = (bitField0_ & ~0x00000200); - linkId_ = null; - if (linkIdBuilder_ != null) { - linkIdBuilder_.dispose(); + if (linkIdBuilder_ == null) { + linkId_ = null; + onChanged(); + } else { + linkId_ = null; linkIdBuilder_ = null; } - onChanged(); return this; } @@ -2311,7 +2381,6 @@ public final class Monitoring { * .context.LinkId link_id = 10; */ public context.ContextOuterClass.LinkId.Builder getLinkIdBuilder() { - bitField0_ |= 0x00000200; onChanged(); return getLinkIdFieldBuilder().getBuilder(); } @@ -2365,17 +2434,7 @@ public final class Monitoring { @java.lang.Override public KpiDescriptor parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new KpiDescriptor(input, extensionRegistry); } }; @@ -2453,17 +2512,78 @@ public final class Monitoring { return new MonitorKpiRequest(); } - public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return monitoring.Monitoring.internal_static_monitoring_MonitorKpiRequest_descriptor; - } - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return monitoring.Monitoring.internal_static_monitoring_MonitorKpiRequest_fieldAccessorTable.ensureFieldAccessorsInitialized(monitoring.Monitoring.MonitorKpiRequest.class, monitoring.Monitoring.MonitorKpiRequest.Builder.class); + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; } - public static final int KPI_ID_FIELD_NUMBER = 1; - + private MonitorKpiRequest(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + monitoring.Monitoring.KpiId.Builder subBuilder = null; + if (kpiId_ != null) { + subBuilder = kpiId_.toBuilder(); + } + kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiId_); + kpiId_ = subBuilder.buildPartial(); + } + break; + } + case 21: + { + monitoringWindowS_ = input.readFloat(); + break; + } + case 29: + { + samplingRateS_ = input.readFloat(); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_MonitorKpiRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_MonitorKpiRequest_fieldAccessorTable.ensureFieldAccessorsInitialized(monitoring.Monitoring.MonitorKpiRequest.class, monitoring.Monitoring.MonitorKpiRequest.Builder.class); + } + + public static final int KPI_ID_FIELD_NUMBER = 1; + private monitoring.Monitoring.KpiId kpiId_; /** @@ -2489,12 +2609,12 @@ public final class Monitoring { */ @java.lang.Override public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { - return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + return getKpiId(); } public static final int MONITORING_WINDOW_S_FIELD_NUMBER = 2; - private float monitoringWindowS_ = 0F; + private float monitoringWindowS_; /** * float monitoring_window_s = 2; @@ -2507,7 +2627,7 @@ public final class Monitoring { public static final int SAMPLING_RATE_S_FIELD_NUMBER = 3; - private float samplingRateS_ = 0F; + private float samplingRateS_; /** *
@@ -2540,13 +2660,13 @@ public final class Monitoring {
             if (kpiId_ != null) {
                 output.writeMessage(1, getKpiId());
             }
-            if (java.lang.Float.floatToRawIntBits(monitoringWindowS_) != 0) {
+            if (monitoringWindowS_ != 0F) {
                 output.writeFloat(2, monitoringWindowS_);
             }
-            if (java.lang.Float.floatToRawIntBits(samplingRateS_) != 0) {
+            if (samplingRateS_ != 0F) {
                 output.writeFloat(3, samplingRateS_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -2558,13 +2678,13 @@ public final class Monitoring {
             if (kpiId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getKpiId());
             }
-            if (java.lang.Float.floatToRawIntBits(monitoringWindowS_) != 0) {
+            if (monitoringWindowS_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(2, monitoringWindowS_);
             }
-            if (java.lang.Float.floatToRawIntBits(samplingRateS_) != 0) {
+            if (samplingRateS_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(3, samplingRateS_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -2588,7 +2708,7 @@ public final class Monitoring {
                 return false;
             if (java.lang.Float.floatToIntBits(getSamplingRateS()) != java.lang.Float.floatToIntBits(other.getSamplingRateS()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -2608,7 +2728,7 @@ public final class Monitoring {
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getMonitoringWindowS());
             hash = (37 * hash) + SAMPLING_RATE_S_FIELD_NUMBER;
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getSamplingRateS());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -2702,19 +2822,26 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.MonitorKpiRequest.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
                 monitoringWindowS_ = 0F;
@@ -2744,24 +2871,45 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.MonitorKpiRequest buildPartial() {
                 monitoring.Monitoring.MonitorKpiRequest result = new monitoring.Monitoring.MonitorKpiRequest(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (kpiIdBuilder_ == null) {
+                    result.kpiId_ = kpiId_;
+                } else {
+                    result.kpiId_ = kpiIdBuilder_.build();
                 }
+                result.monitoringWindowS_ = monitoringWindowS_;
+                result.samplingRateS_ = samplingRateS_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.MonitorKpiRequest result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.kpiId_ = kpiIdBuilder_ == null ? kpiId_ : kpiIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.monitoringWindowS_ = monitoringWindowS_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.samplingRateS_ = samplingRateS_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -2786,7 +2934,7 @@ public final class Monitoring {
                 if (other.getSamplingRateS() != 0F) {
                     setSamplingRateS(other.getSamplingRateS());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -2798,61 +2946,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.MonitorKpiRequest parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getKpiIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 21:
-                                {
-                                    monitoringWindowS_ = input.readFloat();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 21
-                            case 29:
-                                {
-                                    samplingRateS_ = input.readFloat();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 29
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.MonitorKpiRequest) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private monitoring.Monitoring.KpiId kpiId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 kpiIdBuilder_;
@@ -2862,7 +2969,7 @@ public final class Monitoring {
              * @return Whether the kpiId field is set.
              */
             public boolean hasKpiId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return kpiIdBuilder_ != null || kpiId_ != null;
             }
 
             /**
@@ -2886,11 +2993,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiId_ = value;
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -2900,11 +3006,10 @@ public final class Monitoring {
             public Builder setKpiId(monitoring.Monitoring.KpiId.Builder builderForValue) {
                 if (kpiIdBuilder_ == null) {
                     kpiId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -2913,16 +3018,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiId(monitoring.Monitoring.KpiId value) {
                 if (kpiIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && kpiId_ != null && kpiId_ != monitoring.Monitoring.KpiId.getDefaultInstance()) {
-                        getKpiIdBuilder().mergeFrom(value);
+                    if (kpiId_ != null) {
+                        kpiId_ = monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial();
                     } else {
                         kpiId_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -2930,13 +3034,13 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 1;
              */
             public Builder clearKpiId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                    onChanged();
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -2944,7 +3048,6 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 1;
              */
             public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getKpiIdFieldBuilder().getBuilder();
             }
@@ -2989,7 +3092,6 @@ public final class Monitoring {
              */
             public Builder setMonitoringWindowS(float value) {
                 monitoringWindowS_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -2999,7 +3101,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearMonitoringWindowS() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 monitoringWindowS_ = 0F;
                 onChanged();
                 return this;
@@ -3031,7 +3132,6 @@ public final class Monitoring {
              */
             public Builder setSamplingRateS(float value) {
                 samplingRateS_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -3045,7 +3145,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearSamplingRateS() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 samplingRateS_ = 0F;
                 onChanged();
                 return this;
@@ -3078,17 +3177,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public MonitorKpiRequest parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new MonitorKpiRequest(input, extensionRegistry);
             }
         };
 
@@ -3233,6 +3322,93 @@ public final class Monitoring {
             return new KpiQuery();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private KpiQuery(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    kpiIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                kpiIds_.add(input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 21:
+                            {
+                                monitoringWindowS_ = input.readFloat();
+                                break;
+                            }
+                        case 24:
+                            {
+                                lastNSamples_ = input.readUInt32();
+                                break;
+                            }
+                        case 34:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (startTimestamp_ != null) {
+                                    subBuilder = startTimestamp_.toBuilder();
+                                }
+                                startTimestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(startTimestamp_);
+                                    startTimestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 42:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (endTimestamp_ != null) {
+                                    subBuilder = endTimestamp_.toBuilder();
+                                }
+                                endTimestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endTimestamp_);
+                                    endTimestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    kpiIds_ = java.util.Collections.unmodifiableList(kpiIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_KpiQuery_descriptor;
         }
@@ -3244,7 +3420,6 @@ public final class Monitoring {
 
         public static final int KPI_IDS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List kpiIds_;
 
         /**
@@ -3289,7 +3464,7 @@ public final class Monitoring {
 
         public static final int MONITORING_WINDOW_S_FIELD_NUMBER = 2;
 
-        private float monitoringWindowS_ = 0F;
+        private float monitoringWindowS_;
 
         /**
          * float monitoring_window_s = 2;
@@ -3302,7 +3477,7 @@ public final class Monitoring {
 
         public static final int LAST_N_SAMPLES_FIELD_NUMBER = 3;
 
-        private int lastNSamples_ = 0;
+        private int lastNSamples_;
 
         /**
          * 
@@ -3356,7 +3531,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getStartTimestampOrBuilder() {
-            return startTimestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : startTimestamp_;
+            return getStartTimestamp();
         }
 
         public static final int END_TIMESTAMP_FIELD_NUMBER = 5;
@@ -3398,7 +3573,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getEndTimestampOrBuilder() {
-            return endTimestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : endTimestamp_;
+            return getEndTimestamp();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -3419,7 +3594,7 @@ public final class Monitoring {
             for (int i = 0; i < kpiIds_.size(); i++) {
                 output.writeMessage(1, kpiIds_.get(i));
             }
-            if (java.lang.Float.floatToRawIntBits(monitoringWindowS_) != 0) {
+            if (monitoringWindowS_ != 0F) {
                 output.writeFloat(2, monitoringWindowS_);
             }
             if (lastNSamples_ != 0) {
@@ -3431,7 +3606,7 @@ public final class Monitoring {
             if (endTimestamp_ != null) {
                 output.writeMessage(5, getEndTimestamp());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -3443,7 +3618,7 @@ public final class Monitoring {
             for (int i = 0; i < kpiIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, kpiIds_.get(i));
             }
-            if (java.lang.Float.floatToRawIntBits(monitoringWindowS_) != 0) {
+            if (monitoringWindowS_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(2, monitoringWindowS_);
             }
             if (lastNSamples_ != 0) {
@@ -3455,7 +3630,7 @@ public final class Monitoring {
             if (endTimestamp_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getEndTimestamp());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -3487,7 +3662,7 @@ public final class Monitoring {
                 if (!getEndTimestamp().equals(other.getEndTimestamp()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -3515,7 +3690,7 @@ public final class Monitoring {
                 hash = (37 * hash) + END_TIMESTAMP_FIELD_NUMBER;
                 hash = (53 * hash) + getEndTimestamp().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -3609,33 +3784,41 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.KpiQuery.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getKpiIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (kpiIdsBuilder_ == null) {
                     kpiIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    kpiIds_ = null;
                     kpiIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 monitoringWindowS_ = 0F;
                 lastNSamples_ = 0;
-                startTimestamp_ = null;
-                if (startTimestampBuilder_ != null) {
-                    startTimestampBuilder_.dispose();
+                if (startTimestampBuilder_ == null) {
+                    startTimestamp_ = null;
+                } else {
+                    startTimestamp_ = null;
                     startTimestampBuilder_ = null;
                 }
-                endTimestamp_ = null;
-                if (endTimestampBuilder_ != null) {
-                    endTimestampBuilder_.dispose();
+                if (endTimestampBuilder_ == null) {
+                    endTimestamp_ = null;
+                } else {
+                    endTimestamp_ = null;
                     endTimestampBuilder_ = null;
                 }
                 return this;
@@ -3663,15 +3846,7 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.KpiQuery buildPartial() {
                 monitoring.Monitoring.KpiQuery result = new monitoring.Monitoring.KpiQuery(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(monitoring.Monitoring.KpiQuery result) {
+                int from_bitField0_ = bitField0_;
                 if (kpiIdsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         kpiIds_ = java.util.Collections.unmodifiableList(kpiIds_);
@@ -3681,22 +3856,50 @@ public final class Monitoring {
                 } else {
                     result.kpiIds_ = kpiIdsBuilder_.build();
                 }
-            }
-
-            private void buildPartial0(monitoring.Monitoring.KpiQuery result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.monitoringWindowS_ = monitoringWindowS_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.lastNSamples_ = lastNSamples_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.startTimestamp_ = startTimestampBuilder_ == null ? startTimestamp_ : startTimestampBuilder_.build();
+                result.monitoringWindowS_ = monitoringWindowS_;
+                result.lastNSamples_ = lastNSamples_;
+                if (startTimestampBuilder_ == null) {
+                    result.startTimestamp_ = startTimestamp_;
+                } else {
+                    result.startTimestamp_ = startTimestampBuilder_.build();
                 }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.endTimestamp_ = endTimestampBuilder_ == null ? endTimestamp_ : endTimestampBuilder_.build();
+                if (endTimestampBuilder_ == null) {
+                    result.endTimestamp_ = endTimestamp_;
+                } else {
+                    result.endTimestamp_ = endTimestampBuilder_.build();
                 }
+                onBuilt();
+                return result;
+            }
+
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -3748,7 +3951,7 @@ public final class Monitoring {
                 if (other.hasEndTimestamp()) {
                     mergeEndTimestamp(other.getEndTimestamp());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -3760,75 +3963,17 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.KpiQuery parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    monitoring.Monitoring.KpiId m = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry);
-                                    if (kpiIdsBuilder_ == null) {
-                                        ensureKpiIdsIsMutable();
-                                        kpiIds_.add(m);
-                                    } else {
-                                        kpiIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            case 21:
-                                {
-                                    monitoringWindowS_ = input.readFloat();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 21
-                            case 24:
-                                {
-                                    lastNSamples_ = input.readUInt32();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 34:
-                                {
-                                    input.readMessage(getStartTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    input.readMessage(getEndTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 42
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.KpiQuery) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -4089,7 +4234,6 @@ public final class Monitoring {
              */
             public Builder setMonitoringWindowS(float value) {
                 monitoringWindowS_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -4099,7 +4243,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearMonitoringWindowS() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 monitoringWindowS_ = 0F;
                 onChanged();
                 return this;
@@ -4131,7 +4274,6 @@ public final class Monitoring {
              */
             public Builder setLastNSamples(int value) {
                 lastNSamples_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -4145,7 +4287,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearLastNSamples() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 lastNSamples_ = 0;
                 onChanged();
                 return this;
@@ -4164,7 +4305,7 @@ public final class Monitoring {
              * @return Whether the startTimestamp field is set.
              */
             public boolean hasStartTimestamp() {
-                return ((bitField0_ & 0x00000008) != 0);
+                return startTimestampBuilder_ != null || startTimestamp_ != null;
             }
 
             /**
@@ -4196,11 +4337,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     startTimestamp_ = value;
+                    onChanged();
                 } else {
                     startTimestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -4214,11 +4354,10 @@ public final class Monitoring {
             public Builder setStartTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (startTimestampBuilder_ == null) {
                     startTimestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     startTimestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -4231,16 +4370,15 @@ public final class Monitoring {
              */
             public Builder mergeStartTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (startTimestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0) && startTimestamp_ != null && startTimestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getStartTimestampBuilder().mergeFrom(value);
+                    if (startTimestamp_ != null) {
+                        startTimestamp_ = context.ContextOuterClass.Timestamp.newBuilder(startTimestamp_).mergeFrom(value).buildPartial();
                     } else {
                         startTimestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     startTimestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -4252,13 +4390,13 @@ public final class Monitoring {
              * .context.Timestamp start_timestamp = 4;
              */
             public Builder clearStartTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000008);
-                startTimestamp_ = null;
-                if (startTimestampBuilder_ != null) {
-                    startTimestampBuilder_.dispose();
+                if (startTimestampBuilder_ == null) {
+                    startTimestamp_ = null;
+                    onChanged();
+                } else {
+                    startTimestamp_ = null;
                     startTimestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -4270,7 +4408,6 @@ public final class Monitoring {
              * .context.Timestamp start_timestamp = 4;
              */
             public context.ContextOuterClass.Timestamp.Builder getStartTimestampBuilder() {
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return getStartTimestampFieldBuilder().getBuilder();
             }
@@ -4318,7 +4455,7 @@ public final class Monitoring {
              * @return Whether the endTimestamp field is set.
              */
             public boolean hasEndTimestamp() {
-                return ((bitField0_ & 0x00000010) != 0);
+                return endTimestampBuilder_ != null || endTimestamp_ != null;
             }
 
             /**
@@ -4350,11 +4487,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     endTimestamp_ = value;
+                    onChanged();
                 } else {
                     endTimestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -4368,11 +4504,10 @@ public final class Monitoring {
             public Builder setEndTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (endTimestampBuilder_ == null) {
                     endTimestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endTimestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -4385,16 +4520,15 @@ public final class Monitoring {
              */
             public Builder mergeEndTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (endTimestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000010) != 0) && endTimestamp_ != null && endTimestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getEndTimestampBuilder().mergeFrom(value);
+                    if (endTimestamp_ != null) {
+                        endTimestamp_ = context.ContextOuterClass.Timestamp.newBuilder(endTimestamp_).mergeFrom(value).buildPartial();
                     } else {
                         endTimestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     endTimestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -4406,13 +4540,13 @@ public final class Monitoring {
              * .context.Timestamp end_timestamp = 5;
              */
             public Builder clearEndTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000010);
-                endTimestamp_ = null;
-                if (endTimestampBuilder_ != null) {
-                    endTimestampBuilder_.dispose();
+                if (endTimestampBuilder_ == null) {
+                    endTimestamp_ = null;
+                    onChanged();
+                } else {
+                    endTimestamp_ = null;
                     endTimestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -4424,7 +4558,6 @@ public final class Monitoring {
              * .context.Timestamp end_timestamp = 5;
              */
             public context.ContextOuterClass.Timestamp.Builder getEndTimestampBuilder() {
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return getEndTimestampFieldBuilder().getBuilder();
             }
@@ -4486,17 +4619,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public KpiQuery parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new KpiQuery(input, extensionRegistry);
             }
         };
 
@@ -4579,6 +4702,70 @@ public final class Monitoring {
             return new RawKpi();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private RawKpi(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (timestamp_ != null) {
+                                    subBuilder = timestamp_.toBuilder();
+                                }
+                                timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(timestamp_);
+                                    timestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                monitoring.Monitoring.KpiValue.Builder subBuilder = null;
+                                if (kpiValue_ != null) {
+                                    subBuilder = kpiValue_.toBuilder();
+                                }
+                                kpiValue_ = input.readMessage(monitoring.Monitoring.KpiValue.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiValue_);
+                                    kpiValue_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_RawKpi_descriptor;
         }
@@ -4615,7 +4802,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() {
-            return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_;
+            return getTimestamp();
         }
 
         public static final int KPI_VALUE_FIELD_NUMBER = 2;
@@ -4645,7 +4832,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiValueOrBuilder getKpiValueOrBuilder() {
-            return kpiValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiValue_;
+            return getKpiValue();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -4669,7 +4856,7 @@ public final class Monitoring {
             if (kpiValue_ != null) {
                 output.writeMessage(2, getKpiValue());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -4684,7 +4871,7 @@ public final class Monitoring {
             if (kpiValue_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getKpiValue());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -4710,7 +4897,7 @@ public final class Monitoring {
                 if (!getKpiValue().equals(other.getKpiValue()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -4730,7 +4917,7 @@ public final class Monitoring {
                 hash = (37 * hash) + KPI_VALUE_FIELD_NUMBER;
                 hash = (53 * hash) + getKpiValue().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -4828,24 +5015,32 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.RawKpi.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
-                kpiValue_ = null;
-                if (kpiValueBuilder_ != null) {
-                    kpiValueBuilder_.dispose();
+                if (kpiValueBuilder_ == null) {
+                    kpiValue_ = null;
+                } else {
+                    kpiValue_ = null;
                     kpiValueBuilder_ = null;
                 }
                 return this;
@@ -4873,43 +5068,70 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.RawKpi buildPartial() {
                 monitoring.Monitoring.RawKpi result = new monitoring.Monitoring.RawKpi(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (timestampBuilder_ == null) {
+                    result.timestamp_ = timestamp_;
+                } else {
+                    result.timestamp_ = timestampBuilder_.build();
+                }
+                if (kpiValueBuilder_ == null) {
+                    result.kpiValue_ = kpiValue_;
+                } else {
+                    result.kpiValue_ = kpiValueBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.RawKpi result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.timestamp_ = timestampBuilder_ == null ? timestamp_ : timestampBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.kpiValue_ = kpiValueBuilder_ == null ? kpiValue_ : kpiValueBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
             }
 
             @java.lang.Override
-            public Builder mergeFrom(com.google.protobuf.Message other) {
-                if (other instanceof monitoring.Monitoring.RawKpi) {
-                    return mergeFrom((monitoring.Monitoring.RawKpi) other);
-                } else {
-                    super.mergeFrom(other);
-                    return this;
-                }
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
             }
 
-            public Builder mergeFrom(monitoring.Monitoring.RawKpi other) {
-                if (other == monitoring.Monitoring.RawKpi.getDefaultInstance())
-                    return this;
-                if (other.hasTimestamp()) {
-                    mergeTimestamp(other.getTimestamp());
-                }
-                if (other.hasKpiValue()) {
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder mergeFrom(com.google.protobuf.Message other) {
+                if (other instanceof monitoring.Monitoring.RawKpi) {
+                    return mergeFrom((monitoring.Monitoring.RawKpi) other);
+                } else {
+                    super.mergeFrom(other);
+                    return this;
+                }
+            }
+
+            public Builder mergeFrom(monitoring.Monitoring.RawKpi other) {
+                if (other == monitoring.Monitoring.RawKpi.getDefaultInstance())
+                    return this;
+                if (other.hasTimestamp()) {
+                    mergeTimestamp(other.getTimestamp());
+                }
+                if (other.hasKpiValue()) {
                     mergeKpiValue(other.getKpiValue());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -4921,54 +5143,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.RawKpi parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getKpiValueFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.RawKpi) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Timestamp timestamp_;
 
             private com.google.protobuf.SingleFieldBuilderV3 timestampBuilder_;
@@ -4978,7 +5166,7 @@ public final class Monitoring {
              * @return Whether the timestamp field is set.
              */
             public boolean hasTimestamp() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return timestampBuilder_ != null || timestamp_ != null;
             }
 
             /**
@@ -5002,11 +5190,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     timestamp_ = value;
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -5016,11 +5203,10 @@ public final class Monitoring {
             public Builder setTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (timestampBuilder_ == null) {
                     timestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -5029,16 +5215,15 @@ public final class Monitoring {
              */
             public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (timestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && timestamp_ != null && timestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getTimestampBuilder().mergeFrom(value);
+                    if (timestamp_ != null) {
+                        timestamp_ = context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial();
                     } else {
                         timestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     timestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -5046,13 +5231,13 @@ public final class Monitoring {
              * .context.Timestamp timestamp = 1;
              */
             public Builder clearTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                    onChanged();
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -5060,7 +5245,6 @@ public final class Monitoring {
              * .context.Timestamp timestamp = 1;
              */
             public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getTimestampFieldBuilder().getBuilder();
             }
@@ -5096,7 +5280,7 @@ public final class Monitoring {
              * @return Whether the kpiValue field is set.
              */
             public boolean hasKpiValue() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return kpiValueBuilder_ != null || kpiValue_ != null;
             }
 
             /**
@@ -5120,11 +5304,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiValue_ = value;
+                    onChanged();
                 } else {
                     kpiValueBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -5134,11 +5317,10 @@ public final class Monitoring {
             public Builder setKpiValue(monitoring.Monitoring.KpiValue.Builder builderForValue) {
                 if (kpiValueBuilder_ == null) {
                     kpiValue_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiValueBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -5147,16 +5329,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiValue(monitoring.Monitoring.KpiValue value) {
                 if (kpiValueBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && kpiValue_ != null && kpiValue_ != monitoring.Monitoring.KpiValue.getDefaultInstance()) {
-                        getKpiValueBuilder().mergeFrom(value);
+                    if (kpiValue_ != null) {
+                        kpiValue_ = monitoring.Monitoring.KpiValue.newBuilder(kpiValue_).mergeFrom(value).buildPartial();
                     } else {
                         kpiValue_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiValueBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -5164,13 +5345,13 @@ public final class Monitoring {
              * .monitoring.KpiValue kpi_value = 2;
              */
             public Builder clearKpiValue() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                kpiValue_ = null;
-                if (kpiValueBuilder_ != null) {
-                    kpiValueBuilder_.dispose();
+                if (kpiValueBuilder_ == null) {
+                    kpiValue_ = null;
+                    onChanged();
+                } else {
+                    kpiValue_ = null;
                     kpiValueBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -5178,7 +5359,6 @@ public final class Monitoring {
              * .monitoring.KpiValue kpi_value = 2;
              */
             public monitoring.Monitoring.KpiValue.Builder getKpiValueBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getKpiValueFieldBuilder().getBuilder();
             }
@@ -5232,17 +5412,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public RawKpi parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new RawKpi(input, extensionRegistry);
             }
         };
 
@@ -5334,6 +5504,70 @@ public final class Monitoring {
             return new RawKpiList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private RawKpiList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                monitoring.Monitoring.KpiId.Builder subBuilder = null;
+                                if (kpiId_ != null) {
+                                    subBuilder = kpiId_.toBuilder();
+                                }
+                                kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiId_);
+                                    kpiId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    rawKpis_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                rawKpis_.add(input.readMessage(monitoring.Monitoring.RawKpi.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    rawKpis_ = java.util.Collections.unmodifiableList(rawKpis_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_RawKpiList_descriptor;
         }
@@ -5370,12 +5604,11 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() {
-            return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_;
+            return getKpiId();
         }
 
         public static final int RAW_KPIS_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
         private java.util.List rawKpis_;
 
         /**
@@ -5439,7 +5672,7 @@ public final class Monitoring {
             for (int i = 0; i < rawKpis_.size(); i++) {
                 output.writeMessage(2, rawKpis_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -5454,7 +5687,7 @@ public final class Monitoring {
             for (int i = 0; i < rawKpis_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, rawKpis_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -5476,7 +5709,7 @@ public final class Monitoring {
             }
             if (!getRawKpisList().equals(other.getRawKpisList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -5496,7 +5729,7 @@ public final class Monitoring {
                 hash = (37 * hash) + RAW_KPIS_FIELD_NUMBER;
                 hash = (53 * hash) + getRawKpisList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -5594,28 +5827,35 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.RawKpiList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getRawKpisFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
                 if (rawKpisBuilder_ == null) {
                     rawKpis_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    rawKpis_ = null;
                     rawKpisBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000002);
                 return this;
             }
 
@@ -5641,31 +5881,53 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.RawKpiList buildPartial() {
                 monitoring.Monitoring.RawKpiList result = new monitoring.Monitoring.RawKpiList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (kpiIdBuilder_ == null) {
+                    result.kpiId_ = kpiId_;
+                } else {
+                    result.kpiId_ = kpiIdBuilder_.build();
                 }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(monitoring.Monitoring.RawKpiList result) {
                 if (rawKpisBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         rawKpis_ = java.util.Collections.unmodifiableList(rawKpis_);
-                        bitField0_ = (bitField0_ & ~0x00000002);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.rawKpis_ = rawKpis_;
                 } else {
                     result.rawKpis_ = rawKpisBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.RawKpiList result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.kpiId_ = kpiIdBuilder_ == null ? kpiId_ : kpiIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -5688,7 +5950,7 @@ public final class Monitoring {
                     if (!other.rawKpis_.isEmpty()) {
                         if (rawKpis_.isEmpty()) {
                             rawKpis_ = other.rawKpis_;
-                            bitField0_ = (bitField0_ & ~0x00000002);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureRawKpisIsMutable();
                             rawKpis_.addAll(other.rawKpis_);
@@ -5701,14 +5963,14 @@ public final class Monitoring {
                             rawKpisBuilder_.dispose();
                             rawKpisBuilder_ = null;
                             rawKpis_ = other.rawKpis_;
-                            bitField0_ = (bitField0_ & ~0x00000002);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             rawKpisBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getRawKpisFieldBuilder() : null;
                         } else {
                             rawKpisBuilder_.addAllMessages(other.rawKpis_);
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -5720,54 +5982,17 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.RawKpiList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getKpiIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    monitoring.Monitoring.RawKpi m = input.readMessage(monitoring.Monitoring.RawKpi.parser(), extensionRegistry);
-                                    if (rawKpisBuilder_ == null) {
-                                        ensureRawKpisIsMutable();
-                                        rawKpis_.add(m);
-                                    } else {
-                                        rawKpisBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.RawKpiList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -5782,7 +6007,7 @@ public final class Monitoring {
              * @return Whether the kpiId field is set.
              */
             public boolean hasKpiId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return kpiIdBuilder_ != null || kpiId_ != null;
             }
 
             /**
@@ -5806,11 +6031,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiId_ = value;
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -5820,11 +6044,10 @@ public final class Monitoring {
             public Builder setKpiId(monitoring.Monitoring.KpiId.Builder builderForValue) {
                 if (kpiIdBuilder_ == null) {
                     kpiId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -5833,16 +6056,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiId(monitoring.Monitoring.KpiId value) {
                 if (kpiIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && kpiId_ != null && kpiId_ != monitoring.Monitoring.KpiId.getDefaultInstance()) {
-                        getKpiIdBuilder().mergeFrom(value);
+                    if (kpiId_ != null) {
+                        kpiId_ = monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial();
                     } else {
                         kpiId_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -5850,13 +6072,13 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 1;
              */
             public Builder clearKpiId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                    onChanged();
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -5864,7 +6086,6 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 1;
              */
             public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getKpiIdFieldBuilder().getBuilder();
             }
@@ -5894,9 +6115,9 @@ public final class Monitoring {
             private java.util.List rawKpis_ = java.util.Collections.emptyList();
 
             private void ensureRawKpisIsMutable() {
-                if (!((bitField0_ & 0x00000002) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     rawKpis_ = new java.util.ArrayList(rawKpis_);
-                    bitField0_ |= 0x00000002;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -6048,7 +6269,7 @@ public final class Monitoring {
             public Builder clearRawKpis() {
                 if (rawKpisBuilder_ == null) {
                     rawKpis_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000002);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     rawKpisBuilder_.clear();
@@ -6122,7 +6343,7 @@ public final class Monitoring {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getRawKpisFieldBuilder() {
                 if (rawKpisBuilder_ == null) {
-                    rawKpisBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(rawKpis_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
+                    rawKpisBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(rawKpis_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     rawKpis_ = null;
                 }
                 return rawKpisBuilder_;
@@ -6155,17 +6376,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public RawKpiList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new RawKpiList(input, extensionRegistry);
             }
         };
 
@@ -6240,6 +6451,57 @@ public final class Monitoring {
             return new RawKpiTable();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private RawKpiTable(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    rawKpiLists_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                rawKpiLists_.add(input.readMessage(monitoring.Monitoring.RawKpiList.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    rawKpiLists_ = java.util.Collections.unmodifiableList(rawKpiLists_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_RawKpiTable_descriptor;
         }
@@ -6251,7 +6513,6 @@ public final class Monitoring {
 
         public static final int RAW_KPI_LISTS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List rawKpiLists_;
 
         /**
@@ -6312,7 +6573,7 @@ public final class Monitoring {
             for (int i = 0; i < rawKpiLists_.size(); i++) {
                 output.writeMessage(1, rawKpiLists_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -6324,7 +6585,7 @@ public final class Monitoring {
             for (int i = 0; i < rawKpiLists_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, rawKpiLists_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -6340,7 +6601,7 @@ public final class Monitoring {
             monitoring.Monitoring.RawKpiTable other = (monitoring.Monitoring.RawKpiTable) obj;
             if (!getRawKpiListsList().equals(other.getRawKpiListsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -6356,7 +6617,7 @@ public final class Monitoring {
                 hash = (37 * hash) + RAW_KPI_LISTS_FIELD_NUMBER;
                 hash = (53 * hash) + getRawKpiListsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -6454,23 +6715,29 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.RawKpiTable.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getRawKpiListsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (rawKpiListsBuilder_ == null) {
                     rawKpiLists_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    rawKpiLists_ = null;
                     rawKpiListsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -6496,15 +6763,7 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.RawKpiTable buildPartial() {
                 monitoring.Monitoring.RawKpiTable result = new monitoring.Monitoring.RawKpiTable(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(monitoring.Monitoring.RawKpiTable result) {
+                int from_bitField0_ = bitField0_;
                 if (rawKpiListsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         rawKpiLists_ = java.util.Collections.unmodifiableList(rawKpiLists_);
@@ -6514,10 +6773,38 @@ public final class Monitoring {
                 } else {
                     result.rawKpiLists_ = rawKpiListsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.RawKpiTable result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -6557,7 +6844,7 @@ public final class Monitoring {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -6569,47 +6856,17 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.RawKpiTable parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    monitoring.Monitoring.RawKpiList m = input.readMessage(monitoring.Monitoring.RawKpiList.parser(), extensionRegistry);
-                                    if (rawKpiListsBuilder_ == null) {
-                                        ensureRawKpiListsIsMutable();
-                                        rawKpiLists_.add(m);
-                                    } else {
-                                        rawKpiListsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.RawKpiTable) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -6879,17 +7136,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public RawKpiTable parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new RawKpiTable(input, extensionRegistry);
             }
         };
 
@@ -6951,6 +7198,57 @@ public final class Monitoring {
             return new KpiId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private KpiId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (kpiId_ != null) {
+                                    subBuilder = kpiId_.toBuilder();
+                                }
+                                kpiId_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiId_);
+                                    kpiId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_KpiId_descriptor;
         }
@@ -6987,7 +7285,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getKpiIdOrBuilder() {
-            return kpiId_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : kpiId_;
+            return getKpiId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -7008,7 +7306,7 @@ public final class Monitoring {
             if (kpiId_ != null) {
                 output.writeMessage(1, getKpiId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -7020,7 +7318,7 @@ public final class Monitoring {
             if (kpiId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getKpiId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -7040,7 +7338,7 @@ public final class Monitoring {
                 if (!getKpiId().equals(other.getKpiId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -7056,7 +7354,7 @@ public final class Monitoring {
                 hash = (37 * hash) + KPI_ID_FIELD_NUMBER;
                 hash = (53 * hash) + getKpiId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -7150,19 +7448,26 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.KpiId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
                 return this;
@@ -7190,38 +7495,63 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.KpiId buildPartial() {
                 monitoring.Monitoring.KpiId result = new monitoring.Monitoring.KpiId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (kpiIdBuilder_ == null) {
+                    result.kpiId_ = kpiId_;
+                } else {
+                    result.kpiId_ = kpiIdBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.KpiId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.kpiId_ = kpiIdBuilder_ == null ? kpiId_ : kpiIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
             }
 
             @java.lang.Override
-            public Builder mergeFrom(com.google.protobuf.Message other) {
-                if (other instanceof monitoring.Monitoring.KpiId) {
-                    return mergeFrom((monitoring.Monitoring.KpiId) other);
-                } else {
-                    super.mergeFrom(other);
-                    return this;
-                }
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
             }
 
-            public Builder mergeFrom(monitoring.Monitoring.KpiId other) {
-                if (other == monitoring.Monitoring.KpiId.getDefaultInstance())
-                    return this;
-                if (other.hasKpiId()) {
-                    mergeKpiId(other.getKpiId());
-                }
-                this.mergeUnknownFields(other.getUnknownFields());
-                onChanged();
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder mergeFrom(com.google.protobuf.Message other) {
+                if (other instanceof monitoring.Monitoring.KpiId) {
+                    return mergeFrom((monitoring.Monitoring.KpiId) other);
+                } else {
+                    super.mergeFrom(other);
+                    return this;
+                }
+            }
+
+            public Builder mergeFrom(monitoring.Monitoring.KpiId other) {
+                if (other == monitoring.Monitoring.KpiId.getDefaultInstance())
+                    return this;
+                if (other.hasKpiId()) {
+                    mergeKpiId(other.getKpiId());
+                }
+                this.mergeUnknownFields(other.unknownFields);
+                onChanged();
                 return this;
             }
 
@@ -7232,47 +7562,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.KpiId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getKpiIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.KpiId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid kpiId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 kpiIdBuilder_;
@@ -7282,7 +7585,7 @@ public final class Monitoring {
              * @return Whether the kpiId field is set.
              */
             public boolean hasKpiId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return kpiIdBuilder_ != null || kpiId_ != null;
             }
 
             /**
@@ -7306,11 +7609,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiId_ = value;
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -7320,11 +7622,10 @@ public final class Monitoring {
             public Builder setKpiId(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (kpiIdBuilder_ == null) {
                     kpiId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -7333,16 +7634,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiId(context.ContextOuterClass.Uuid value) {
                 if (kpiIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && kpiId_ != null && kpiId_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getKpiIdBuilder().mergeFrom(value);
+                    if (kpiId_ != null) {
+                        kpiId_ = context.ContextOuterClass.Uuid.newBuilder(kpiId_).mergeFrom(value).buildPartial();
                     } else {
                         kpiId_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -7350,13 +7650,13 @@ public final class Monitoring {
              * .context.Uuid kpi_id = 1;
              */
             public Builder clearKpiId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                    onChanged();
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -7364,7 +7664,6 @@ public final class Monitoring {
              * .context.Uuid kpi_id = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getKpiIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getKpiIdFieldBuilder().getBuilder();
             }
@@ -7418,17 +7717,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public KpiId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new KpiId(input, extensionRegistry);
             }
         };
 
@@ -7524,6 +7813,83 @@ public final class Monitoring {
             return new Kpi();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Kpi(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                monitoring.Monitoring.KpiId.Builder subBuilder = null;
+                                if (kpiId_ != null) {
+                                    subBuilder = kpiId_.toBuilder();
+                                }
+                                kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiId_);
+                                    kpiId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (timestamp_ != null) {
+                                    subBuilder = timestamp_.toBuilder();
+                                }
+                                timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(timestamp_);
+                                    timestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 26:
+                            {
+                                monitoring.Monitoring.KpiValue.Builder subBuilder = null;
+                                if (kpiValue_ != null) {
+                                    subBuilder = kpiValue_.toBuilder();
+                                }
+                                kpiValue_ = input.readMessage(monitoring.Monitoring.KpiValue.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiValue_);
+                                    kpiValue_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_Kpi_descriptor;
         }
@@ -7560,7 +7926,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() {
-            return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_;
+            return getKpiId();
         }
 
         public static final int TIMESTAMP_FIELD_NUMBER = 2;
@@ -7590,7 +7956,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() {
-            return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_;
+            return getTimestamp();
         }
 
         public static final int KPI_VALUE_FIELD_NUMBER = 3;
@@ -7620,7 +7986,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiValueOrBuilder getKpiValueOrBuilder() {
-            return kpiValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiValue_;
+            return getKpiValue();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -7647,7 +8013,7 @@ public final class Monitoring {
             if (kpiValue_ != null) {
                 output.writeMessage(3, getKpiValue());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -7665,7 +8031,7 @@ public final class Monitoring {
             if (kpiValue_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getKpiValue());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -7697,7 +8063,7 @@ public final class Monitoring {
                 if (!getKpiValue().equals(other.getKpiValue()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -7721,7 +8087,7 @@ public final class Monitoring {
                 hash = (37 * hash) + KPI_VALUE_FIELD_NUMBER;
                 hash = (53 * hash) + getKpiValue().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -7815,29 +8181,38 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.Kpi.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
-                kpiValue_ = null;
-                if (kpiValueBuilder_ != null) {
-                    kpiValueBuilder_.dispose();
+                if (kpiValueBuilder_ == null) {
+                    kpiValue_ = null;
+                } else {
+                    kpiValue_ = null;
                     kpiValueBuilder_ = null;
                 }
                 return this;
@@ -7865,24 +8240,53 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.Kpi buildPartial() {
                 monitoring.Monitoring.Kpi result = new monitoring.Monitoring.Kpi(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (kpiIdBuilder_ == null) {
+                    result.kpiId_ = kpiId_;
+                } else {
+                    result.kpiId_ = kpiIdBuilder_.build();
+                }
+                if (timestampBuilder_ == null) {
+                    result.timestamp_ = timestamp_;
+                } else {
+                    result.timestamp_ = timestampBuilder_.build();
+                }
+                if (kpiValueBuilder_ == null) {
+                    result.kpiValue_ = kpiValue_;
+                } else {
+                    result.kpiValue_ = kpiValueBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.Kpi result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.kpiId_ = kpiIdBuilder_ == null ? kpiId_ : kpiIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.timestamp_ = timestampBuilder_ == null ? timestamp_ : timestampBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.kpiValue_ = kpiValueBuilder_ == null ? kpiValue_ : kpiValueBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -7907,7 +8311,7 @@ public final class Monitoring {
                 if (other.hasKpiValue()) {
                     mergeKpiValue(other.getKpiValue());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -7919,61 +8323,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.Kpi parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getKpiIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    input.readMessage(getKpiValueFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.Kpi) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private monitoring.Monitoring.KpiId kpiId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 kpiIdBuilder_;
@@ -7983,7 +8346,7 @@ public final class Monitoring {
              * @return Whether the kpiId field is set.
              */
             public boolean hasKpiId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return kpiIdBuilder_ != null || kpiId_ != null;
             }
 
             /**
@@ -8007,11 +8370,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiId_ = value;
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -8021,11 +8383,10 @@ public final class Monitoring {
             public Builder setKpiId(monitoring.Monitoring.KpiId.Builder builderForValue) {
                 if (kpiIdBuilder_ == null) {
                     kpiId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -8034,16 +8395,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiId(monitoring.Monitoring.KpiId value) {
                 if (kpiIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && kpiId_ != null && kpiId_ != monitoring.Monitoring.KpiId.getDefaultInstance()) {
-                        getKpiIdBuilder().mergeFrom(value);
+                    if (kpiId_ != null) {
+                        kpiId_ = monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial();
                     } else {
                         kpiId_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -8051,13 +8411,13 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 1;
              */
             public Builder clearKpiId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                    onChanged();
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -8065,7 +8425,6 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 1;
              */
             public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getKpiIdFieldBuilder().getBuilder();
             }
@@ -8101,7 +8460,7 @@ public final class Monitoring {
              * @return Whether the timestamp field is set.
              */
             public boolean hasTimestamp() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return timestampBuilder_ != null || timestamp_ != null;
             }
 
             /**
@@ -8125,11 +8484,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     timestamp_ = value;
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -8139,11 +8497,10 @@ public final class Monitoring {
             public Builder setTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (timestampBuilder_ == null) {
                     timestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -8152,16 +8509,15 @@ public final class Monitoring {
              */
             public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (timestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && timestamp_ != null && timestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getTimestampBuilder().mergeFrom(value);
+                    if (timestamp_ != null) {
+                        timestamp_ = context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial();
                     } else {
                         timestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     timestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -8169,13 +8525,13 @@ public final class Monitoring {
              * .context.Timestamp timestamp = 2;
              */
             public Builder clearTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                    onChanged();
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -8183,7 +8539,6 @@ public final class Monitoring {
              * .context.Timestamp timestamp = 2;
              */
             public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getTimestampFieldBuilder().getBuilder();
             }
@@ -8219,7 +8574,7 @@ public final class Monitoring {
              * @return Whether the kpiValue field is set.
              */
             public boolean hasKpiValue() {
-                return ((bitField0_ & 0x00000004) != 0);
+                return kpiValueBuilder_ != null || kpiValue_ != null;
             }
 
             /**
@@ -8243,11 +8598,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiValue_ = value;
+                    onChanged();
                 } else {
                     kpiValueBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -8257,11 +8611,10 @@ public final class Monitoring {
             public Builder setKpiValue(monitoring.Monitoring.KpiValue.Builder builderForValue) {
                 if (kpiValueBuilder_ == null) {
                     kpiValue_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiValueBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -8270,16 +8623,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiValue(monitoring.Monitoring.KpiValue value) {
                 if (kpiValueBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0) && kpiValue_ != null && kpiValue_ != monitoring.Monitoring.KpiValue.getDefaultInstance()) {
-                        getKpiValueBuilder().mergeFrom(value);
+                    if (kpiValue_ != null) {
+                        kpiValue_ = monitoring.Monitoring.KpiValue.newBuilder(kpiValue_).mergeFrom(value).buildPartial();
                     } else {
                         kpiValue_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiValueBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -8287,13 +8639,13 @@ public final class Monitoring {
              * .monitoring.KpiValue kpi_value = 3;
              */
             public Builder clearKpiValue() {
-                bitField0_ = (bitField0_ & ~0x00000004);
-                kpiValue_ = null;
-                if (kpiValueBuilder_ != null) {
-                    kpiValueBuilder_.dispose();
+                if (kpiValueBuilder_ == null) {
+                    kpiValue_ = null;
+                    onChanged();
+                } else {
+                    kpiValue_ = null;
                     kpiValueBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -8301,7 +8653,6 @@ public final class Monitoring {
              * .monitoring.KpiValue kpi_value = 3;
              */
             public monitoring.Monitoring.KpiValue.Builder getKpiValueBuilder() {
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return getKpiValueFieldBuilder().getBuilder();
             }
@@ -8355,17 +8706,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public Kpi parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Kpi(input, extensionRegistry);
             }
         };
 
@@ -8474,6 +8815,85 @@ public final class Monitoring {
             return new KpiValueRange();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private KpiValueRange(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                monitoring.Monitoring.KpiValue.Builder subBuilder = null;
+                                if (kpiMinValue_ != null) {
+                                    subBuilder = kpiMinValue_.toBuilder();
+                                }
+                                kpiMinValue_ = input.readMessage(monitoring.Monitoring.KpiValue.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiMinValue_);
+                                    kpiMinValue_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                monitoring.Monitoring.KpiValue.Builder subBuilder = null;
+                                if (kpiMaxValue_ != null) {
+                                    subBuilder = kpiMaxValue_.toBuilder();
+                                }
+                                kpiMaxValue_ = input.readMessage(monitoring.Monitoring.KpiValue.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiMaxValue_);
+                                    kpiMaxValue_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 24:
+                            {
+                                inRange_ = input.readBool();
+                                break;
+                            }
+                        case 32:
+                            {
+                                includeMinValue_ = input.readBool();
+                                break;
+                            }
+                        case 40:
+                            {
+                                includeMaxValue_ = input.readBool();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_KpiValueRange_descriptor;
         }
@@ -8510,7 +8930,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiValueOrBuilder getKpiMinValueOrBuilder() {
-            return kpiMinValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiMinValue_;
+            return getKpiMinValue();
         }
 
         public static final int KPIMAXVALUE_FIELD_NUMBER = 2;
@@ -8540,12 +8960,12 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiValueOrBuilder getKpiMaxValueOrBuilder() {
-            return kpiMaxValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiMaxValue_;
+            return getKpiMaxValue();
         }
 
         public static final int INRANGE_FIELD_NUMBER = 3;
 
-        private boolean inRange_ = false;
+        private boolean inRange_;
 
         /**
          * 
@@ -8562,7 +8982,7 @@ public final class Monitoring {
 
         public static final int INCLUDEMINVALUE_FIELD_NUMBER = 4;
 
-        private boolean includeMinValue_ = false;
+        private boolean includeMinValue_;
 
         /**
          * 
@@ -8579,7 +8999,7 @@ public final class Monitoring {
 
         public static final int INCLUDEMAXVALUE_FIELD_NUMBER = 5;
 
-        private boolean includeMaxValue_ = false;
+        private boolean includeMaxValue_;
 
         /**
          * 
@@ -8624,7 +9044,7 @@ public final class Monitoring {
             if (includeMaxValue_ != false) {
                 output.writeBool(5, includeMaxValue_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -8648,7 +9068,7 @@ public final class Monitoring {
             if (includeMaxValue_ != false) {
                 size += com.google.protobuf.CodedOutputStream.computeBoolSize(5, includeMaxValue_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -8680,7 +9100,7 @@ public final class Monitoring {
                 return false;
             if (getIncludeMaxValue() != other.getIncludeMaxValue())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -8706,7 +9126,7 @@ public final class Monitoring {
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIncludeMinValue());
             hash = (37 * hash) + INCLUDEMAXVALUE_FIELD_NUMBER;
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIncludeMaxValue());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -8800,24 +9220,32 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.KpiValueRange.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                kpiMinValue_ = null;
-                if (kpiMinValueBuilder_ != null) {
-                    kpiMinValueBuilder_.dispose();
+                if (kpiMinValueBuilder_ == null) {
+                    kpiMinValue_ = null;
+                } else {
+                    kpiMinValue_ = null;
                     kpiMinValueBuilder_ = null;
                 }
-                kpiMaxValue_ = null;
-                if (kpiMaxValueBuilder_ != null) {
-                    kpiMaxValueBuilder_.dispose();
+                if (kpiMaxValueBuilder_ == null) {
+                    kpiMaxValue_ = null;
+                } else {
+                    kpiMaxValue_ = null;
                     kpiMaxValueBuilder_ = null;
                 }
                 inRange_ = false;
@@ -8848,30 +9276,51 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.KpiValueRange buildPartial() {
                 monitoring.Monitoring.KpiValueRange result = new monitoring.Monitoring.KpiValueRange(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (kpiMinValueBuilder_ == null) {
+                    result.kpiMinValue_ = kpiMinValue_;
+                } else {
+                    result.kpiMinValue_ = kpiMinValueBuilder_.build();
                 }
+                if (kpiMaxValueBuilder_ == null) {
+                    result.kpiMaxValue_ = kpiMaxValue_;
+                } else {
+                    result.kpiMaxValue_ = kpiMaxValueBuilder_.build();
+                }
+                result.inRange_ = inRange_;
+                result.includeMinValue_ = includeMinValue_;
+                result.includeMaxValue_ = includeMaxValue_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.KpiValueRange result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.kpiMinValue_ = kpiMinValueBuilder_ == null ? kpiMinValue_ : kpiMinValueBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.kpiMaxValue_ = kpiMaxValueBuilder_ == null ? kpiMaxValue_ : kpiMaxValueBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.inRange_ = inRange_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.includeMinValue_ = includeMinValue_;
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.includeMaxValue_ = includeMaxValue_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -8902,7 +9351,7 @@ public final class Monitoring {
                 if (other.getIncludeMaxValue() != false) {
                     setIncludeMaxValue(other.getIncludeMaxValue());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -8914,75 +9363,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.KpiValueRange parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getKpiMinValueFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getKpiMaxValueFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 24:
-                                {
-                                    inRange_ = input.readBool();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 32:
-                                {
-                                    includeMinValue_ = input.readBool();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 32
-                            case 40:
-                                {
-                                    includeMaxValue_ = input.readBool();
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 40
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.KpiValueRange) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private monitoring.Monitoring.KpiValue kpiMinValue_;
 
             private com.google.protobuf.SingleFieldBuilderV3 kpiMinValueBuilder_;
@@ -8992,7 +9386,7 @@ public final class Monitoring {
              * @return Whether the kpiMinValue field is set.
              */
             public boolean hasKpiMinValue() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return kpiMinValueBuilder_ != null || kpiMinValue_ != null;
             }
 
             /**
@@ -9016,11 +9410,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiMinValue_ = value;
+                    onChanged();
                 } else {
                     kpiMinValueBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -9030,11 +9423,10 @@ public final class Monitoring {
             public Builder setKpiMinValue(monitoring.Monitoring.KpiValue.Builder builderForValue) {
                 if (kpiMinValueBuilder_ == null) {
                     kpiMinValue_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiMinValueBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -9043,16 +9435,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiMinValue(monitoring.Monitoring.KpiValue value) {
                 if (kpiMinValueBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && kpiMinValue_ != null && kpiMinValue_ != monitoring.Monitoring.KpiValue.getDefaultInstance()) {
-                        getKpiMinValueBuilder().mergeFrom(value);
+                    if (kpiMinValue_ != null) {
+                        kpiMinValue_ = monitoring.Monitoring.KpiValue.newBuilder(kpiMinValue_).mergeFrom(value).buildPartial();
                     } else {
                         kpiMinValue_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiMinValueBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -9060,13 +9451,13 @@ public final class Monitoring {
              * .monitoring.KpiValue kpiMinValue = 1;
              */
             public Builder clearKpiMinValue() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                kpiMinValue_ = null;
-                if (kpiMinValueBuilder_ != null) {
-                    kpiMinValueBuilder_.dispose();
+                if (kpiMinValueBuilder_ == null) {
+                    kpiMinValue_ = null;
+                    onChanged();
+                } else {
+                    kpiMinValue_ = null;
                     kpiMinValueBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -9074,7 +9465,6 @@ public final class Monitoring {
              * .monitoring.KpiValue kpiMinValue = 1;
              */
             public monitoring.Monitoring.KpiValue.Builder getKpiMinValueBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getKpiMinValueFieldBuilder().getBuilder();
             }
@@ -9110,7 +9500,7 @@ public final class Monitoring {
              * @return Whether the kpiMaxValue field is set.
              */
             public boolean hasKpiMaxValue() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return kpiMaxValueBuilder_ != null || kpiMaxValue_ != null;
             }
 
             /**
@@ -9134,11 +9524,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiMaxValue_ = value;
+                    onChanged();
                 } else {
                     kpiMaxValueBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -9148,11 +9537,10 @@ public final class Monitoring {
             public Builder setKpiMaxValue(monitoring.Monitoring.KpiValue.Builder builderForValue) {
                 if (kpiMaxValueBuilder_ == null) {
                     kpiMaxValue_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiMaxValueBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -9161,16 +9549,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiMaxValue(monitoring.Monitoring.KpiValue value) {
                 if (kpiMaxValueBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && kpiMaxValue_ != null && kpiMaxValue_ != monitoring.Monitoring.KpiValue.getDefaultInstance()) {
-                        getKpiMaxValueBuilder().mergeFrom(value);
+                    if (kpiMaxValue_ != null) {
+                        kpiMaxValue_ = monitoring.Monitoring.KpiValue.newBuilder(kpiMaxValue_).mergeFrom(value).buildPartial();
                     } else {
                         kpiMaxValue_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiMaxValueBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -9178,13 +9565,13 @@ public final class Monitoring {
              * .monitoring.KpiValue kpiMaxValue = 2;
              */
             public Builder clearKpiMaxValue() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                kpiMaxValue_ = null;
-                if (kpiMaxValueBuilder_ != null) {
-                    kpiMaxValueBuilder_.dispose();
+                if (kpiMaxValueBuilder_ == null) {
+                    kpiMaxValue_ = null;
+                    onChanged();
+                } else {
+                    kpiMaxValue_ = null;
                     kpiMaxValueBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -9192,7 +9579,6 @@ public final class Monitoring {
              * .monitoring.KpiValue kpiMaxValue = 2;
              */
             public monitoring.Monitoring.KpiValue.Builder getKpiMaxValueBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getKpiMaxValueFieldBuilder().getBuilder();
             }
@@ -9245,7 +9631,6 @@ public final class Monitoring {
              */
             public Builder setInRange(boolean value) {
                 inRange_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -9259,7 +9644,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearInRange() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 inRange_ = false;
                 onChanged();
                 return this;
@@ -9291,7 +9675,6 @@ public final class Monitoring {
              */
             public Builder setIncludeMinValue(boolean value) {
                 includeMinValue_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -9305,7 +9688,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearIncludeMinValue() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 includeMinValue_ = false;
                 onChanged();
                 return this;
@@ -9337,7 +9719,6 @@ public final class Monitoring {
              */
             public Builder setIncludeMaxValue(boolean value) {
                 includeMaxValue_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -9351,7 +9732,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearIncludeMaxValue() {
-                bitField0_ = (bitField0_ & ~0x00000010);
                 includeMaxValue_ = false;
                 onChanged();
                 return this;
@@ -9384,17 +9764,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public KpiValueRange parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new KpiValueRange(input, extensionRegistry);
             }
         };
 
@@ -9506,7 +9876,7 @@ public final class Monitoring {
          */
         boolean getBoolVal();
 
-        monitoring.Monitoring.KpiValue.ValueCase getValueCase();
+        public monitoring.Monitoring.KpiValue.ValueCase getValueCase();
     }
 
     /**
@@ -9531,6 +9901,87 @@ public final class Monitoring {
             return new KpiValue();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private KpiValue(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                valueCase_ = 1;
+                                value_ = input.readInt32();
+                                break;
+                            }
+                        case 16:
+                            {
+                                valueCase_ = 2;
+                                value_ = input.readUInt32();
+                                break;
+                            }
+                        case 24:
+                            {
+                                valueCase_ = 3;
+                                value_ = input.readInt64();
+                                break;
+                            }
+                        case 32:
+                            {
+                                valueCase_ = 4;
+                                value_ = input.readUInt64();
+                                break;
+                            }
+                        case 45:
+                            {
+                                valueCase_ = 5;
+                                value_ = input.readFloat();
+                                break;
+                            }
+                        case 50:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                valueCase_ = 6;
+                                value_ = s;
+                                break;
+                            }
+                        case 56:
+                            {
+                                valueCase_ = 7;
+                                value_ = input.readBool();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_KpiValue_descriptor;
         }
@@ -9542,7 +9993,6 @@ public final class Monitoring {
 
         private int valueCase_ = 0;
 
-        @SuppressWarnings("serial")
         private java.lang.Object value_;
 
         public enum ValueCase implements com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum {
@@ -9829,7 +10279,7 @@ public final class Monitoring {
             if (valueCase_ == 7) {
                 output.writeBool(7, (boolean) ((java.lang.Boolean) value_));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -9859,7 +10309,7 @@ public final class Monitoring {
             if (valueCase_ == 7) {
                 size += com.google.protobuf.CodedOutputStream.computeBoolSize(7, (boolean) ((java.lang.Boolean) value_));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -9907,7 +10357,7 @@ public final class Monitoring {
                 case 0:
                 default:
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -9951,7 +10401,7 @@ public final class Monitoring {
                 case 0:
                 default:
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -10045,16 +10495,22 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.KpiValue.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 valueCase_ = 0;
                 value_ = null;
                 return this;
@@ -10082,21 +10538,60 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.KpiValue buildPartial() {
                 monitoring.Monitoring.KpiValue result = new monitoring.Monitoring.KpiValue(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (valueCase_ == 1) {
+                    result.value_ = value_;
+                }
+                if (valueCase_ == 2) {
+                    result.value_ = value_;
+                }
+                if (valueCase_ == 3) {
+                    result.value_ = value_;
+                }
+                if (valueCase_ == 4) {
+                    result.value_ = value_;
+                }
+                if (valueCase_ == 5) {
+                    result.value_ = value_;
+                }
+                if (valueCase_ == 6) {
+                    result.value_ = value_;
+                }
+                if (valueCase_ == 7) {
+                    result.value_ = value_;
                 }
-                buildPartialOneofs(result);
+                result.valueCase_ = valueCase_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.KpiValue result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
             }
 
-            private void buildPartialOneofs(monitoring.Monitoring.KpiValue result) {
-                result.valueCase_ = valueCase_;
-                result.value_ = this.value_;
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -10155,7 +10650,7 @@ public final class Monitoring {
                             break;
                         }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -10167,85 +10662,17 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.KpiValue parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    value_ = input.readInt32();
-                                    valueCase_ = 1;
-                                    break;
-                                }
-                            // case 8
-                            case 16:
-                                {
-                                    value_ = input.readUInt32();
-                                    valueCase_ = 2;
-                                    break;
-                                }
-                            // case 16
-                            case 24:
-                                {
-                                    value_ = input.readInt64();
-                                    valueCase_ = 3;
-                                    break;
-                                }
-                            // case 24
-                            case 32:
-                                {
-                                    value_ = input.readUInt64();
-                                    valueCase_ = 4;
-                                    break;
-                                }
-                            // case 32
-                            case 45:
-                                {
-                                    value_ = input.readFloat();
-                                    valueCase_ = 5;
-                                    break;
-                                }
-                            // case 45
-                            case 50:
-                                {
-                                    java.lang.String s = input.readStringRequireUtf8();
-                                    valueCase_ = 6;
-                                    value_ = s;
-                                    break;
-                                }
-                            // case 50
-                            case 56:
-                                {
-                                    value_ = input.readBool();
-                                    valueCase_ = 7;
-                                    break;
-                                }
-                            // case 56
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.KpiValue) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -10264,8 +10691,6 @@ public final class Monitoring {
                 return this;
             }
 
-            private int bitField0_;
-
             /**
              * int32 int32Val = 1;
              * @return Whether the int32Val field is set.
@@ -10653,17 +11078,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public KpiValue parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new KpiValue(input, extensionRegistry);
             }
         };
 
@@ -10734,6 +11149,57 @@ public final class Monitoring {
             return new KpiList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private KpiList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    kpi_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                kpi_.add(input.readMessage(monitoring.Monitoring.Kpi.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    kpi_ = java.util.Collections.unmodifiableList(kpi_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_KpiList_descriptor;
         }
@@ -10745,7 +11211,6 @@ public final class Monitoring {
 
         public static final int KPI_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List kpi_;
 
         /**
@@ -10806,7 +11271,7 @@ public final class Monitoring {
             for (int i = 0; i < kpi_.size(); i++) {
                 output.writeMessage(1, kpi_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -10818,7 +11283,7 @@ public final class Monitoring {
             for (int i = 0; i < kpi_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, kpi_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -10834,7 +11299,7 @@ public final class Monitoring {
             monitoring.Monitoring.KpiList other = (monitoring.Monitoring.KpiList) obj;
             if (!getKpiList().equals(other.getKpiList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -10850,7 +11315,7 @@ public final class Monitoring {
                 hash = (37 * hash) + KPI_FIELD_NUMBER;
                 hash = (53 * hash) + getKpiList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -10944,23 +11409,29 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.KpiList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getKpiFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (kpiBuilder_ == null) {
                     kpi_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    kpi_ = null;
                     kpiBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -10986,15 +11457,7 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.KpiList buildPartial() {
                 monitoring.Monitoring.KpiList result = new monitoring.Monitoring.KpiList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(monitoring.Monitoring.KpiList result) {
+                int from_bitField0_ = bitField0_;
                 if (kpiBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         kpi_ = java.util.Collections.unmodifiableList(kpi_);
@@ -11004,10 +11467,38 @@ public final class Monitoring {
                 } else {
                     result.kpi_ = kpiBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.KpiList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -11047,7 +11538,7 @@ public final class Monitoring {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -11059,47 +11550,17 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.KpiList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    monitoring.Monitoring.Kpi m = input.readMessage(monitoring.Monitoring.Kpi.parser(), extensionRegistry);
-                                    if (kpiBuilder_ == null) {
-                                        ensureKpiIsMutable();
-                                        kpi_.add(m);
-                                    } else {
-                                        kpiBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.KpiList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -11369,17 +11830,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public KpiList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new KpiList(input, extensionRegistry);
             }
         };
 
@@ -11450,6 +11901,57 @@ public final class Monitoring {
             return new KpiDescriptorList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private KpiDescriptorList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    kpiDescriptorList_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                kpiDescriptorList_.add(input.readMessage(monitoring.Monitoring.KpiDescriptor.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    kpiDescriptorList_ = java.util.Collections.unmodifiableList(kpiDescriptorList_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_KpiDescriptorList_descriptor;
         }
@@ -11461,7 +11963,6 @@ public final class Monitoring {
 
         public static final int KPI_DESCRIPTOR_LIST_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List kpiDescriptorList_;
 
         /**
@@ -11522,7 +12023,7 @@ public final class Monitoring {
             for (int i = 0; i < kpiDescriptorList_.size(); i++) {
                 output.writeMessage(1, kpiDescriptorList_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -11534,7 +12035,7 @@ public final class Monitoring {
             for (int i = 0; i < kpiDescriptorList_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, kpiDescriptorList_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -11550,7 +12051,7 @@ public final class Monitoring {
             monitoring.Monitoring.KpiDescriptorList other = (monitoring.Monitoring.KpiDescriptorList) obj;
             if (!getKpiDescriptorListList().equals(other.getKpiDescriptorListList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -11566,7 +12067,7 @@ public final class Monitoring {
                 hash = (37 * hash) + KPI_DESCRIPTOR_LIST_FIELD_NUMBER;
                 hash = (53 * hash) + getKpiDescriptorListList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -11660,23 +12161,29 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.KpiDescriptorList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getKpiDescriptorListFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (kpiDescriptorListBuilder_ == null) {
                     kpiDescriptorList_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    kpiDescriptorList_ = null;
                     kpiDescriptorListBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -11702,15 +12209,7 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.KpiDescriptorList buildPartial() {
                 monitoring.Monitoring.KpiDescriptorList result = new monitoring.Monitoring.KpiDescriptorList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(monitoring.Monitoring.KpiDescriptorList result) {
+                int from_bitField0_ = bitField0_;
                 if (kpiDescriptorListBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         kpiDescriptorList_ = java.util.Collections.unmodifiableList(kpiDescriptorList_);
@@ -11720,10 +12219,38 @@ public final class Monitoring {
                 } else {
                     result.kpiDescriptorList_ = kpiDescriptorListBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.KpiDescriptorList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -11763,7 +12290,7 @@ public final class Monitoring {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -11775,47 +12302,17 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.KpiDescriptorList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    monitoring.Monitoring.KpiDescriptor m = input.readMessage(monitoring.Monitoring.KpiDescriptor.parser(), extensionRegistry);
-                                    if (kpiDescriptorListBuilder_ == null) {
-                                        ensureKpiDescriptorListIsMutable();
-                                        kpiDescriptorList_.add(m);
-                                    } else {
-                                        kpiDescriptorListBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.KpiDescriptorList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -12085,17 +12582,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public KpiDescriptorList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new KpiDescriptorList(input, extensionRegistry);
             }
         };
 
@@ -12244,6 +12731,106 @@ public final class Monitoring {
             return new SubsDescriptor();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SubsDescriptor(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                monitoring.Monitoring.SubscriptionID.Builder subBuilder = null;
+                                if (subsId_ != null) {
+                                    subBuilder = subsId_.toBuilder();
+                                }
+                                subsId_ = input.readMessage(monitoring.Monitoring.SubscriptionID.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(subsId_);
+                                    subsId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                monitoring.Monitoring.KpiId.Builder subBuilder = null;
+                                if (kpiId_ != null) {
+                                    subBuilder = kpiId_.toBuilder();
+                                }
+                                kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiId_);
+                                    kpiId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 29:
+                            {
+                                samplingDurationS_ = input.readFloat();
+                                break;
+                            }
+                        case 37:
+                            {
+                                samplingIntervalS_ = input.readFloat();
+                                break;
+                            }
+                        case 42:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (startTimestamp_ != null) {
+                                    subBuilder = startTimestamp_.toBuilder();
+                                }
+                                startTimestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(startTimestamp_);
+                                    startTimestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 50:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (endTimestamp_ != null) {
+                                    subBuilder = endTimestamp_.toBuilder();
+                                }
+                                endTimestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endTimestamp_);
+                                    endTimestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_SubsDescriptor_descriptor;
         }
@@ -12280,7 +12867,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.SubscriptionIDOrBuilder getSubsIdOrBuilder() {
-            return subsId_ == null ? monitoring.Monitoring.SubscriptionID.getDefaultInstance() : subsId_;
+            return getSubsId();
         }
 
         public static final int KPI_ID_FIELD_NUMBER = 2;
@@ -12310,12 +12897,12 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() {
-            return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_;
+            return getKpiId();
         }
 
         public static final int SAMPLING_DURATION_S_FIELD_NUMBER = 3;
 
-        private float samplingDurationS_ = 0F;
+        private float samplingDurationS_;
 
         /**
          * float sampling_duration_s = 3;
@@ -12328,7 +12915,7 @@ public final class Monitoring {
 
         public static final int SAMPLING_INTERVAL_S_FIELD_NUMBER = 4;
 
-        private float samplingIntervalS_ = 0F;
+        private float samplingIntervalS_;
 
         /**
          * float sampling_interval_s = 4;
@@ -12378,7 +12965,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getStartTimestampOrBuilder() {
-            return startTimestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : startTimestamp_;
+            return getStartTimestamp();
         }
 
         public static final int END_TIMESTAMP_FIELD_NUMBER = 6;
@@ -12420,7 +13007,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getEndTimestampOrBuilder() {
-            return endTimestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : endTimestamp_;
+            return getEndTimestamp();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -12444,10 +13031,10 @@ public final class Monitoring {
             if (kpiId_ != null) {
                 output.writeMessage(2, getKpiId());
             }
-            if (java.lang.Float.floatToRawIntBits(samplingDurationS_) != 0) {
+            if (samplingDurationS_ != 0F) {
                 output.writeFloat(3, samplingDurationS_);
             }
-            if (java.lang.Float.floatToRawIntBits(samplingIntervalS_) != 0) {
+            if (samplingIntervalS_ != 0F) {
                 output.writeFloat(4, samplingIntervalS_);
             }
             if (startTimestamp_ != null) {
@@ -12456,7 +13043,7 @@ public final class Monitoring {
             if (endTimestamp_ != null) {
                 output.writeMessage(6, getEndTimestamp());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -12471,10 +13058,10 @@ public final class Monitoring {
             if (kpiId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getKpiId());
             }
-            if (java.lang.Float.floatToRawIntBits(samplingDurationS_) != 0) {
+            if (samplingDurationS_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(3, samplingDurationS_);
             }
-            if (java.lang.Float.floatToRawIntBits(samplingIntervalS_) != 0) {
+            if (samplingIntervalS_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(4, samplingIntervalS_);
             }
             if (startTimestamp_ != null) {
@@ -12483,7 +13070,7 @@ public final class Monitoring {
             if (endTimestamp_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getEndTimestamp());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -12525,7 +13112,7 @@ public final class Monitoring {
                 if (!getEndTimestamp().equals(other.getEndTimestamp()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -12557,7 +13144,7 @@ public final class Monitoring {
                 hash = (37 * hash) + END_TIMESTAMP_FIELD_NUMBER;
                 hash = (53 * hash) + getEndTimestamp().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -12651,36 +13238,46 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.SubsDescriptor.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                subsId_ = null;
-                if (subsIdBuilder_ != null) {
-                    subsIdBuilder_.dispose();
+                if (subsIdBuilder_ == null) {
+                    subsId_ = null;
+                } else {
+                    subsId_ = null;
                     subsIdBuilder_ = null;
                 }
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
                 samplingDurationS_ = 0F;
                 samplingIntervalS_ = 0F;
-                startTimestamp_ = null;
-                if (startTimestampBuilder_ != null) {
-                    startTimestampBuilder_.dispose();
+                if (startTimestampBuilder_ == null) {
+                    startTimestamp_ = null;
+                } else {
+                    startTimestamp_ = null;
                     startTimestampBuilder_ = null;
                 }
-                endTimestamp_ = null;
-                if (endTimestampBuilder_ != null) {
-                    endTimestampBuilder_.dispose();
+                if (endTimestampBuilder_ == null) {
+                    endTimestamp_ = null;
+                } else {
+                    endTimestamp_ = null;
                     endTimestampBuilder_ = null;
                 }
                 return this;
@@ -12708,33 +13305,60 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.SubsDescriptor buildPartial() {
                 monitoring.Monitoring.SubsDescriptor result = new monitoring.Monitoring.SubsDescriptor(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (subsIdBuilder_ == null) {
+                    result.subsId_ = subsId_;
+                } else {
+                    result.subsId_ = subsIdBuilder_.build();
+                }
+                if (kpiIdBuilder_ == null) {
+                    result.kpiId_ = kpiId_;
+                } else {
+                    result.kpiId_ = kpiIdBuilder_.build();
+                }
+                result.samplingDurationS_ = samplingDurationS_;
+                result.samplingIntervalS_ = samplingIntervalS_;
+                if (startTimestampBuilder_ == null) {
+                    result.startTimestamp_ = startTimestamp_;
+                } else {
+                    result.startTimestamp_ = startTimestampBuilder_.build();
+                }
+                if (endTimestampBuilder_ == null) {
+                    result.endTimestamp_ = endTimestamp_;
+                } else {
+                    result.endTimestamp_ = endTimestampBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.SubsDescriptor result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.subsId_ = subsIdBuilder_ == null ? subsId_ : subsIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.kpiId_ = kpiIdBuilder_ == null ? kpiId_ : kpiIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.samplingDurationS_ = samplingDurationS_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.samplingIntervalS_ = samplingIntervalS_;
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.startTimestamp_ = startTimestampBuilder_ == null ? startTimestamp_ : startTimestampBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000020) != 0)) {
-                    result.endTimestamp_ = endTimestampBuilder_ == null ? endTimestamp_ : endTimestampBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -12768,7 +13392,7 @@ public final class Monitoring {
                 if (other.hasEndTimestamp()) {
                     mergeEndTimestamp(other.getEndTimestamp());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -12780,82 +13404,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.SubsDescriptor parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getSubsIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getKpiIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 29:
-                                {
-                                    samplingDurationS_ = input.readFloat();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 29
-                            case 37:
-                                {
-                                    samplingIntervalS_ = input.readFloat();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 37
-                            case 42:
-                                {
-                                    input.readMessage(getStartTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 42
-                            case 50:
-                                {
-                                    input.readMessage(getEndTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000020;
-                                    break;
-                                }
-                            // case 50
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.SubsDescriptor) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private monitoring.Monitoring.SubscriptionID subsId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 subsIdBuilder_;
@@ -12865,7 +13427,7 @@ public final class Monitoring {
              * @return Whether the subsId field is set.
              */
             public boolean hasSubsId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return subsIdBuilder_ != null || subsId_ != null;
             }
 
             /**
@@ -12889,11 +13451,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     subsId_ = value;
+                    onChanged();
                 } else {
                     subsIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -12903,11 +13464,10 @@ public final class Monitoring {
             public Builder setSubsId(monitoring.Monitoring.SubscriptionID.Builder builderForValue) {
                 if (subsIdBuilder_ == null) {
                     subsId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     subsIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -12916,16 +13476,15 @@ public final class Monitoring {
              */
             public Builder mergeSubsId(monitoring.Monitoring.SubscriptionID value) {
                 if (subsIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && subsId_ != null && subsId_ != monitoring.Monitoring.SubscriptionID.getDefaultInstance()) {
-                        getSubsIdBuilder().mergeFrom(value);
+                    if (subsId_ != null) {
+                        subsId_ = monitoring.Monitoring.SubscriptionID.newBuilder(subsId_).mergeFrom(value).buildPartial();
                     } else {
                         subsId_ = value;
                     }
+                    onChanged();
                 } else {
                     subsIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -12933,13 +13492,13 @@ public final class Monitoring {
              * .monitoring.SubscriptionID subs_id = 1;
              */
             public Builder clearSubsId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                subsId_ = null;
-                if (subsIdBuilder_ != null) {
-                    subsIdBuilder_.dispose();
+                if (subsIdBuilder_ == null) {
+                    subsId_ = null;
+                    onChanged();
+                } else {
+                    subsId_ = null;
                     subsIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -12947,7 +13506,6 @@ public final class Monitoring {
              * .monitoring.SubscriptionID subs_id = 1;
              */
             public monitoring.Monitoring.SubscriptionID.Builder getSubsIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getSubsIdFieldBuilder().getBuilder();
             }
@@ -12983,7 +13541,7 @@ public final class Monitoring {
              * @return Whether the kpiId field is set.
              */
             public boolean hasKpiId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return kpiIdBuilder_ != null || kpiId_ != null;
             }
 
             /**
@@ -13007,11 +13565,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiId_ = value;
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -13021,11 +13578,10 @@ public final class Monitoring {
             public Builder setKpiId(monitoring.Monitoring.KpiId.Builder builderForValue) {
                 if (kpiIdBuilder_ == null) {
                     kpiId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -13034,16 +13590,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiId(monitoring.Monitoring.KpiId value) {
                 if (kpiIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && kpiId_ != null && kpiId_ != monitoring.Monitoring.KpiId.getDefaultInstance()) {
-                        getKpiIdBuilder().mergeFrom(value);
+                    if (kpiId_ != null) {
+                        kpiId_ = monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial();
                     } else {
                         kpiId_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -13051,13 +13606,13 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 2;
              */
             public Builder clearKpiId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                    onChanged();
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -13065,7 +13620,6 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 2;
              */
             public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getKpiIdFieldBuilder().getBuilder();
             }
@@ -13110,7 +13664,6 @@ public final class Monitoring {
              */
             public Builder setSamplingDurationS(float value) {
                 samplingDurationS_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -13120,7 +13673,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearSamplingDurationS() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 samplingDurationS_ = 0F;
                 onChanged();
                 return this;
@@ -13144,7 +13696,6 @@ public final class Monitoring {
              */
             public Builder setSamplingIntervalS(float value) {
                 samplingIntervalS_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -13154,7 +13705,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearSamplingIntervalS() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 samplingIntervalS_ = 0F;
                 onChanged();
                 return this;
@@ -13173,7 +13723,7 @@ public final class Monitoring {
              * @return Whether the startTimestamp field is set.
              */
             public boolean hasStartTimestamp() {
-                return ((bitField0_ & 0x00000010) != 0);
+                return startTimestampBuilder_ != null || startTimestamp_ != null;
             }
 
             /**
@@ -13205,11 +13755,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     startTimestamp_ = value;
+                    onChanged();
                 } else {
                     startTimestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -13223,11 +13772,10 @@ public final class Monitoring {
             public Builder setStartTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (startTimestampBuilder_ == null) {
                     startTimestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     startTimestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -13240,16 +13788,15 @@ public final class Monitoring {
              */
             public Builder mergeStartTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (startTimestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000010) != 0) && startTimestamp_ != null && startTimestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getStartTimestampBuilder().mergeFrom(value);
+                    if (startTimestamp_ != null) {
+                        startTimestamp_ = context.ContextOuterClass.Timestamp.newBuilder(startTimestamp_).mergeFrom(value).buildPartial();
                     } else {
                         startTimestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     startTimestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -13261,13 +13808,13 @@ public final class Monitoring {
              * .context.Timestamp start_timestamp = 5;
              */
             public Builder clearStartTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000010);
-                startTimestamp_ = null;
-                if (startTimestampBuilder_ != null) {
-                    startTimestampBuilder_.dispose();
+                if (startTimestampBuilder_ == null) {
+                    startTimestamp_ = null;
+                    onChanged();
+                } else {
+                    startTimestamp_ = null;
                     startTimestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -13279,7 +13826,6 @@ public final class Monitoring {
              * .context.Timestamp start_timestamp = 5;
              */
             public context.ContextOuterClass.Timestamp.Builder getStartTimestampBuilder() {
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return getStartTimestampFieldBuilder().getBuilder();
             }
@@ -13327,7 +13873,7 @@ public final class Monitoring {
              * @return Whether the endTimestamp field is set.
              */
             public boolean hasEndTimestamp() {
-                return ((bitField0_ & 0x00000020) != 0);
+                return endTimestampBuilder_ != null || endTimestamp_ != null;
             }
 
             /**
@@ -13359,11 +13905,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     endTimestamp_ = value;
+                    onChanged();
                 } else {
                     endTimestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -13377,11 +13922,10 @@ public final class Monitoring {
             public Builder setEndTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (endTimestampBuilder_ == null) {
                     endTimestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endTimestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -13394,16 +13938,15 @@ public final class Monitoring {
              */
             public Builder mergeEndTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (endTimestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000020) != 0) && endTimestamp_ != null && endTimestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getEndTimestampBuilder().mergeFrom(value);
+                    if (endTimestamp_ != null) {
+                        endTimestamp_ = context.ContextOuterClass.Timestamp.newBuilder(endTimestamp_).mergeFrom(value).buildPartial();
                     } else {
                         endTimestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     endTimestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -13415,13 +13958,13 @@ public final class Monitoring {
              * .context.Timestamp end_timestamp = 6;
              */
             public Builder clearEndTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000020);
-                endTimestamp_ = null;
-                if (endTimestampBuilder_ != null) {
-                    endTimestampBuilder_.dispose();
+                if (endTimestampBuilder_ == null) {
+                    endTimestamp_ = null;
+                    onChanged();
+                } else {
+                    endTimestamp_ = null;
                     endTimestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -13433,7 +13976,6 @@ public final class Monitoring {
              * .context.Timestamp end_timestamp = 6;
              */
             public context.ContextOuterClass.Timestamp.Builder getEndTimestampBuilder() {
-                bitField0_ |= 0x00000020;
                 onChanged();
                 return getEndTimestampFieldBuilder().getBuilder();
             }
@@ -13495,17 +14037,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public SubsDescriptor parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SubsDescriptor(input, extensionRegistry);
             }
         };
 
@@ -13567,6 +14099,57 @@ public final class Monitoring {
             return new SubscriptionID();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SubscriptionID(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (subsId_ != null) {
+                                    subBuilder = subsId_.toBuilder();
+                                }
+                                subsId_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(subsId_);
+                                    subsId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_SubscriptionID_descriptor;
         }
@@ -13603,7 +14186,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getSubsIdOrBuilder() {
-            return subsId_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : subsId_;
+            return getSubsId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -13624,7 +14207,7 @@ public final class Monitoring {
             if (subsId_ != null) {
                 output.writeMessage(1, getSubsId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -13636,7 +14219,7 @@ public final class Monitoring {
             if (subsId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getSubsId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -13656,7 +14239,7 @@ public final class Monitoring {
                 if (!getSubsId().equals(other.getSubsId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -13672,7 +14255,7 @@ public final class Monitoring {
                 hash = (37 * hash) + SUBS_ID_FIELD_NUMBER;
                 hash = (53 * hash) + getSubsId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -13766,19 +14349,26 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.SubscriptionID.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                subsId_ = null;
-                if (subsIdBuilder_ != null) {
-                    subsIdBuilder_.dispose();
+                if (subsIdBuilder_ == null) {
+                    subsId_ = null;
+                } else {
+                    subsId_ = null;
                     subsIdBuilder_ = null;
                 }
                 return this;
@@ -13806,18 +14396,43 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.SubscriptionID buildPartial() {
                 monitoring.Monitoring.SubscriptionID result = new monitoring.Monitoring.SubscriptionID(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (subsIdBuilder_ == null) {
+                    result.subsId_ = subsId_;
+                } else {
+                    result.subsId_ = subsIdBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.SubscriptionID result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.subsId_ = subsIdBuilder_ == null ? subsId_ : subsIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -13836,7 +14451,7 @@ public final class Monitoring {
                 if (other.hasSubsId()) {
                     mergeSubsId(other.getSubsId());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -13848,47 +14463,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.SubscriptionID parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getSubsIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.SubscriptionID) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid subsId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 subsIdBuilder_;
@@ -13898,7 +14486,7 @@ public final class Monitoring {
              * @return Whether the subsId field is set.
              */
             public boolean hasSubsId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return subsIdBuilder_ != null || subsId_ != null;
             }
 
             /**
@@ -13922,11 +14510,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     subsId_ = value;
+                    onChanged();
                 } else {
                     subsIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -13936,11 +14523,10 @@ public final class Monitoring {
             public Builder setSubsId(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (subsIdBuilder_ == null) {
                     subsId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     subsIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -13949,16 +14535,15 @@ public final class Monitoring {
              */
             public Builder mergeSubsId(context.ContextOuterClass.Uuid value) {
                 if (subsIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && subsId_ != null && subsId_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getSubsIdBuilder().mergeFrom(value);
+                    if (subsId_ != null) {
+                        subsId_ = context.ContextOuterClass.Uuid.newBuilder(subsId_).mergeFrom(value).buildPartial();
                     } else {
                         subsId_ = value;
                     }
+                    onChanged();
                 } else {
                     subsIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -13966,13 +14551,13 @@ public final class Monitoring {
              * .context.Uuid subs_id = 1;
              */
             public Builder clearSubsId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                subsId_ = null;
-                if (subsIdBuilder_ != null) {
-                    subsIdBuilder_.dispose();
+                if (subsIdBuilder_ == null) {
+                    subsId_ = null;
+                    onChanged();
+                } else {
+                    subsId_ = null;
                     subsIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -13980,7 +14565,6 @@ public final class Monitoring {
              * .context.Uuid subs_id = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getSubsIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getSubsIdFieldBuilder().getBuilder();
             }
@@ -14034,17 +14618,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public SubscriptionID parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SubscriptionID(input, extensionRegistry);
             }
         };
 
@@ -14123,6 +14697,70 @@ public final class Monitoring {
             return new SubsResponse();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SubsResponse(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                monitoring.Monitoring.SubscriptionID.Builder subBuilder = null;
+                                if (subsId_ != null) {
+                                    subBuilder = subsId_.toBuilder();
+                                }
+                                subsId_ = input.readMessage(monitoring.Monitoring.SubscriptionID.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(subsId_);
+                                    subsId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                monitoring.Monitoring.KpiList.Builder subBuilder = null;
+                                if (kpiList_ != null) {
+                                    subBuilder = kpiList_.toBuilder();
+                                }
+                                kpiList_ = input.readMessage(monitoring.Monitoring.KpiList.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiList_);
+                                    kpiList_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_SubsResponse_descriptor;
         }
@@ -14159,7 +14797,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.SubscriptionIDOrBuilder getSubsIdOrBuilder() {
-            return subsId_ == null ? monitoring.Monitoring.SubscriptionID.getDefaultInstance() : subsId_;
+            return getSubsId();
         }
 
         public static final int KPI_LIST_FIELD_NUMBER = 2;
@@ -14189,7 +14827,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiListOrBuilder getKpiListOrBuilder() {
-            return kpiList_ == null ? monitoring.Monitoring.KpiList.getDefaultInstance() : kpiList_;
+            return getKpiList();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -14213,7 +14851,7 @@ public final class Monitoring {
             if (kpiList_ != null) {
                 output.writeMessage(2, getKpiList());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -14228,7 +14866,7 @@ public final class Monitoring {
             if (kpiList_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getKpiList());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -14254,7 +14892,7 @@ public final class Monitoring {
                 if (!getKpiList().equals(other.getKpiList()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -14274,7 +14912,7 @@ public final class Monitoring {
                 hash = (37 * hash) + KPI_LIST_FIELD_NUMBER;
                 hash = (53 * hash) + getKpiList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -14368,24 +15006,32 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.SubsResponse.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                subsId_ = null;
-                if (subsIdBuilder_ != null) {
-                    subsIdBuilder_.dispose();
+                if (subsIdBuilder_ == null) {
+                    subsId_ = null;
+                } else {
+                    subsId_ = null;
                     subsIdBuilder_ = null;
                 }
-                kpiList_ = null;
-                if (kpiListBuilder_ != null) {
-                    kpiListBuilder_.dispose();
+                if (kpiListBuilder_ == null) {
+                    kpiList_ = null;
+                } else {
+                    kpiList_ = null;
                     kpiListBuilder_ = null;
                 }
                 return this;
@@ -14413,21 +15059,48 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.SubsResponse buildPartial() {
                 monitoring.Monitoring.SubsResponse result = new monitoring.Monitoring.SubsResponse(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (subsIdBuilder_ == null) {
+                    result.subsId_ = subsId_;
+                } else {
+                    result.subsId_ = subsIdBuilder_.build();
+                }
+                if (kpiListBuilder_ == null) {
+                    result.kpiList_ = kpiList_;
+                } else {
+                    result.kpiList_ = kpiListBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.SubsResponse result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.subsId_ = subsIdBuilder_ == null ? subsId_ : subsIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.kpiList_ = kpiListBuilder_ == null ? kpiList_ : kpiListBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -14449,7 +15122,7 @@ public final class Monitoring {
                 if (other.hasKpiList()) {
                     mergeKpiList(other.getKpiList());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -14461,54 +15134,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.SubsResponse parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getSubsIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getKpiListFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.SubsResponse) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private monitoring.Monitoring.SubscriptionID subsId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 subsIdBuilder_;
@@ -14518,7 +15157,7 @@ public final class Monitoring {
              * @return Whether the subsId field is set.
              */
             public boolean hasSubsId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return subsIdBuilder_ != null || subsId_ != null;
             }
 
             /**
@@ -14542,11 +15181,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     subsId_ = value;
+                    onChanged();
                 } else {
                     subsIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -14556,11 +15194,10 @@ public final class Monitoring {
             public Builder setSubsId(monitoring.Monitoring.SubscriptionID.Builder builderForValue) {
                 if (subsIdBuilder_ == null) {
                     subsId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     subsIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -14569,16 +15206,15 @@ public final class Monitoring {
              */
             public Builder mergeSubsId(monitoring.Monitoring.SubscriptionID value) {
                 if (subsIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && subsId_ != null && subsId_ != monitoring.Monitoring.SubscriptionID.getDefaultInstance()) {
-                        getSubsIdBuilder().mergeFrom(value);
+                    if (subsId_ != null) {
+                        subsId_ = monitoring.Monitoring.SubscriptionID.newBuilder(subsId_).mergeFrom(value).buildPartial();
                     } else {
                         subsId_ = value;
                     }
+                    onChanged();
                 } else {
                     subsIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -14586,13 +15222,13 @@ public final class Monitoring {
              * .monitoring.SubscriptionID subs_id = 1;
              */
             public Builder clearSubsId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                subsId_ = null;
-                if (subsIdBuilder_ != null) {
-                    subsIdBuilder_.dispose();
+                if (subsIdBuilder_ == null) {
+                    subsId_ = null;
+                    onChanged();
+                } else {
+                    subsId_ = null;
                     subsIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -14600,7 +15236,6 @@ public final class Monitoring {
              * .monitoring.SubscriptionID subs_id = 1;
              */
             public monitoring.Monitoring.SubscriptionID.Builder getSubsIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getSubsIdFieldBuilder().getBuilder();
             }
@@ -14636,7 +15271,7 @@ public final class Monitoring {
              * @return Whether the kpiList field is set.
              */
             public boolean hasKpiList() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return kpiListBuilder_ != null || kpiList_ != null;
             }
 
             /**
@@ -14660,11 +15295,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiList_ = value;
+                    onChanged();
                 } else {
                     kpiListBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -14674,11 +15308,10 @@ public final class Monitoring {
             public Builder setKpiList(monitoring.Monitoring.KpiList.Builder builderForValue) {
                 if (kpiListBuilder_ == null) {
                     kpiList_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiListBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -14687,16 +15320,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiList(monitoring.Monitoring.KpiList value) {
                 if (kpiListBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && kpiList_ != null && kpiList_ != monitoring.Monitoring.KpiList.getDefaultInstance()) {
-                        getKpiListBuilder().mergeFrom(value);
+                    if (kpiList_ != null) {
+                        kpiList_ = monitoring.Monitoring.KpiList.newBuilder(kpiList_).mergeFrom(value).buildPartial();
                     } else {
                         kpiList_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiListBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -14704,13 +15336,13 @@ public final class Monitoring {
              * .monitoring.KpiList kpi_list = 2;
              */
             public Builder clearKpiList() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                kpiList_ = null;
-                if (kpiListBuilder_ != null) {
-                    kpiListBuilder_.dispose();
+                if (kpiListBuilder_ == null) {
+                    kpiList_ = null;
+                    onChanged();
+                } else {
+                    kpiList_ = null;
                     kpiListBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -14718,7 +15350,6 @@ public final class Monitoring {
              * .monitoring.KpiList kpi_list = 2;
              */
             public monitoring.Monitoring.KpiList.Builder getKpiListBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getKpiListFieldBuilder().getBuilder();
             }
@@ -14772,17 +15403,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public SubsResponse parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SubsResponse(input, extensionRegistry);
             }
         };
 
@@ -14853,6 +15474,57 @@ public final class Monitoring {
             return new SubsList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SubsList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    subsDescriptor_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                subsDescriptor_.add(input.readMessage(monitoring.Monitoring.SubsDescriptor.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    subsDescriptor_ = java.util.Collections.unmodifiableList(subsDescriptor_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_SubsList_descriptor;
         }
@@ -14864,7 +15536,6 @@ public final class Monitoring {
 
         public static final int SUBS_DESCRIPTOR_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List subsDescriptor_;
 
         /**
@@ -14925,7 +15596,7 @@ public final class Monitoring {
             for (int i = 0; i < subsDescriptor_.size(); i++) {
                 output.writeMessage(1, subsDescriptor_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -14937,7 +15608,7 @@ public final class Monitoring {
             for (int i = 0; i < subsDescriptor_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, subsDescriptor_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -14953,7 +15624,7 @@ public final class Monitoring {
             monitoring.Monitoring.SubsList other = (monitoring.Monitoring.SubsList) obj;
             if (!getSubsDescriptorList().equals(other.getSubsDescriptorList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -14969,7 +15640,7 @@ public final class Monitoring {
                 hash = (37 * hash) + SUBS_DESCRIPTOR_FIELD_NUMBER;
                 hash = (53 * hash) + getSubsDescriptorList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -15063,23 +15734,29 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.SubsList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getSubsDescriptorFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (subsDescriptorBuilder_ == null) {
                     subsDescriptor_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    subsDescriptor_ = null;
                     subsDescriptorBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -15105,15 +15782,7 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.SubsList buildPartial() {
                 monitoring.Monitoring.SubsList result = new monitoring.Monitoring.SubsList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(monitoring.Monitoring.SubsList result) {
+                int from_bitField0_ = bitField0_;
                 if (subsDescriptorBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         subsDescriptor_ = java.util.Collections.unmodifiableList(subsDescriptor_);
@@ -15123,10 +15792,38 @@ public final class Monitoring {
                 } else {
                     result.subsDescriptor_ = subsDescriptorBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.SubsList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -15166,7 +15863,7 @@ public final class Monitoring {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -15178,47 +15875,17 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.SubsList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    monitoring.Monitoring.SubsDescriptor m = input.readMessage(monitoring.Monitoring.SubsDescriptor.parser(), extensionRegistry);
-                                    if (subsDescriptorBuilder_ == null) {
-                                        ensureSubsDescriptorIsMutable();
-                                        subsDescriptor_.add(m);
-                                    } else {
-                                        subsDescriptorBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.SubsList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -15488,17 +16155,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public SubsList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SubsList(input, extensionRegistry);
             }
         };
 
@@ -15637,6 +16294,108 @@ public final class Monitoring {
             return new AlarmDescriptor();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private AlarmDescriptor(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                monitoring.Monitoring.AlarmID.Builder subBuilder = null;
+                                if (alarmId_ != null) {
+                                    subBuilder = alarmId_.toBuilder();
+                                }
+                                alarmId_ = input.readMessage(monitoring.Monitoring.AlarmID.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(alarmId_);
+                                    alarmId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                alarmDescription_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 34:
+                            {
+                                monitoring.Monitoring.KpiId.Builder subBuilder = null;
+                                if (kpiId_ != null) {
+                                    subBuilder = kpiId_.toBuilder();
+                                }
+                                kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiId_);
+                                    kpiId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 42:
+                            {
+                                monitoring.Monitoring.KpiValueRange.Builder subBuilder = null;
+                                if (kpiValueRange_ != null) {
+                                    subBuilder = kpiValueRange_.toBuilder();
+                                }
+                                kpiValueRange_ = input.readMessage(monitoring.Monitoring.KpiValueRange.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiValueRange_);
+                                    kpiValueRange_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 50:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (timestamp_ != null) {
+                                    subBuilder = timestamp_.toBuilder();
+                                }
+                                timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(timestamp_);
+                                    timestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_AlarmDescriptor_descriptor;
         }
@@ -15673,13 +16432,12 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.AlarmIDOrBuilder getAlarmIdOrBuilder() {
-            return alarmId_ == null ? monitoring.Monitoring.AlarmID.getDefaultInstance() : alarmId_;
+            return getAlarmId();
         }
 
         public static final int ALARM_DESCRIPTION_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object alarmDescription_ = "";
+        private volatile java.lang.Object alarmDescription_;
 
         /**
          * string alarm_description = 2;
@@ -15716,8 +16474,7 @@ public final class Monitoring {
 
         public static final int NAME_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 3;
@@ -15779,7 +16536,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() {
-            return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_;
+            return getKpiId();
         }
 
         public static final int KPI_VALUE_RANGE_FIELD_NUMBER = 5;
@@ -15809,7 +16566,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiValueRangeOrBuilder getKpiValueRangeOrBuilder() {
-            return kpiValueRange_ == null ? monitoring.Monitoring.KpiValueRange.getDefaultInstance() : kpiValueRange_;
+            return getKpiValueRange();
         }
 
         public static final int TIMESTAMP_FIELD_NUMBER = 6;
@@ -15839,7 +16596,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() {
-            return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_;
+            return getTimestamp();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -15860,10 +16617,10 @@ public final class Monitoring {
             if (alarmId_ != null) {
                 output.writeMessage(1, getAlarmId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(alarmDescription_)) {
+            if (!getAlarmDescriptionBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, alarmDescription_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 3, name_);
             }
             if (kpiId_ != null) {
@@ -15875,7 +16632,7 @@ public final class Monitoring {
             if (timestamp_ != null) {
                 output.writeMessage(6, getTimestamp());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -15887,10 +16644,10 @@ public final class Monitoring {
             if (alarmId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getAlarmId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(alarmDescription_)) {
+            if (!getAlarmDescriptionBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, alarmDescription_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, name_);
             }
             if (kpiId_ != null) {
@@ -15902,7 +16659,7 @@ public final class Monitoring {
             if (timestamp_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getTimestamp());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -15944,7 +16701,7 @@ public final class Monitoring {
                 if (!getTimestamp().equals(other.getTimestamp()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -15976,7 +16733,7 @@ public final class Monitoring {
                 hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
                 hash = (53 * hash) + getTimestamp().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -16070,36 +16827,46 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.AlarmDescriptor.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                alarmId_ = null;
-                if (alarmIdBuilder_ != null) {
-                    alarmIdBuilder_.dispose();
+                if (alarmIdBuilder_ == null) {
+                    alarmId_ = null;
+                } else {
+                    alarmId_ = null;
                     alarmIdBuilder_ = null;
                 }
                 alarmDescription_ = "";
                 name_ = "";
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
-                kpiValueRange_ = null;
-                if (kpiValueRangeBuilder_ != null) {
-                    kpiValueRangeBuilder_.dispose();
+                if (kpiValueRangeBuilder_ == null) {
+                    kpiValueRange_ = null;
+                } else {
+                    kpiValueRange_ = null;
                     kpiValueRangeBuilder_ = null;
                 }
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
                 return this;
@@ -16127,33 +16894,60 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.AlarmDescriptor buildPartial() {
                 monitoring.Monitoring.AlarmDescriptor result = new monitoring.Monitoring.AlarmDescriptor(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (alarmIdBuilder_ == null) {
+                    result.alarmId_ = alarmId_;
+                } else {
+                    result.alarmId_ = alarmIdBuilder_.build();
+                }
+                result.alarmDescription_ = alarmDescription_;
+                result.name_ = name_;
+                if (kpiIdBuilder_ == null) {
+                    result.kpiId_ = kpiId_;
+                } else {
+                    result.kpiId_ = kpiIdBuilder_.build();
+                }
+                if (kpiValueRangeBuilder_ == null) {
+                    result.kpiValueRange_ = kpiValueRange_;
+                } else {
+                    result.kpiValueRange_ = kpiValueRangeBuilder_.build();
+                }
+                if (timestampBuilder_ == null) {
+                    result.timestamp_ = timestamp_;
+                } else {
+                    result.timestamp_ = timestampBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.AlarmDescriptor result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.alarmId_ = alarmIdBuilder_ == null ? alarmId_ : alarmIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.alarmDescription_ = alarmDescription_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.name_ = name_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.kpiId_ = kpiIdBuilder_ == null ? kpiId_ : kpiIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.kpiValueRange_ = kpiValueRangeBuilder_ == null ? kpiValueRange_ : kpiValueRangeBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000020) != 0)) {
-                    result.timestamp_ = timestampBuilder_ == null ? timestamp_ : timestampBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -16174,12 +16968,10 @@ public final class Monitoring {
                 }
                 if (!other.getAlarmDescription().isEmpty()) {
                     alarmDescription_ = other.alarmDescription_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000004;
                     onChanged();
                 }
                 if (other.hasKpiId()) {
@@ -16191,7 +16983,7 @@ public final class Monitoring {
                 if (other.hasTimestamp()) {
                     mergeTimestamp(other.getTimestamp());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -16203,82 +16995,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.AlarmDescriptor parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getAlarmIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    alarmDescription_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    input.readMessage(getKpiIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    input.readMessage(getKpiValueRangeFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 42
-                            case 50:
-                                {
-                                    input.readMessage(getTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000020;
-                                    break;
-                                }
-                            // case 50
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.AlarmDescriptor) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private monitoring.Monitoring.AlarmID alarmId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 alarmIdBuilder_;
@@ -16288,7 +17018,7 @@ public final class Monitoring {
              * @return Whether the alarmId field is set.
              */
             public boolean hasAlarmId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return alarmIdBuilder_ != null || alarmId_ != null;
             }
 
             /**
@@ -16312,11 +17042,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     alarmId_ = value;
+                    onChanged();
                 } else {
                     alarmIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -16326,11 +17055,10 @@ public final class Monitoring {
             public Builder setAlarmId(monitoring.Monitoring.AlarmID.Builder builderForValue) {
                 if (alarmIdBuilder_ == null) {
                     alarmId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     alarmIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -16339,16 +17067,15 @@ public final class Monitoring {
              */
             public Builder mergeAlarmId(monitoring.Monitoring.AlarmID value) {
                 if (alarmIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && alarmId_ != null && alarmId_ != monitoring.Monitoring.AlarmID.getDefaultInstance()) {
-                        getAlarmIdBuilder().mergeFrom(value);
+                    if (alarmId_ != null) {
+                        alarmId_ = monitoring.Monitoring.AlarmID.newBuilder(alarmId_).mergeFrom(value).buildPartial();
                     } else {
                         alarmId_ = value;
                     }
+                    onChanged();
                 } else {
                     alarmIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -16356,13 +17083,13 @@ public final class Monitoring {
              * .monitoring.AlarmID alarm_id = 1;
              */
             public Builder clearAlarmId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                alarmId_ = null;
-                if (alarmIdBuilder_ != null) {
-                    alarmIdBuilder_.dispose();
+                if (alarmIdBuilder_ == null) {
+                    alarmId_ = null;
+                    onChanged();
+                } else {
+                    alarmId_ = null;
                     alarmIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -16370,7 +17097,6 @@ public final class Monitoring {
              * .monitoring.AlarmID alarm_id = 1;
              */
             public monitoring.Monitoring.AlarmID.Builder getAlarmIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getAlarmIdFieldBuilder().getBuilder();
             }
@@ -16440,7 +17166,6 @@ public final class Monitoring {
                     throw new NullPointerException();
                 }
                 alarmDescription_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -16451,7 +17176,6 @@ public final class Monitoring {
              */
             public Builder clearAlarmDescription() {
                 alarmDescription_ = getDefaultInstance().getAlarmDescription();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -16467,7 +17191,6 @@ public final class Monitoring {
                 }
                 checkByteStringIsUtf8(value);
                 alarmDescription_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -16515,7 +17238,6 @@ public final class Monitoring {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -16526,7 +17248,6 @@ public final class Monitoring {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000004);
                 onChanged();
                 return this;
             }
@@ -16542,7 +17263,6 @@ public final class Monitoring {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -16556,7 +17276,7 @@ public final class Monitoring {
              * @return Whether the kpiId field is set.
              */
             public boolean hasKpiId() {
-                return ((bitField0_ & 0x00000008) != 0);
+                return kpiIdBuilder_ != null || kpiId_ != null;
             }
 
             /**
@@ -16580,11 +17300,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiId_ = value;
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -16594,11 +17313,10 @@ public final class Monitoring {
             public Builder setKpiId(monitoring.Monitoring.KpiId.Builder builderForValue) {
                 if (kpiIdBuilder_ == null) {
                     kpiId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -16607,16 +17325,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiId(monitoring.Monitoring.KpiId value) {
                 if (kpiIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0) && kpiId_ != null && kpiId_ != monitoring.Monitoring.KpiId.getDefaultInstance()) {
-                        getKpiIdBuilder().mergeFrom(value);
+                    if (kpiId_ != null) {
+                        kpiId_ = monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial();
                     } else {
                         kpiId_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -16624,13 +17341,13 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 4;
              */
             public Builder clearKpiId() {
-                bitField0_ = (bitField0_ & ~0x00000008);
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                    onChanged();
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -16638,7 +17355,6 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 4;
              */
             public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() {
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return getKpiIdFieldBuilder().getBuilder();
             }
@@ -16674,7 +17390,7 @@ public final class Monitoring {
              * @return Whether the kpiValueRange field is set.
              */
             public boolean hasKpiValueRange() {
-                return ((bitField0_ & 0x00000010) != 0);
+                return kpiValueRangeBuilder_ != null || kpiValueRange_ != null;
             }
 
             /**
@@ -16698,11 +17414,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiValueRange_ = value;
+                    onChanged();
                 } else {
                     kpiValueRangeBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -16712,11 +17427,10 @@ public final class Monitoring {
             public Builder setKpiValueRange(monitoring.Monitoring.KpiValueRange.Builder builderForValue) {
                 if (kpiValueRangeBuilder_ == null) {
                     kpiValueRange_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiValueRangeBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -16725,16 +17439,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiValueRange(monitoring.Monitoring.KpiValueRange value) {
                 if (kpiValueRangeBuilder_ == null) {
-                    if (((bitField0_ & 0x00000010) != 0) && kpiValueRange_ != null && kpiValueRange_ != monitoring.Monitoring.KpiValueRange.getDefaultInstance()) {
-                        getKpiValueRangeBuilder().mergeFrom(value);
+                    if (kpiValueRange_ != null) {
+                        kpiValueRange_ = monitoring.Monitoring.KpiValueRange.newBuilder(kpiValueRange_).mergeFrom(value).buildPartial();
                     } else {
                         kpiValueRange_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiValueRangeBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -16742,13 +17455,13 @@ public final class Monitoring {
              * .monitoring.KpiValueRange kpi_value_range = 5;
              */
             public Builder clearKpiValueRange() {
-                bitField0_ = (bitField0_ & ~0x00000010);
-                kpiValueRange_ = null;
-                if (kpiValueRangeBuilder_ != null) {
-                    kpiValueRangeBuilder_.dispose();
+                if (kpiValueRangeBuilder_ == null) {
+                    kpiValueRange_ = null;
+                    onChanged();
+                } else {
+                    kpiValueRange_ = null;
                     kpiValueRangeBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -16756,7 +17469,6 @@ public final class Monitoring {
              * .monitoring.KpiValueRange kpi_value_range = 5;
              */
             public monitoring.Monitoring.KpiValueRange.Builder getKpiValueRangeBuilder() {
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return getKpiValueRangeFieldBuilder().getBuilder();
             }
@@ -16792,7 +17504,7 @@ public final class Monitoring {
              * @return Whether the timestamp field is set.
              */
             public boolean hasTimestamp() {
-                return ((bitField0_ & 0x00000020) != 0);
+                return timestampBuilder_ != null || timestamp_ != null;
             }
 
             /**
@@ -16816,11 +17528,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     timestamp_ = value;
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -16830,11 +17541,10 @@ public final class Monitoring {
             public Builder setTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (timestampBuilder_ == null) {
                     timestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -16843,16 +17553,15 @@ public final class Monitoring {
              */
             public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (timestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000020) != 0) && timestamp_ != null && timestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getTimestampBuilder().mergeFrom(value);
+                    if (timestamp_ != null) {
+                        timestamp_ = context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial();
                     } else {
                         timestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     timestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -16860,13 +17569,13 @@ public final class Monitoring {
              * .context.Timestamp timestamp = 6;
              */
             public Builder clearTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000020);
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                    onChanged();
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -16874,7 +17583,6 @@ public final class Monitoring {
              * .context.Timestamp timestamp = 6;
              */
             public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() {
-                bitField0_ |= 0x00000020;
                 onChanged();
                 return getTimestampFieldBuilder().getBuilder();
             }
@@ -16928,17 +17636,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public AlarmDescriptor parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new AlarmDescriptor(input, extensionRegistry);
             }
         };
 
@@ -17000,6 +17698,57 @@ public final class Monitoring {
             return new AlarmID();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private AlarmID(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (alarmId_ != null) {
+                                    subBuilder = alarmId_.toBuilder();
+                                }
+                                alarmId_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(alarmId_);
+                                    alarmId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_AlarmID_descriptor;
         }
@@ -17036,7 +17785,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getAlarmIdOrBuilder() {
-            return alarmId_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : alarmId_;
+            return getAlarmId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -17057,7 +17806,7 @@ public final class Monitoring {
             if (alarmId_ != null) {
                 output.writeMessage(1, getAlarmId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -17069,7 +17818,7 @@ public final class Monitoring {
             if (alarmId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getAlarmId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -17089,7 +17838,7 @@ public final class Monitoring {
                 if (!getAlarmId().equals(other.getAlarmId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -17105,7 +17854,7 @@ public final class Monitoring {
                 hash = (37 * hash) + ALARM_ID_FIELD_NUMBER;
                 hash = (53 * hash) + getAlarmId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -17199,19 +17948,26 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.AlarmID.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                alarmId_ = null;
-                if (alarmIdBuilder_ != null) {
-                    alarmIdBuilder_.dispose();
+                if (alarmIdBuilder_ == null) {
+                    alarmId_ = null;
+                } else {
+                    alarmId_ = null;
                     alarmIdBuilder_ = null;
                 }
                 return this;
@@ -17239,18 +17995,43 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.AlarmID buildPartial() {
                 monitoring.Monitoring.AlarmID result = new monitoring.Monitoring.AlarmID(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (alarmIdBuilder_ == null) {
+                    result.alarmId_ = alarmId_;
+                } else {
+                    result.alarmId_ = alarmIdBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.AlarmID result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.alarmId_ = alarmIdBuilder_ == null ? alarmId_ : alarmIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -17269,7 +18050,7 @@ public final class Monitoring {
                 if (other.hasAlarmId()) {
                     mergeAlarmId(other.getAlarmId());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -17278,50 +18059,23 @@ public final class Monitoring {
             public final boolean isInitialized() {
                 return true;
             }
-
-            @java.lang.Override
-            public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
-                try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getAlarmIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+
+            @java.lang.Override
+            public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
+                monitoring.Monitoring.AlarmID parsedMessage = null;
+                try {
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.AlarmID) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid alarmId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 alarmIdBuilder_;
@@ -17331,7 +18085,7 @@ public final class Monitoring {
              * @return Whether the alarmId field is set.
              */
             public boolean hasAlarmId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return alarmIdBuilder_ != null || alarmId_ != null;
             }
 
             /**
@@ -17355,11 +18109,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     alarmId_ = value;
+                    onChanged();
                 } else {
                     alarmIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -17369,11 +18122,10 @@ public final class Monitoring {
             public Builder setAlarmId(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (alarmIdBuilder_ == null) {
                     alarmId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     alarmIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -17382,16 +18134,15 @@ public final class Monitoring {
              */
             public Builder mergeAlarmId(context.ContextOuterClass.Uuid value) {
                 if (alarmIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && alarmId_ != null && alarmId_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getAlarmIdBuilder().mergeFrom(value);
+                    if (alarmId_ != null) {
+                        alarmId_ = context.ContextOuterClass.Uuid.newBuilder(alarmId_).mergeFrom(value).buildPartial();
                     } else {
                         alarmId_ = value;
                     }
+                    onChanged();
                 } else {
                     alarmIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -17399,13 +18150,13 @@ public final class Monitoring {
              * .context.Uuid alarm_id = 1;
              */
             public Builder clearAlarmId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                alarmId_ = null;
-                if (alarmIdBuilder_ != null) {
-                    alarmIdBuilder_.dispose();
+                if (alarmIdBuilder_ == null) {
+                    alarmId_ = null;
+                    onChanged();
+                } else {
+                    alarmId_ = null;
                     alarmIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -17413,7 +18164,6 @@ public final class Monitoring {
              * .context.Uuid alarm_id = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getAlarmIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getAlarmIdFieldBuilder().getBuilder();
             }
@@ -17467,17 +18217,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public AlarmID parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new AlarmID(input, extensionRegistry);
             }
         };
 
@@ -17551,6 +18291,67 @@ public final class Monitoring {
             return new AlarmSubscription();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private AlarmSubscription(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                monitoring.Monitoring.AlarmID.Builder subBuilder = null;
+                                if (alarmId_ != null) {
+                                    subBuilder = alarmId_.toBuilder();
+                                }
+                                alarmId_ = input.readMessage(monitoring.Monitoring.AlarmID.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(alarmId_);
+                                    alarmId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 21:
+                            {
+                                subscriptionTimeoutS_ = input.readFloat();
+                                break;
+                            }
+                        case 29:
+                            {
+                                subscriptionFrequencyMs_ = input.readFloat();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_AlarmSubscription_descriptor;
         }
@@ -17587,12 +18388,12 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.AlarmIDOrBuilder getAlarmIdOrBuilder() {
-            return alarmId_ == null ? monitoring.Monitoring.AlarmID.getDefaultInstance() : alarmId_;
+            return getAlarmId();
         }
 
         public static final int SUBSCRIPTION_TIMEOUT_S_FIELD_NUMBER = 2;
 
-        private float subscriptionTimeoutS_ = 0F;
+        private float subscriptionTimeoutS_;
 
         /**
          * float subscription_timeout_s = 2;
@@ -17605,7 +18406,7 @@ public final class Monitoring {
 
         public static final int SUBSCRIPTION_FREQUENCY_MS_FIELD_NUMBER = 3;
 
-        private float subscriptionFrequencyMs_ = 0F;
+        private float subscriptionFrequencyMs_;
 
         /**
          * float subscription_frequency_ms = 3;
@@ -17634,13 +18435,13 @@ public final class Monitoring {
             if (alarmId_ != null) {
                 output.writeMessage(1, getAlarmId());
             }
-            if (java.lang.Float.floatToRawIntBits(subscriptionTimeoutS_) != 0) {
+            if (subscriptionTimeoutS_ != 0F) {
                 output.writeFloat(2, subscriptionTimeoutS_);
             }
-            if (java.lang.Float.floatToRawIntBits(subscriptionFrequencyMs_) != 0) {
+            if (subscriptionFrequencyMs_ != 0F) {
                 output.writeFloat(3, subscriptionFrequencyMs_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -17652,13 +18453,13 @@ public final class Monitoring {
             if (alarmId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getAlarmId());
             }
-            if (java.lang.Float.floatToRawIntBits(subscriptionTimeoutS_) != 0) {
+            if (subscriptionTimeoutS_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(2, subscriptionTimeoutS_);
             }
-            if (java.lang.Float.floatToRawIntBits(subscriptionFrequencyMs_) != 0) {
+            if (subscriptionFrequencyMs_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(3, subscriptionFrequencyMs_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -17682,7 +18483,7 @@ public final class Monitoring {
                 return false;
             if (java.lang.Float.floatToIntBits(getSubscriptionFrequencyMs()) != java.lang.Float.floatToIntBits(other.getSubscriptionFrequencyMs()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -17702,7 +18503,7 @@ public final class Monitoring {
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getSubscriptionTimeoutS());
             hash = (37 * hash) + SUBSCRIPTION_FREQUENCY_MS_FIELD_NUMBER;
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getSubscriptionFrequencyMs());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -17796,19 +18597,26 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.AlarmSubscription.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                alarmId_ = null;
-                if (alarmIdBuilder_ != null) {
-                    alarmIdBuilder_.dispose();
+                if (alarmIdBuilder_ == null) {
+                    alarmId_ = null;
+                } else {
+                    alarmId_ = null;
                     alarmIdBuilder_ = null;
                 }
                 subscriptionTimeoutS_ = 0F;
@@ -17838,24 +18646,45 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.AlarmSubscription buildPartial() {
                 monitoring.Monitoring.AlarmSubscription result = new monitoring.Monitoring.AlarmSubscription(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (alarmIdBuilder_ == null) {
+                    result.alarmId_ = alarmId_;
+                } else {
+                    result.alarmId_ = alarmIdBuilder_.build();
                 }
+                result.subscriptionTimeoutS_ = subscriptionTimeoutS_;
+                result.subscriptionFrequencyMs_ = subscriptionFrequencyMs_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.AlarmSubscription result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.alarmId_ = alarmIdBuilder_ == null ? alarmId_ : alarmIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.subscriptionTimeoutS_ = subscriptionTimeoutS_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.subscriptionFrequencyMs_ = subscriptionFrequencyMs_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -17880,7 +18709,7 @@ public final class Monitoring {
                 if (other.getSubscriptionFrequencyMs() != 0F) {
                     setSubscriptionFrequencyMs(other.getSubscriptionFrequencyMs());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -17892,61 +18721,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.AlarmSubscription parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getAlarmIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 21:
-                                {
-                                    subscriptionTimeoutS_ = input.readFloat();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 21
-                            case 29:
-                                {
-                                    subscriptionFrequencyMs_ = input.readFloat();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 29
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.AlarmSubscription) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private monitoring.Monitoring.AlarmID alarmId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 alarmIdBuilder_;
@@ -17956,7 +18744,7 @@ public final class Monitoring {
              * @return Whether the alarmId field is set.
              */
             public boolean hasAlarmId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return alarmIdBuilder_ != null || alarmId_ != null;
             }
 
             /**
@@ -17980,11 +18768,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     alarmId_ = value;
+                    onChanged();
                 } else {
                     alarmIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -17994,11 +18781,10 @@ public final class Monitoring {
             public Builder setAlarmId(monitoring.Monitoring.AlarmID.Builder builderForValue) {
                 if (alarmIdBuilder_ == null) {
                     alarmId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     alarmIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -18007,16 +18793,15 @@ public final class Monitoring {
              */
             public Builder mergeAlarmId(monitoring.Monitoring.AlarmID value) {
                 if (alarmIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && alarmId_ != null && alarmId_ != monitoring.Monitoring.AlarmID.getDefaultInstance()) {
-                        getAlarmIdBuilder().mergeFrom(value);
+                    if (alarmId_ != null) {
+                        alarmId_ = monitoring.Monitoring.AlarmID.newBuilder(alarmId_).mergeFrom(value).buildPartial();
                     } else {
                         alarmId_ = value;
                     }
+                    onChanged();
                 } else {
                     alarmIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -18024,13 +18809,13 @@ public final class Monitoring {
              * .monitoring.AlarmID alarm_id = 1;
              */
             public Builder clearAlarmId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                alarmId_ = null;
-                if (alarmIdBuilder_ != null) {
-                    alarmIdBuilder_.dispose();
+                if (alarmIdBuilder_ == null) {
+                    alarmId_ = null;
+                    onChanged();
+                } else {
+                    alarmId_ = null;
                     alarmIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -18038,7 +18823,6 @@ public final class Monitoring {
              * .monitoring.AlarmID alarm_id = 1;
              */
             public monitoring.Monitoring.AlarmID.Builder getAlarmIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getAlarmIdFieldBuilder().getBuilder();
             }
@@ -18083,7 +18867,6 @@ public final class Monitoring {
              */
             public Builder setSubscriptionTimeoutS(float value) {
                 subscriptionTimeoutS_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -18093,7 +18876,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearSubscriptionTimeoutS() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 subscriptionTimeoutS_ = 0F;
                 onChanged();
                 return this;
@@ -18117,7 +18899,6 @@ public final class Monitoring {
              */
             public Builder setSubscriptionFrequencyMs(float value) {
                 subscriptionFrequencyMs_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -18127,7 +18908,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearSubscriptionFrequencyMs() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 subscriptionFrequencyMs_ = 0F;
                 onChanged();
                 return this;
@@ -18160,17 +18940,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public AlarmSubscription parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new AlarmSubscription(input, extensionRegistry);
             }
         };
 
@@ -18262,6 +19032,76 @@ public final class Monitoring {
             return new AlarmResponse();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private AlarmResponse(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                monitoring.Monitoring.AlarmID.Builder subBuilder = null;
+                                if (alarmId_ != null) {
+                                    subBuilder = alarmId_.toBuilder();
+                                }
+                                alarmId_ = input.readMessage(monitoring.Monitoring.AlarmID.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(alarmId_);
+                                    alarmId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                text_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                monitoring.Monitoring.KpiList.Builder subBuilder = null;
+                                if (kpiList_ != null) {
+                                    subBuilder = kpiList_.toBuilder();
+                                }
+                                kpiList_ = input.readMessage(monitoring.Monitoring.KpiList.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiList_);
+                                    kpiList_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_AlarmResponse_descriptor;
         }
@@ -18298,13 +19138,12 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.AlarmIDOrBuilder getAlarmIdOrBuilder() {
-            return alarmId_ == null ? monitoring.Monitoring.AlarmID.getDefaultInstance() : alarmId_;
+            return getAlarmId();
         }
 
         public static final int TEXT_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object text_ = "";
+        private volatile java.lang.Object text_;
 
         /**
          * string text = 2;
@@ -18366,7 +19205,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiListOrBuilder getKpiListOrBuilder() {
-            return kpiList_ == null ? monitoring.Monitoring.KpiList.getDefaultInstance() : kpiList_;
+            return getKpiList();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -18387,13 +19226,13 @@ public final class Monitoring {
             if (alarmId_ != null) {
                 output.writeMessage(1, getAlarmId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(text_)) {
+            if (!getTextBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, text_);
             }
             if (kpiList_ != null) {
                 output.writeMessage(3, getKpiList());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -18405,13 +19244,13 @@ public final class Monitoring {
             if (alarmId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getAlarmId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(text_)) {
+            if (!getTextBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, text_);
             }
             if (kpiList_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getKpiList());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -18439,7 +19278,7 @@ public final class Monitoring {
                 if (!getKpiList().equals(other.getKpiList()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -18461,7 +19300,7 @@ public final class Monitoring {
                 hash = (37 * hash) + KPI_LIST_FIELD_NUMBER;
                 hash = (53 * hash) + getKpiList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -18555,25 +19394,33 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.AlarmResponse.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                alarmId_ = null;
-                if (alarmIdBuilder_ != null) {
-                    alarmIdBuilder_.dispose();
+                if (alarmIdBuilder_ == null) {
+                    alarmId_ = null;
+                } else {
+                    alarmId_ = null;
                     alarmIdBuilder_ = null;
                 }
                 text_ = "";
-                kpiList_ = null;
-                if (kpiListBuilder_ != null) {
-                    kpiListBuilder_.dispose();
+                if (kpiListBuilder_ == null) {
+                    kpiList_ = null;
+                } else {
+                    kpiList_ = null;
                     kpiListBuilder_ = null;
                 }
                 return this;
@@ -18601,24 +19448,49 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.AlarmResponse buildPartial() {
                 monitoring.Monitoring.AlarmResponse result = new monitoring.Monitoring.AlarmResponse(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (alarmIdBuilder_ == null) {
+                    result.alarmId_ = alarmId_;
+                } else {
+                    result.alarmId_ = alarmIdBuilder_.build();
+                }
+                result.text_ = text_;
+                if (kpiListBuilder_ == null) {
+                    result.kpiList_ = kpiList_;
+                } else {
+                    result.kpiList_ = kpiListBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.AlarmResponse result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.alarmId_ = alarmIdBuilder_ == null ? alarmId_ : alarmIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.text_ = text_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.kpiList_ = kpiListBuilder_ == null ? kpiList_ : kpiListBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -18639,13 +19511,12 @@ public final class Monitoring {
                 }
                 if (!other.getText().isEmpty()) {
                     text_ = other.text_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (other.hasKpiList()) {
                     mergeKpiList(other.getKpiList());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -18657,61 +19528,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.AlarmResponse parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getAlarmIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    text_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    input.readMessage(getKpiListFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.AlarmResponse) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private monitoring.Monitoring.AlarmID alarmId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 alarmIdBuilder_;
@@ -18721,7 +19551,7 @@ public final class Monitoring {
              * @return Whether the alarmId field is set.
              */
             public boolean hasAlarmId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return alarmIdBuilder_ != null || alarmId_ != null;
             }
 
             /**
@@ -18745,11 +19575,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     alarmId_ = value;
+                    onChanged();
                 } else {
                     alarmIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -18759,11 +19588,10 @@ public final class Monitoring {
             public Builder setAlarmId(monitoring.Monitoring.AlarmID.Builder builderForValue) {
                 if (alarmIdBuilder_ == null) {
                     alarmId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     alarmIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -18772,16 +19600,15 @@ public final class Monitoring {
              */
             public Builder mergeAlarmId(monitoring.Monitoring.AlarmID value) {
                 if (alarmIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && alarmId_ != null && alarmId_ != monitoring.Monitoring.AlarmID.getDefaultInstance()) {
-                        getAlarmIdBuilder().mergeFrom(value);
+                    if (alarmId_ != null) {
+                        alarmId_ = monitoring.Monitoring.AlarmID.newBuilder(alarmId_).mergeFrom(value).buildPartial();
                     } else {
                         alarmId_ = value;
                     }
+                    onChanged();
                 } else {
                     alarmIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -18789,13 +19616,13 @@ public final class Monitoring {
              * .monitoring.AlarmID alarm_id = 1;
              */
             public Builder clearAlarmId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                alarmId_ = null;
-                if (alarmIdBuilder_ != null) {
-                    alarmIdBuilder_.dispose();
+                if (alarmIdBuilder_ == null) {
+                    alarmId_ = null;
+                    onChanged();
+                } else {
+                    alarmId_ = null;
                     alarmIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -18803,7 +19630,6 @@ public final class Monitoring {
              * .monitoring.AlarmID alarm_id = 1;
              */
             public monitoring.Monitoring.AlarmID.Builder getAlarmIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getAlarmIdFieldBuilder().getBuilder();
             }
@@ -18873,7 +19699,6 @@ public final class Monitoring {
                     throw new NullPointerException();
                 }
                 text_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -18884,7 +19709,6 @@ public final class Monitoring {
              */
             public Builder clearText() {
                 text_ = getDefaultInstance().getText();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -18900,7 +19724,6 @@ public final class Monitoring {
                 }
                 checkByteStringIsUtf8(value);
                 text_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -18914,7 +19737,7 @@ public final class Monitoring {
              * @return Whether the kpiList field is set.
              */
             public boolean hasKpiList() {
-                return ((bitField0_ & 0x00000004) != 0);
+                return kpiListBuilder_ != null || kpiList_ != null;
             }
 
             /**
@@ -18938,11 +19761,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiList_ = value;
+                    onChanged();
                 } else {
                     kpiListBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -18952,11 +19774,10 @@ public final class Monitoring {
             public Builder setKpiList(monitoring.Monitoring.KpiList.Builder builderForValue) {
                 if (kpiListBuilder_ == null) {
                     kpiList_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiListBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -18965,16 +19786,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiList(monitoring.Monitoring.KpiList value) {
                 if (kpiListBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0) && kpiList_ != null && kpiList_ != monitoring.Monitoring.KpiList.getDefaultInstance()) {
-                        getKpiListBuilder().mergeFrom(value);
+                    if (kpiList_ != null) {
+                        kpiList_ = monitoring.Monitoring.KpiList.newBuilder(kpiList_).mergeFrom(value).buildPartial();
                     } else {
                         kpiList_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiListBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -18982,13 +19802,13 @@ public final class Monitoring {
              * .monitoring.KpiList kpi_list = 3;
              */
             public Builder clearKpiList() {
-                bitField0_ = (bitField0_ & ~0x00000004);
-                kpiList_ = null;
-                if (kpiListBuilder_ != null) {
-                    kpiListBuilder_.dispose();
+                if (kpiListBuilder_ == null) {
+                    kpiList_ = null;
+                    onChanged();
+                } else {
+                    kpiList_ = null;
                     kpiListBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -18996,7 +19816,6 @@ public final class Monitoring {
              * .monitoring.KpiList kpi_list = 3;
              */
             public monitoring.Monitoring.KpiList.Builder getKpiListBuilder() {
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return getKpiListFieldBuilder().getBuilder();
             }
@@ -19050,17 +19869,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public AlarmResponse parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new AlarmResponse(input, extensionRegistry);
             }
         };
 
@@ -19131,6 +19940,57 @@ public final class Monitoring {
             return new AlarmList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private AlarmList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    alarmDescriptor_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                alarmDescriptor_.add(input.readMessage(monitoring.Monitoring.AlarmDescriptor.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    alarmDescriptor_ = java.util.Collections.unmodifiableList(alarmDescriptor_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_AlarmList_descriptor;
         }
@@ -19142,7 +20002,6 @@ public final class Monitoring {
 
         public static final int ALARM_DESCRIPTOR_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List alarmDescriptor_;
 
         /**
@@ -19203,7 +20062,7 @@ public final class Monitoring {
             for (int i = 0; i < alarmDescriptor_.size(); i++) {
                 output.writeMessage(1, alarmDescriptor_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -19215,7 +20074,7 @@ public final class Monitoring {
             for (int i = 0; i < alarmDescriptor_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, alarmDescriptor_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -19231,7 +20090,7 @@ public final class Monitoring {
             monitoring.Monitoring.AlarmList other = (monitoring.Monitoring.AlarmList) obj;
             if (!getAlarmDescriptorList().equals(other.getAlarmDescriptorList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -19247,7 +20106,7 @@ public final class Monitoring {
                 hash = (37 * hash) + ALARM_DESCRIPTOR_FIELD_NUMBER;
                 hash = (53 * hash) + getAlarmDescriptorList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -19341,23 +20200,29 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.AlarmList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getAlarmDescriptorFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (alarmDescriptorBuilder_ == null) {
                     alarmDescriptor_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    alarmDescriptor_ = null;
                     alarmDescriptorBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -19383,15 +20248,7 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.AlarmList buildPartial() {
                 monitoring.Monitoring.AlarmList result = new monitoring.Monitoring.AlarmList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(monitoring.Monitoring.AlarmList result) {
+                int from_bitField0_ = bitField0_;
                 if (alarmDescriptorBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         alarmDescriptor_ = java.util.Collections.unmodifiableList(alarmDescriptor_);
@@ -19401,10 +20258,38 @@ public final class Monitoring {
                 } else {
                     result.alarmDescriptor_ = alarmDescriptorBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.AlarmList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -19444,7 +20329,7 @@ public final class Monitoring {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -19456,47 +20341,17 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.AlarmList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    monitoring.Monitoring.AlarmDescriptor m = input.readMessage(monitoring.Monitoring.AlarmDescriptor.parser(), extensionRegistry);
-                                    if (alarmDescriptorBuilder_ == null) {
-                                        ensureAlarmDescriptorIsMutable();
-                                        alarmDescriptor_.add(m);
-                                    } else {
-                                        alarmDescriptorBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.AlarmList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -19766,17 +20621,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public AlarmList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new AlarmList(input, extensionRegistry);
             }
         };
 
diff --git a/src/policy/target/generated-sources/grpc/monitoring/MonitoringServiceGrpc.java b/src/policy/target/generated-sources/grpc/monitoring/MonitoringServiceGrpc.java
index 7a275e577..83dffd625 100644
--- a/src/policy/target/generated-sources/grpc/monitoring/MonitoringServiceGrpc.java
+++ b/src/policy/target/generated-sources/grpc/monitoring/MonitoringServiceGrpc.java
@@ -4,8 +4,7 @@ import static io.grpc.MethodDescriptor.generateFullMethodName;
 
 /**
  */
-@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.55.1)", comments = "Source: monitoring.proto")
-@io.grpc.stub.annotations.GrpcGenerated
+@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.38.1)", comments = "Source: monitoring.proto")
 public final class MonitoringServiceGrpc {
 
     private MonitoringServiceGrpc() {
@@ -328,130 +327,123 @@ public final class MonitoringServiceGrpc {
 
     /**
      */
-    public interface AsyncService {
+    public static abstract class MonitoringServiceImplBase implements io.grpc.BindableService {
 
         /**
          */
-        default void setKpi(monitoring.Monitoring.KpiDescriptor request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setKpi(monitoring.Monitoring.KpiDescriptor request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetKpiMethod(), responseObserver);
         }
 
         /**
          */
-        default void deleteKpi(monitoring.Monitoring.KpiId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void deleteKpi(monitoring.Monitoring.KpiId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getDeleteKpiMethod(), responseObserver);
         }
 
         /**
          */
-        default void getKpiDescriptor(monitoring.Monitoring.KpiId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getKpiDescriptor(monitoring.Monitoring.KpiId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetKpiDescriptorMethod(), responseObserver);
         }
 
         /**
          */
-        default void getKpiDescriptorList(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getKpiDescriptorList(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetKpiDescriptorListMethod(), responseObserver);
         }
 
         /**
          */
-        default void includeKpi(monitoring.Monitoring.Kpi request, io.grpc.stub.StreamObserver responseObserver) {
+        public void includeKpi(monitoring.Monitoring.Kpi request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getIncludeKpiMethod(), responseObserver);
         }
 
         /**
          */
-        default void monitorKpi(monitoring.Monitoring.MonitorKpiRequest request, io.grpc.stub.StreamObserver responseObserver) {
+        public void monitorKpi(monitoring.Monitoring.MonitorKpiRequest request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getMonitorKpiMethod(), responseObserver);
         }
 
         /**
          */
-        default void queryKpiData(monitoring.Monitoring.KpiQuery request, io.grpc.stub.StreamObserver responseObserver) {
+        public void queryKpiData(monitoring.Monitoring.KpiQuery request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getQueryKpiDataMethod(), responseObserver);
         }
 
         /**
          */
-        default void setKpiSubscription(monitoring.Monitoring.SubsDescriptor request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setKpiSubscription(monitoring.Monitoring.SubsDescriptor request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetKpiSubscriptionMethod(), responseObserver);
         }
 
         /**
          */
-        default void getSubsDescriptor(monitoring.Monitoring.SubscriptionID request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getSubsDescriptor(monitoring.Monitoring.SubscriptionID request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetSubsDescriptorMethod(), responseObserver);
         }
 
         /**
          */
-        default void getSubscriptions(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getSubscriptions(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetSubscriptionsMethod(), responseObserver);
         }
 
         /**
          */
-        default void deleteSubscription(monitoring.Monitoring.SubscriptionID request, io.grpc.stub.StreamObserver responseObserver) {
+        public void deleteSubscription(monitoring.Monitoring.SubscriptionID request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getDeleteSubscriptionMethod(), responseObserver);
         }
 
         /**
          */
-        default void setKpiAlarm(monitoring.Monitoring.AlarmDescriptor request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setKpiAlarm(monitoring.Monitoring.AlarmDescriptor request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetKpiAlarmMethod(), responseObserver);
         }
 
         /**
          */
-        default void getAlarms(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getAlarms(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetAlarmsMethod(), responseObserver);
         }
 
         /**
          */
-        default void getAlarmDescriptor(monitoring.Monitoring.AlarmID request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getAlarmDescriptor(monitoring.Monitoring.AlarmID request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetAlarmDescriptorMethod(), responseObserver);
         }
 
         /**
          */
-        default void getAlarmResponseStream(monitoring.Monitoring.AlarmSubscription request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getAlarmResponseStream(monitoring.Monitoring.AlarmSubscription request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetAlarmResponseStreamMethod(), responseObserver);
         }
 
         /**
          */
-        default void deleteAlarm(monitoring.Monitoring.AlarmID request, io.grpc.stub.StreamObserver responseObserver) {
+        public void deleteAlarm(monitoring.Monitoring.AlarmID request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getDeleteAlarmMethod(), responseObserver);
         }
 
         /**
          */
-        default void getStreamKpi(monitoring.Monitoring.KpiId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getStreamKpi(monitoring.Monitoring.KpiId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetStreamKpiMethod(), responseObserver);
         }
 
         /**
          */
-        default void getInstantKpi(monitoring.Monitoring.KpiId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getInstantKpi(monitoring.Monitoring.KpiId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetInstantKpiMethod(), responseObserver);
         }
-    }
-
-    /**
-     * Base class for the server implementation of the service MonitoringService.
-     */
-    public static abstract class MonitoringServiceImplBase implements io.grpc.BindableService, AsyncService {
 
         @java.lang.Override
         public io.grpc.ServerServiceDefinition bindService() {
-            return MonitoringServiceGrpc.bindService(this);
+            return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getSetKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_KPI))).addMethod(getDeleteKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_DELETE_KPI))).addMethod(getGetKpiDescriptorMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_KPI_DESCRIPTOR))).addMethod(getGetKpiDescriptorListMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_KPI_DESCRIPTOR_LIST))).addMethod(getIncludeKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_INCLUDE_KPI))).addMethod(getMonitorKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_MONITOR_KPI))).addMethod(getQueryKpiDataMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_QUERY_KPI_DATA))).addMethod(getSetKpiSubscriptionMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_SET_KPI_SUBSCRIPTION))).addMethod(getGetSubsDescriptorMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_SUBS_DESCRIPTOR))).addMethod(getGetSubscriptionsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_SUBSCRIPTIONS))).addMethod(getDeleteSubscriptionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_DELETE_SUBSCRIPTION))).addMethod(getSetKpiAlarmMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_KPI_ALARM))).addMethod(getGetAlarmsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_ALARMS))).addMethod(getGetAlarmDescriptorMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_ALARM_DESCRIPTOR))).addMethod(getGetAlarmResponseStreamMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_ALARM_RESPONSE_STREAM))).addMethod(getDeleteAlarmMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_DELETE_ALARM))).addMethod(getGetStreamKpiMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_STREAM_KPI))).addMethod(getGetInstantKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_INSTANT_KPI))).build();
         }
     }
 
     /**
-     * A stub to allow clients to do asynchronous rpc calls to service MonitoringService.
      */
     public static class MonitoringServiceStub extends io.grpc.stub.AbstractAsyncStub {
 
@@ -574,7 +566,6 @@ public final class MonitoringServiceGrpc {
     }
 
     /**
-     * A stub to allow clients to do synchronous rpc calls to service MonitoringService.
      */
     public static class MonitoringServiceBlockingStub extends io.grpc.stub.AbstractBlockingStub {
 
@@ -697,7 +688,6 @@ public final class MonitoringServiceGrpc {
     }
 
     /**
-     * A stub to allow clients to do ListenableFuture-style rpc calls to service MonitoringService.
      */
     public static class MonitoringServiceFutureStub extends io.grpc.stub.AbstractFutureStub {
 
@@ -839,11 +829,11 @@ public final class MonitoringServiceGrpc {
 
     private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, io.grpc.stub.ServerCalls.ServerStreamingMethod, io.grpc.stub.ServerCalls.ClientStreamingMethod, io.grpc.stub.ServerCalls.BidiStreamingMethod {
 
-        private final AsyncService serviceImpl;
+        private final MonitoringServiceImplBase serviceImpl;
 
         private final int methodId;
 
-        MethodHandlers(AsyncService serviceImpl, int methodId) {
+        MethodHandlers(MonitoringServiceImplBase serviceImpl, int methodId) {
             this.serviceImpl = serviceImpl;
             this.methodId = methodId;
         }
@@ -921,10 +911,6 @@ public final class MonitoringServiceGrpc {
         }
     }
 
-    public static io.grpc.ServerServiceDefinition bindService(AsyncService service) {
-        return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getSetKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_KPI))).addMethod(getDeleteKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_DELETE_KPI))).addMethod(getGetKpiDescriptorMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_KPI_DESCRIPTOR))).addMethod(getGetKpiDescriptorListMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_KPI_DESCRIPTOR_LIST))).addMethod(getIncludeKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_INCLUDE_KPI))).addMethod(getMonitorKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_MONITOR_KPI))).addMethod(getQueryKpiDataMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_QUERY_KPI_DATA))).addMethod(getSetKpiSubscriptionMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_SET_KPI_SUBSCRIPTION))).addMethod(getGetSubsDescriptorMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_SUBS_DESCRIPTOR))).addMethod(getGetSubscriptionsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_SUBSCRIPTIONS))).addMethod(getDeleteSubscriptionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_DELETE_SUBSCRIPTION))).addMethod(getSetKpiAlarmMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_KPI_ALARM))).addMethod(getGetAlarmsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_ALARMS))).addMethod(getGetAlarmDescriptorMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_ALARM_DESCRIPTOR))).addMethod(getGetAlarmResponseStreamMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_ALARM_RESPONSE_STREAM))).addMethod(getDeleteAlarmMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_DELETE_ALARM))).addMethod(getGetStreamKpiMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_STREAM_KPI))).addMethod(getGetInstantKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_INSTANT_KPI))).build();
-    }
-
     private static abstract class MonitoringServiceBaseDescriptorSupplier implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier {
 
         MonitoringServiceBaseDescriptorSupplier() {
diff --git a/src/policy/target/generated-sources/grpc/policy/Policy.java b/src/policy/target/generated-sources/grpc/policy/Policy.java
index 30aa624d4..b57d9ae75 100644
--- a/src/policy/target/generated-sources/grpc/policy/Policy.java
+++ b/src/policy/target/generated-sources/grpc/policy/Policy.java
@@ -346,6 +346,57 @@ public final class Policy {
             return new PolicyRuleId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private PolicyRuleId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (uuid_ != null) {
+                                    subBuilder = uuid_.toBuilder();
+                                }
+                                uuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(uuid_);
+                                    uuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return policy.Policy.internal_static_policy_PolicyRuleId_descriptor;
         }
@@ -382,7 +433,7 @@ public final class Policy {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getUuidOrBuilder() {
-            return uuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : uuid_;
+            return getUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -403,7 +454,7 @@ public final class Policy {
             if (uuid_ != null) {
                 output.writeMessage(1, getUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -415,7 +466,7 @@ public final class Policy {
             if (uuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -435,7 +486,7 @@ public final class Policy {
                 if (!getUuid().equals(other.getUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -451,7 +502,7 @@ public final class Policy {
                 hash = (37 * hash) + UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -545,19 +596,26 @@ public final class Policy {
 
             // Construct using policy.Policy.PolicyRuleId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                uuid_ = null;
-                if (uuidBuilder_ != null) {
-                    uuidBuilder_.dispose();
+                if (uuidBuilder_ == null) {
+                    uuid_ = null;
+                } else {
+                    uuid_ = null;
                     uuidBuilder_ = null;
                 }
                 return this;
@@ -585,18 +643,43 @@ public final class Policy {
             @java.lang.Override
             public policy.Policy.PolicyRuleId buildPartial() {
                 policy.Policy.PolicyRuleId result = new policy.Policy.PolicyRuleId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (uuidBuilder_ == null) {
+                    result.uuid_ = uuid_;
+                } else {
+                    result.uuid_ = uuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(policy.Policy.PolicyRuleId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.uuid_ = uuidBuilder_ == null ? uuid_ : uuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -615,7 +698,7 @@ public final class Policy {
                 if (other.hasUuid()) {
                     mergeUuid(other.getUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -627,47 +710,20 @@ public final class Policy {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                policy.Policy.PolicyRuleId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (policy.Policy.PolicyRuleId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid uuid_;
 
             private com.google.protobuf.SingleFieldBuilderV3 uuidBuilder_;
@@ -677,7 +733,7 @@ public final class Policy {
              * @return Whether the uuid field is set.
              */
             public boolean hasUuid() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return uuidBuilder_ != null || uuid_ != null;
             }
 
             /**
@@ -701,11 +757,10 @@ public final class Policy {
                         throw new NullPointerException();
                     }
                     uuid_ = value;
+                    onChanged();
                 } else {
                     uuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -715,11 +770,10 @@ public final class Policy {
             public Builder setUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (uuidBuilder_ == null) {
                     uuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     uuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -728,16 +782,15 @@ public final class Policy {
              */
             public Builder mergeUuid(context.ContextOuterClass.Uuid value) {
                 if (uuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && uuid_ != null && uuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getUuidBuilder().mergeFrom(value);
+                    if (uuid_ != null) {
+                        uuid_ = context.ContextOuterClass.Uuid.newBuilder(uuid_).mergeFrom(value).buildPartial();
                     } else {
                         uuid_ = value;
                     }
+                    onChanged();
                 } else {
                     uuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -745,13 +798,13 @@ public final class Policy {
              * .context.Uuid uuid = 1;
              */
             public Builder clearUuid() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                uuid_ = null;
-                if (uuidBuilder_ != null) {
-                    uuidBuilder_.dispose();
+                if (uuidBuilder_ == null) {
+                    uuid_ = null;
+                    onChanged();
+                } else {
+                    uuid_ = null;
                     uuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -759,7 +812,6 @@ public final class Policy {
              * .context.Uuid uuid = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getUuidBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getUuidFieldBuilder().getBuilder();
             }
@@ -813,17 +865,7 @@ public final class Policy {
 
             @java.lang.Override
             public PolicyRuleId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new PolicyRuleId(input, extensionRegistry);
             }
         };
 
@@ -894,6 +936,56 @@ public final class Policy {
             return new PolicyRuleState();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private PolicyRuleState(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                int rawValue = input.readEnum();
+                                policyRuleState_ = rawValue;
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                policyRuleStateMessage_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return policy.Policy.internal_static_policy_PolicyRuleState_descriptor;
         }
@@ -905,7 +997,7 @@ public final class Policy {
 
         public static final int POLICYRULESTATE_FIELD_NUMBER = 1;
 
-        private int policyRuleState_ = 0;
+        private int policyRuleState_;
 
         /**
          * .policy.PolicyRuleStateEnum policyRuleState = 1;
@@ -922,14 +1014,14 @@ public final class Policy {
          */
         @java.lang.Override
         public policy.Policy.PolicyRuleStateEnum getPolicyRuleState() {
-            policy.Policy.PolicyRuleStateEnum result = policy.Policy.PolicyRuleStateEnum.forNumber(policyRuleState_);
+            @SuppressWarnings("deprecation")
+            policy.Policy.PolicyRuleStateEnum result = policy.Policy.PolicyRuleStateEnum.valueOf(policyRuleState_);
             return result == null ? policy.Policy.PolicyRuleStateEnum.UNRECOGNIZED : result;
         }
 
         public static final int POLICYRULESTATEMESSAGE_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object policyRuleStateMessage_ = "";
+        private volatile java.lang.Object policyRuleStateMessage_;
 
         /**
          * string policyRuleStateMessage = 2;
@@ -982,10 +1074,10 @@ public final class Policy {
             if (policyRuleState_ != policy.Policy.PolicyRuleStateEnum.POLICY_UNDEFINED.getNumber()) {
                 output.writeEnum(1, policyRuleState_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(policyRuleStateMessage_)) {
+            if (!getPolicyRuleStateMessageBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, policyRuleStateMessage_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -997,10 +1089,10 @@ public final class Policy {
             if (policyRuleState_ != policy.Policy.PolicyRuleStateEnum.POLICY_UNDEFINED.getNumber()) {
                 size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, policyRuleState_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(policyRuleStateMessage_)) {
+            if (!getPolicyRuleStateMessageBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, policyRuleStateMessage_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -1018,7 +1110,7 @@ public final class Policy {
                 return false;
             if (!getPolicyRuleStateMessage().equals(other.getPolicyRuleStateMessage()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -1034,7 +1126,7 @@ public final class Policy {
             hash = (53 * hash) + policyRuleState_;
             hash = (37 * hash) + POLICYRULESTATEMESSAGE_FIELD_NUMBER;
             hash = (53 * hash) + getPolicyRuleStateMessage().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -1128,16 +1220,22 @@ public final class Policy {
 
             // Construct using policy.Policy.PolicyRuleState.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 policyRuleState_ = 0;
                 policyRuleStateMessage_ = "";
                 return this;
@@ -1165,21 +1263,40 @@ public final class Policy {
             @java.lang.Override
             public policy.Policy.PolicyRuleState buildPartial() {
                 policy.Policy.PolicyRuleState result = new policy.Policy.PolicyRuleState(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.policyRuleState_ = policyRuleState_;
+                result.policyRuleStateMessage_ = policyRuleStateMessage_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(policy.Policy.PolicyRuleState result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.policyRuleState_ = policyRuleState_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.policyRuleStateMessage_ = policyRuleStateMessage_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -1200,10 +1317,9 @@ public final class Policy {
                 }
                 if (!other.getPolicyRuleStateMessage().isEmpty()) {
                     policyRuleStateMessage_ = other.policyRuleStateMessage_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -1215,54 +1331,20 @@ public final class Policy {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                policy.Policy.PolicyRuleState parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    policyRuleState_ = input.readEnum();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            case 18:
-                                {
-                                    policyRuleStateMessage_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (policy.Policy.PolicyRuleState) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private int policyRuleState_ = 0;
 
             /**
@@ -1281,7 +1363,6 @@ public final class Policy {
              */
             public Builder setPolicyRuleStateValue(int value) {
                 policyRuleState_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -1292,7 +1373,8 @@ public final class Policy {
              */
             @java.lang.Override
             public policy.Policy.PolicyRuleStateEnum getPolicyRuleState() {
-                policy.Policy.PolicyRuleStateEnum result = policy.Policy.PolicyRuleStateEnum.forNumber(policyRuleState_);
+                @SuppressWarnings("deprecation")
+                policy.Policy.PolicyRuleStateEnum result = policy.Policy.PolicyRuleStateEnum.valueOf(policyRuleState_);
                 return result == null ? policy.Policy.PolicyRuleStateEnum.UNRECOGNIZED : result;
             }
 
@@ -1305,7 +1387,6 @@ public final class Policy {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000001;
                 policyRuleState_ = value.getNumber();
                 onChanged();
                 return this;
@@ -1316,7 +1397,6 @@ public final class Policy {
              * @return This builder for chaining.
              */
             public Builder clearPolicyRuleState() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 policyRuleState_ = 0;
                 onChanged();
                 return this;
@@ -1365,7 +1445,6 @@ public final class Policy {
                     throw new NullPointerException();
                 }
                 policyRuleStateMessage_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -1376,7 +1455,6 @@ public final class Policy {
              */
             public Builder clearPolicyRuleStateMessage() {
                 policyRuleStateMessage_ = getDefaultInstance().getPolicyRuleStateMessage();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -1392,7 +1470,6 @@ public final class Policy {
                 }
                 checkByteStringIsUtf8(value);
                 policyRuleStateMessage_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -1424,17 +1501,7 @@ public final class Policy {
 
             @java.lang.Override
             public PolicyRuleState parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new PolicyRuleState(input, extensionRegistry);
             }
         };
 
@@ -1648,6 +1715,106 @@ public final class Policy {
             return new PolicyRuleBasic();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private PolicyRuleBasic(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                policy.Policy.PolicyRuleId.Builder subBuilder = null;
+                                if (policyRuleId_ != null) {
+                                    subBuilder = policyRuleId_.toBuilder();
+                                }
+                                policyRuleId_ = input.readMessage(policy.Policy.PolicyRuleId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(policyRuleId_);
+                                    policyRuleId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                policy.Policy.PolicyRuleState.Builder subBuilder = null;
+                                if (policyRuleState_ != null) {
+                                    subBuilder = policyRuleState_.toBuilder();
+                                }
+                                policyRuleState_ = input.readMessage(policy.Policy.PolicyRuleState.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(policyRuleState_);
+                                    policyRuleState_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 24:
+                            {
+                                priority_ = input.readUInt32();
+                                break;
+                            }
+                        case 34:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    conditionList_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                conditionList_.add(input.readMessage(policy.PolicyCondition.PolicyRuleCondition.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 40:
+                            {
+                                int rawValue = input.readEnum();
+                                booleanOperator_ = rawValue;
+                                break;
+                            }
+                        case 50:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+                                    actionList_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000002;
+                                }
+                                actionList_.add(input.readMessage(policy.PolicyAction.PolicyRuleAction.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    conditionList_ = java.util.Collections.unmodifiableList(conditionList_);
+                }
+                if (((mutable_bitField0_ & 0x00000002) != 0)) {
+                    actionList_ = java.util.Collections.unmodifiableList(actionList_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return policy.Policy.internal_static_policy_PolicyRuleBasic_descriptor;
         }
@@ -1684,7 +1851,7 @@ public final class Policy {
          */
         @java.lang.Override
         public policy.Policy.PolicyRuleIdOrBuilder getPolicyRuleIdOrBuilder() {
-            return policyRuleId_ == null ? policy.Policy.PolicyRuleId.getDefaultInstance() : policyRuleId_;
+            return getPolicyRuleId();
         }
 
         public static final int POLICYRULESTATE_FIELD_NUMBER = 2;
@@ -1726,12 +1893,12 @@ public final class Policy {
          */
         @java.lang.Override
         public policy.Policy.PolicyRuleStateOrBuilder getPolicyRuleStateOrBuilder() {
-            return policyRuleState_ == null ? policy.Policy.PolicyRuleState.getDefaultInstance() : policyRuleState_;
+            return getPolicyRuleState();
         }
 
         public static final int PRIORITY_FIELD_NUMBER = 3;
 
-        private int priority_ = 0;
+        private int priority_;
 
         /**
          * uint32 priority = 3;
@@ -1744,7 +1911,6 @@ public final class Policy {
 
         public static final int CONDITIONLIST_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
         private java.util.List conditionList_;
 
         /**
@@ -1809,7 +1975,7 @@ public final class Policy {
 
         public static final int BOOLEANOPERATOR_FIELD_NUMBER = 5;
 
-        private int booleanOperator_ = 0;
+        private int booleanOperator_;
 
         /**
          * 
@@ -1834,13 +2000,13 @@ public final class Policy {
          */
         @java.lang.Override
         public policy.PolicyCondition.BooleanOperator getBooleanOperator() {
-            policy.PolicyCondition.BooleanOperator result = policy.PolicyCondition.BooleanOperator.forNumber(booleanOperator_);
+            @SuppressWarnings("deprecation")
+            policy.PolicyCondition.BooleanOperator result = policy.PolicyCondition.BooleanOperator.valueOf(booleanOperator_);
             return result == null ? policy.PolicyCondition.BooleanOperator.UNRECOGNIZED : result;
         }
 
         public static final int ACTIONLIST_FIELD_NUMBER = 6;
 
-        @SuppressWarnings("serial")
         private java.util.List actionList_;
 
         /**
@@ -1936,7 +2102,7 @@ public final class Policy {
             for (int i = 0; i < actionList_.size(); i++) {
                 output.writeMessage(6, actionList_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -1963,7 +2129,7 @@ public final class Policy {
             for (int i = 0; i < actionList_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, actionList_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -1997,7 +2163,7 @@ public final class Policy {
                 return false;
             if (!getActionListList().equals(other.getActionListList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -2029,7 +2195,7 @@ public final class Policy {
                 hash = (37 * hash) + ACTIONLIST_FIELD_NUMBER;
                 hash = (53 * hash) + getActionListList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -2127,42 +2293,50 @@ public final class Policy {
 
             // Construct using policy.Policy.PolicyRuleBasic.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getConditionListFieldBuilder();
+                    getActionListFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                policyRuleId_ = null;
-                if (policyRuleIdBuilder_ != null) {
-                    policyRuleIdBuilder_.dispose();
+                if (policyRuleIdBuilder_ == null) {
+                    policyRuleId_ = null;
+                } else {
+                    policyRuleId_ = null;
                     policyRuleIdBuilder_ = null;
                 }
-                policyRuleState_ = null;
-                if (policyRuleStateBuilder_ != null) {
-                    policyRuleStateBuilder_.dispose();
+                if (policyRuleStateBuilder_ == null) {
+                    policyRuleState_ = null;
+                } else {
+                    policyRuleState_ = null;
                     policyRuleStateBuilder_ = null;
                 }
                 priority_ = 0;
                 if (conditionListBuilder_ == null) {
                     conditionList_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    conditionList_ = null;
                     conditionListBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000008);
                 booleanOperator_ = 0;
                 if (actionListBuilder_ == null) {
                     actionList_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000002);
                 } else {
-                    actionList_ = null;
                     actionListBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000020);
                 return this;
             }
 
@@ -2188,49 +2362,69 @@ public final class Policy {
             @java.lang.Override
             public policy.Policy.PolicyRuleBasic buildPartial() {
                 policy.Policy.PolicyRuleBasic result = new policy.Policy.PolicyRuleBasic(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (policyRuleIdBuilder_ == null) {
+                    result.policyRuleId_ = policyRuleId_;
+                } else {
+                    result.policyRuleId_ = policyRuleIdBuilder_.build();
                 }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(policy.Policy.PolicyRuleBasic result) {
+                if (policyRuleStateBuilder_ == null) {
+                    result.policyRuleState_ = policyRuleState_;
+                } else {
+                    result.policyRuleState_ = policyRuleStateBuilder_.build();
+                }
+                result.priority_ = priority_;
                 if (conditionListBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         conditionList_ = java.util.Collections.unmodifiableList(conditionList_);
-                        bitField0_ = (bitField0_ & ~0x00000008);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.conditionList_ = conditionList_;
                 } else {
                     result.conditionList_ = conditionListBuilder_.build();
                 }
+                result.booleanOperator_ = booleanOperator_;
                 if (actionListBuilder_ == null) {
-                    if (((bitField0_ & 0x00000020) != 0)) {
+                    if (((bitField0_ & 0x00000002) != 0)) {
                         actionList_ = java.util.Collections.unmodifiableList(actionList_);
-                        bitField0_ = (bitField0_ & ~0x00000020);
+                        bitField0_ = (bitField0_ & ~0x00000002);
                     }
                     result.actionList_ = actionList_;
                 } else {
                     result.actionList_ = actionListBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(policy.Policy.PolicyRuleBasic result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.policyRuleId_ = policyRuleIdBuilder_ == null ? policyRuleId_ : policyRuleIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.policyRuleState_ = policyRuleStateBuilder_ == null ? policyRuleState_ : policyRuleStateBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.priority_ = priority_;
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.booleanOperator_ = booleanOperator_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -2259,7 +2453,7 @@ public final class Policy {
                     if (!other.conditionList_.isEmpty()) {
                         if (conditionList_.isEmpty()) {
                             conditionList_ = other.conditionList_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureConditionListIsMutable();
                             conditionList_.addAll(other.conditionList_);
@@ -2272,7 +2466,7 @@ public final class Policy {
                             conditionListBuilder_.dispose();
                             conditionListBuilder_ = null;
                             conditionList_ = other.conditionList_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             conditionListBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getConditionListFieldBuilder() : null;
                         } else {
                             conditionListBuilder_.addAllMessages(other.conditionList_);
@@ -2286,7 +2480,7 @@ public final class Policy {
                     if (!other.actionList_.isEmpty()) {
                         if (actionList_.isEmpty()) {
                             actionList_ = other.actionList_;
-                            bitField0_ = (bitField0_ & ~0x00000020);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                         } else {
                             ensureActionListIsMutable();
                             actionList_.addAll(other.actionList_);
@@ -2299,14 +2493,14 @@ public final class Policy {
                             actionListBuilder_.dispose();
                             actionListBuilder_ = null;
                             actionList_ = other.actionList_;
-                            bitField0_ = (bitField0_ & ~0x00000020);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                             actionListBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getActionListFieldBuilder() : null;
                         } else {
                             actionListBuilder_.addAllMessages(other.actionList_);
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -2318,87 +2512,17 @@ public final class Policy {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                policy.Policy.PolicyRuleBasic parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getPolicyRuleIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getPolicyRuleStateFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 24:
-                                {
-                                    priority_ = input.readUInt32();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 34:
-                                {
-                                    policy.PolicyCondition.PolicyRuleCondition m = input.readMessage(policy.PolicyCondition.PolicyRuleCondition.parser(), extensionRegistry);
-                                    if (conditionListBuilder_ == null) {
-                                        ensureConditionListIsMutable();
-                                        conditionList_.add(m);
-                                    } else {
-                                        conditionListBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 34
-                            case 40:
-                                {
-                                    booleanOperator_ = input.readEnum();
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 40
-                            case 50:
-                                {
-                                    policy.PolicyAction.PolicyRuleAction m = input.readMessage(policy.PolicyAction.PolicyRuleAction.parser(), extensionRegistry);
-                                    if (actionListBuilder_ == null) {
-                                        ensureActionListIsMutable();
-                                        actionList_.add(m);
-                                    } else {
-                                        actionListBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 50
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (policy.Policy.PolicyRuleBasic) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -2413,7 +2537,7 @@ public final class Policy {
              * @return Whether the policyRuleId field is set.
              */
             public boolean hasPolicyRuleId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return policyRuleIdBuilder_ != null || policyRuleId_ != null;
             }
 
             /**
@@ -2437,11 +2561,10 @@ public final class Policy {
                         throw new NullPointerException();
                     }
                     policyRuleId_ = value;
+                    onChanged();
                 } else {
                     policyRuleIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -2451,11 +2574,10 @@ public final class Policy {
             public Builder setPolicyRuleId(policy.Policy.PolicyRuleId.Builder builderForValue) {
                 if (policyRuleIdBuilder_ == null) {
                     policyRuleId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     policyRuleIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -2464,16 +2586,15 @@ public final class Policy {
              */
             public Builder mergePolicyRuleId(policy.Policy.PolicyRuleId value) {
                 if (policyRuleIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && policyRuleId_ != null && policyRuleId_ != policy.Policy.PolicyRuleId.getDefaultInstance()) {
-                        getPolicyRuleIdBuilder().mergeFrom(value);
+                    if (policyRuleId_ != null) {
+                        policyRuleId_ = policy.Policy.PolicyRuleId.newBuilder(policyRuleId_).mergeFrom(value).buildPartial();
                     } else {
                         policyRuleId_ = value;
                     }
+                    onChanged();
                 } else {
                     policyRuleIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -2481,13 +2602,13 @@ public final class Policy {
              * .policy.PolicyRuleId policyRuleId = 1;
              */
             public Builder clearPolicyRuleId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                policyRuleId_ = null;
-                if (policyRuleIdBuilder_ != null) {
-                    policyRuleIdBuilder_.dispose();
+                if (policyRuleIdBuilder_ == null) {
+                    policyRuleId_ = null;
+                    onChanged();
+                } else {
+                    policyRuleId_ = null;
                     policyRuleIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -2495,7 +2616,6 @@ public final class Policy {
              * .policy.PolicyRuleId policyRuleId = 1;
              */
             public policy.Policy.PolicyRuleId.Builder getPolicyRuleIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getPolicyRuleIdFieldBuilder().getBuilder();
             }
@@ -2535,7 +2655,7 @@ public final class Policy {
              *  @return Whether the policyRuleState field is set.
              */
             public boolean hasPolicyRuleState() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return policyRuleStateBuilder_ != null || policyRuleState_ != null;
             }
 
             /**
@@ -2567,11 +2687,10 @@ public final class Policy {
                         throw new NullPointerException();
                     }
                     policyRuleState_ = value;
+                    onChanged();
                 } else {
                     policyRuleStateBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -2585,11 +2704,10 @@ public final class Policy {
             public Builder setPolicyRuleState(policy.Policy.PolicyRuleState.Builder builderForValue) {
                 if (policyRuleStateBuilder_ == null) {
                     policyRuleState_ = builderForValue.build();
+                    onChanged();
                 } else {
                     policyRuleStateBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -2602,16 +2720,15 @@ public final class Policy {
              */
             public Builder mergePolicyRuleState(policy.Policy.PolicyRuleState value) {
                 if (policyRuleStateBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && policyRuleState_ != null && policyRuleState_ != policy.Policy.PolicyRuleState.getDefaultInstance()) {
-                        getPolicyRuleStateBuilder().mergeFrom(value);
+                    if (policyRuleState_ != null) {
+                        policyRuleState_ = policy.Policy.PolicyRuleState.newBuilder(policyRuleState_).mergeFrom(value).buildPartial();
                     } else {
                         policyRuleState_ = value;
                     }
+                    onChanged();
                 } else {
                     policyRuleStateBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -2623,13 +2740,13 @@ public final class Policy {
              *  .policy.PolicyRuleState policyRuleState = 2;
              */
             public Builder clearPolicyRuleState() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                policyRuleState_ = null;
-                if (policyRuleStateBuilder_ != null) {
-                    policyRuleStateBuilder_.dispose();
+                if (policyRuleStateBuilder_ == null) {
+                    policyRuleState_ = null;
+                    onChanged();
+                } else {
+                    policyRuleState_ = null;
                     policyRuleStateBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -2641,7 +2758,6 @@ public final class Policy {
              *  .policy.PolicyRuleState policyRuleState = 2;
              */
             public policy.Policy.PolicyRuleState.Builder getPolicyRuleStateBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getPolicyRuleStateFieldBuilder().getBuilder();
             }
@@ -2694,7 +2810,6 @@ public final class Policy {
              */
             public Builder setPriority(int value) {
                 priority_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -2704,7 +2819,6 @@ public final class Policy {
              * @return This builder for chaining.
              */
             public Builder clearPriority() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 priority_ = 0;
                 onChanged();
                 return this;
@@ -2713,9 +2827,9 @@ public final class Policy {
             private java.util.List conditionList_ = java.util.Collections.emptyList();
 
             private void ensureConditionListIsMutable() {
-                if (!((bitField0_ & 0x00000008) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     conditionList_ = new java.util.ArrayList(conditionList_);
-                    bitField0_ |= 0x00000008;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -2911,7 +3025,7 @@ public final class Policy {
             public Builder clearConditionList() {
                 if (conditionListBuilder_ == null) {
                     conditionList_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000008);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     conditionListBuilder_.clear();
@@ -3013,7 +3127,7 @@ public final class Policy {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getConditionListFieldBuilder() {
                 if (conditionListBuilder_ == null) {
-                    conditionListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(conditionList_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
+                    conditionListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(conditionList_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     conditionList_ = null;
                 }
                 return conditionListBuilder_;
@@ -3045,7 +3159,6 @@ public final class Policy {
              */
             public Builder setBooleanOperatorValue(int value) {
                 booleanOperator_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -3060,7 +3173,8 @@ public final class Policy {
              */
             @java.lang.Override
             public policy.PolicyCondition.BooleanOperator getBooleanOperator() {
-                policy.PolicyCondition.BooleanOperator result = policy.PolicyCondition.BooleanOperator.forNumber(booleanOperator_);
+                @SuppressWarnings("deprecation")
+                policy.PolicyCondition.BooleanOperator result = policy.PolicyCondition.BooleanOperator.valueOf(booleanOperator_);
                 return result == null ? policy.PolicyCondition.BooleanOperator.UNRECOGNIZED : result;
             }
 
@@ -3077,7 +3191,6 @@ public final class Policy {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000010;
                 booleanOperator_ = value.getNumber();
                 onChanged();
                 return this;
@@ -3092,7 +3205,6 @@ public final class Policy {
              * @return This builder for chaining.
              */
             public Builder clearBooleanOperator() {
-                bitField0_ = (bitField0_ & ~0x00000010);
                 booleanOperator_ = 0;
                 onChanged();
                 return this;
@@ -3101,9 +3213,9 @@ public final class Policy {
             private java.util.List actionList_ = java.util.Collections.emptyList();
 
             private void ensureActionListIsMutable() {
-                if (!((bitField0_ & 0x00000020) != 0)) {
+                if (!((bitField0_ & 0x00000002) != 0)) {
                     actionList_ = new java.util.ArrayList(actionList_);
-                    bitField0_ |= 0x00000020;
+                    bitField0_ |= 0x00000002;
                 }
             }
 
@@ -3299,7 +3411,7 @@ public final class Policy {
             public Builder clearActionList() {
                 if (actionListBuilder_ == null) {
                     actionList_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000020);
+                    bitField0_ = (bitField0_ & ~0x00000002);
                     onChanged();
                 } else {
                     actionListBuilder_.clear();
@@ -3401,7 +3513,7 @@ public final class Policy {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getActionListFieldBuilder() {
                 if (actionListBuilder_ == null) {
-                    actionListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(actionList_, ((bitField0_ & 0x00000020) != 0), getParentForChildren(), isClean());
+                    actionListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(actionList_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
                     actionList_ = null;
                 }
                 return actionListBuilder_;
@@ -3434,17 +3546,7 @@ public final class Policy {
 
             @java.lang.Override
             public PolicyRuleBasic parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new PolicyRuleBasic(input, extensionRegistry);
             }
         };
 
@@ -3597,6 +3699,83 @@ public final class Policy {
             return new PolicyRuleService();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private PolicyRuleService(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                policy.Policy.PolicyRuleBasic.Builder subBuilder = null;
+                                if (policyRuleBasic_ != null) {
+                                    subBuilder = policyRuleBasic_.toBuilder();
+                                }
+                                policyRuleBasic_ = input.readMessage(policy.Policy.PolicyRuleBasic.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(policyRuleBasic_);
+                                    policyRuleBasic_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.ServiceId.Builder subBuilder = null;
+                                if (serviceId_ != null) {
+                                    subBuilder = serviceId_.toBuilder();
+                                }
+                                serviceId_ = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(serviceId_);
+                                    serviceId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 26:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    deviceList_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                deviceList_.add(input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    deviceList_ = java.util.Collections.unmodifiableList(deviceList_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return policy.Policy.internal_static_policy_PolicyRuleService_descriptor;
         }
@@ -3645,7 +3824,7 @@ public final class Policy {
          */
         @java.lang.Override
         public policy.Policy.PolicyRuleBasicOrBuilder getPolicyRuleBasicOrBuilder() {
-            return policyRuleBasic_ == null ? policy.Policy.PolicyRuleBasic.getDefaultInstance() : policyRuleBasic_;
+            return getPolicyRuleBasic();
         }
 
         public static final int SERVICEID_FIELD_NUMBER = 2;
@@ -3687,12 +3866,11 @@ public final class Policy {
          */
         @java.lang.Override
         public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() {
-            return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_;
+            return getServiceId();
         }
 
         public static final int DEVICELIST_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
         private java.util.List deviceList_;
 
         /**
@@ -3779,7 +3957,7 @@ public final class Policy {
             for (int i = 0; i < deviceList_.size(); i++) {
                 output.writeMessage(3, deviceList_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -3797,7 +3975,7 @@ public final class Policy {
             for (int i = 0; i < deviceList_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, deviceList_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -3825,7 +4003,7 @@ public final class Policy {
             }
             if (!getDeviceListList().equals(other.getDeviceListList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -3849,7 +4027,7 @@ public final class Policy {
                 hash = (37 * hash) + DEVICELIST_FIELD_NUMBER;
                 hash = (53 * hash) + getDeviceListList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -3947,33 +4125,41 @@ public final class Policy {
 
             // Construct using policy.Policy.PolicyRuleService.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getDeviceListFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                policyRuleBasic_ = null;
-                if (policyRuleBasicBuilder_ != null) {
-                    policyRuleBasicBuilder_.dispose();
+                if (policyRuleBasicBuilder_ == null) {
+                    policyRuleBasic_ = null;
+                } else {
+                    policyRuleBasic_ = null;
                     policyRuleBasicBuilder_ = null;
                 }
-                serviceId_ = null;
-                if (serviceIdBuilder_ != null) {
-                    serviceIdBuilder_.dispose();
+                if (serviceIdBuilder_ == null) {
+                    serviceId_ = null;
+                } else {
+                    serviceId_ = null;
                     serviceIdBuilder_ = null;
                 }
                 if (deviceListBuilder_ == null) {
                     deviceList_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    deviceList_ = null;
                     deviceListBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000004);
                 return this;
             }
 
@@ -3999,34 +4185,58 @@ public final class Policy {
             @java.lang.Override
             public policy.Policy.PolicyRuleService buildPartial() {
                 policy.Policy.PolicyRuleService result = new policy.Policy.PolicyRuleService(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (policyRuleBasicBuilder_ == null) {
+                    result.policyRuleBasic_ = policyRuleBasic_;
+                } else {
+                    result.policyRuleBasic_ = policyRuleBasicBuilder_.build();
+                }
+                if (serviceIdBuilder_ == null) {
+                    result.serviceId_ = serviceId_;
+                } else {
+                    result.serviceId_ = serviceIdBuilder_.build();
                 }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(policy.Policy.PolicyRuleService result) {
                 if (deviceListBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         deviceList_ = java.util.Collections.unmodifiableList(deviceList_);
-                        bitField0_ = (bitField0_ & ~0x00000004);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.deviceList_ = deviceList_;
                 } else {
                     result.deviceList_ = deviceListBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(policy.Policy.PolicyRuleService result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.policyRuleBasic_ = policyRuleBasicBuilder_ == null ? policyRuleBasic_ : policyRuleBasicBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.serviceId_ = serviceIdBuilder_ == null ? serviceId_ : serviceIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -4052,7 +4262,7 @@ public final class Policy {
                     if (!other.deviceList_.isEmpty()) {
                         if (deviceList_.isEmpty()) {
                             deviceList_ = other.deviceList_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureDeviceListIsMutable();
                             deviceList_.addAll(other.deviceList_);
@@ -4065,14 +4275,14 @@ public final class Policy {
                             deviceListBuilder_.dispose();
                             deviceListBuilder_ = null;
                             deviceList_ = other.deviceList_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             deviceListBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getDeviceListFieldBuilder() : null;
                         } else {
                             deviceListBuilder_.addAllMessages(other.deviceList_);
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -4084,61 +4294,17 @@ public final class Policy {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                policy.Policy.PolicyRuleService parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getPolicyRuleBasicFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getServiceIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    context.ContextOuterClass.DeviceId m = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry);
-                                    if (deviceListBuilder_ == null) {
-                                        ensureDeviceListIsMutable();
-                                        deviceList_.add(m);
-                                    } else {
-                                        deviceListBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 26
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (policy.Policy.PolicyRuleService) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -4157,7 +4323,7 @@ public final class Policy {
              * @return Whether the policyRuleBasic field is set.
              */
             public boolean hasPolicyRuleBasic() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return policyRuleBasicBuilder_ != null || policyRuleBasic_ != null;
             }
 
             /**
@@ -4189,11 +4355,10 @@ public final class Policy {
                         throw new NullPointerException();
                     }
                     policyRuleBasic_ = value;
+                    onChanged();
                 } else {
                     policyRuleBasicBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -4207,11 +4372,10 @@ public final class Policy {
             public Builder setPolicyRuleBasic(policy.Policy.PolicyRuleBasic.Builder builderForValue) {
                 if (policyRuleBasicBuilder_ == null) {
                     policyRuleBasic_ = builderForValue.build();
+                    onChanged();
                 } else {
                     policyRuleBasicBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -4224,16 +4388,15 @@ public final class Policy {
              */
             public Builder mergePolicyRuleBasic(policy.Policy.PolicyRuleBasic value) {
                 if (policyRuleBasicBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && policyRuleBasic_ != null && policyRuleBasic_ != policy.Policy.PolicyRuleBasic.getDefaultInstance()) {
-                        getPolicyRuleBasicBuilder().mergeFrom(value);
+                    if (policyRuleBasic_ != null) {
+                        policyRuleBasic_ = policy.Policy.PolicyRuleBasic.newBuilder(policyRuleBasic_).mergeFrom(value).buildPartial();
                     } else {
                         policyRuleBasic_ = value;
                     }
+                    onChanged();
                 } else {
                     policyRuleBasicBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -4245,13 +4408,13 @@ public final class Policy {
              * .policy.PolicyRuleBasic policyRuleBasic = 1;
              */
             public Builder clearPolicyRuleBasic() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                policyRuleBasic_ = null;
-                if (policyRuleBasicBuilder_ != null) {
-                    policyRuleBasicBuilder_.dispose();
+                if (policyRuleBasicBuilder_ == null) {
+                    policyRuleBasic_ = null;
+                    onChanged();
+                } else {
+                    policyRuleBasic_ = null;
                     policyRuleBasicBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -4263,7 +4426,6 @@ public final class Policy {
              * .policy.PolicyRuleBasic policyRuleBasic = 1;
              */
             public policy.Policy.PolicyRuleBasic.Builder getPolicyRuleBasicBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getPolicyRuleBasicFieldBuilder().getBuilder();
             }
@@ -4311,7 +4473,7 @@ public final class Policy {
              * @return Whether the serviceId field is set.
              */
             public boolean hasServiceId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return serviceIdBuilder_ != null || serviceId_ != null;
             }
 
             /**
@@ -4343,11 +4505,10 @@ public final class Policy {
                         throw new NullPointerException();
                     }
                     serviceId_ = value;
+                    onChanged();
                 } else {
                     serviceIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -4361,11 +4522,10 @@ public final class Policy {
             public Builder setServiceId(context.ContextOuterClass.ServiceId.Builder builderForValue) {
                 if (serviceIdBuilder_ == null) {
                     serviceId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     serviceIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -4378,16 +4538,15 @@ public final class Policy {
              */
             public Builder mergeServiceId(context.ContextOuterClass.ServiceId value) {
                 if (serviceIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && serviceId_ != null && serviceId_ != context.ContextOuterClass.ServiceId.getDefaultInstance()) {
-                        getServiceIdBuilder().mergeFrom(value);
+                    if (serviceId_ != null) {
+                        serviceId_ = context.ContextOuterClass.ServiceId.newBuilder(serviceId_).mergeFrom(value).buildPartial();
                     } else {
                         serviceId_ = value;
                     }
+                    onChanged();
                 } else {
                     serviceIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -4399,13 +4558,13 @@ public final class Policy {
              * .context.ServiceId serviceId = 2;
              */
             public Builder clearServiceId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                serviceId_ = null;
-                if (serviceIdBuilder_ != null) {
-                    serviceIdBuilder_.dispose();
+                if (serviceIdBuilder_ == null) {
+                    serviceId_ = null;
+                    onChanged();
+                } else {
+                    serviceId_ = null;
                     serviceIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -4417,7 +4576,6 @@ public final class Policy {
              * .context.ServiceId serviceId = 2;
              */
             public context.ContextOuterClass.ServiceId.Builder getServiceIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getServiceIdFieldBuilder().getBuilder();
             }
@@ -4455,9 +4613,9 @@ public final class Policy {
             private java.util.List deviceList_ = java.util.Collections.emptyList();
 
             private void ensureDeviceListIsMutable() {
-                if (!((bitField0_ & 0x00000004) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     deviceList_ = new java.util.ArrayList(deviceList_);
-                    bitField0_ |= 0x00000004;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -4653,7 +4811,7 @@ public final class Policy {
             public Builder clearDeviceList() {
                 if (deviceListBuilder_ == null) {
                     deviceList_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000004);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     deviceListBuilder_.clear();
@@ -4755,7 +4913,7 @@ public final class Policy {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getDeviceListFieldBuilder() {
                 if (deviceListBuilder_ == null) {
-                    deviceListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(deviceList_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
+                    deviceListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(deviceList_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     deviceList_ = null;
                 }
                 return deviceListBuilder_;
@@ -4788,17 +4946,7 @@ public final class Policy {
 
             @java.lang.Override
             public PolicyRuleService parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new PolicyRuleService(input, extensionRegistry);
             }
         };
 
@@ -4922,6 +5070,70 @@ public final class Policy {
             return new PolicyRuleDevice();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private PolicyRuleDevice(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                policy.Policy.PolicyRuleBasic.Builder subBuilder = null;
+                                if (policyRuleBasic_ != null) {
+                                    subBuilder = policyRuleBasic_.toBuilder();
+                                }
+                                policyRuleBasic_ = input.readMessage(policy.Policy.PolicyRuleBasic.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(policyRuleBasic_);
+                                    policyRuleBasic_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    deviceList_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                deviceList_.add(input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    deviceList_ = java.util.Collections.unmodifiableList(deviceList_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return policy.Policy.internal_static_policy_PolicyRuleDevice_descriptor;
         }
@@ -4970,12 +5182,11 @@ public final class Policy {
          */
         @java.lang.Override
         public policy.Policy.PolicyRuleBasicOrBuilder getPolicyRuleBasicOrBuilder() {
-            return policyRuleBasic_ == null ? policy.Policy.PolicyRuleBasic.getDefaultInstance() : policyRuleBasic_;
+            return getPolicyRuleBasic();
         }
 
         public static final int DEVICELIST_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
         private java.util.List deviceList_;
 
         /**
@@ -5059,7 +5270,7 @@ public final class Policy {
             for (int i = 0; i < deviceList_.size(); i++) {
                 output.writeMessage(2, deviceList_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -5074,7 +5285,7 @@ public final class Policy {
             for (int i = 0; i < deviceList_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, deviceList_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -5096,7 +5307,7 @@ public final class Policy {
             }
             if (!getDeviceListList().equals(other.getDeviceListList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -5116,7 +5327,7 @@ public final class Policy {
                 hash = (37 * hash) + DEVICELIST_FIELD_NUMBER;
                 hash = (53 * hash) + getDeviceListList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -5214,28 +5425,35 @@ public final class Policy {
 
             // Construct using policy.Policy.PolicyRuleDevice.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getDeviceListFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                policyRuleBasic_ = null;
-                if (policyRuleBasicBuilder_ != null) {
-                    policyRuleBasicBuilder_.dispose();
+                if (policyRuleBasicBuilder_ == null) {
+                    policyRuleBasic_ = null;
+                } else {
+                    policyRuleBasic_ = null;
                     policyRuleBasicBuilder_ = null;
                 }
                 if (deviceListBuilder_ == null) {
                     deviceList_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    deviceList_ = null;
                     deviceListBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000002);
                 return this;
             }
 
@@ -5261,31 +5479,53 @@ public final class Policy {
             @java.lang.Override
             public policy.Policy.PolicyRuleDevice buildPartial() {
                 policy.Policy.PolicyRuleDevice result = new policy.Policy.PolicyRuleDevice(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (policyRuleBasicBuilder_ == null) {
+                    result.policyRuleBasic_ = policyRuleBasic_;
+                } else {
+                    result.policyRuleBasic_ = policyRuleBasicBuilder_.build();
                 }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(policy.Policy.PolicyRuleDevice result) {
                 if (deviceListBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         deviceList_ = java.util.Collections.unmodifiableList(deviceList_);
-                        bitField0_ = (bitField0_ & ~0x00000002);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.deviceList_ = deviceList_;
                 } else {
                     result.deviceList_ = deviceListBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(policy.Policy.PolicyRuleDevice result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.policyRuleBasic_ = policyRuleBasicBuilder_ == null ? policyRuleBasic_ : policyRuleBasicBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -5308,7 +5548,7 @@ public final class Policy {
                     if (!other.deviceList_.isEmpty()) {
                         if (deviceList_.isEmpty()) {
                             deviceList_ = other.deviceList_;
-                            bitField0_ = (bitField0_ & ~0x00000002);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureDeviceListIsMutable();
                             deviceList_.addAll(other.deviceList_);
@@ -5321,14 +5561,14 @@ public final class Policy {
                             deviceListBuilder_.dispose();
                             deviceListBuilder_ = null;
                             deviceList_ = other.deviceList_;
-                            bitField0_ = (bitField0_ & ~0x00000002);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             deviceListBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getDeviceListFieldBuilder() : null;
                         } else {
                             deviceListBuilder_.addAllMessages(other.deviceList_);
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -5340,54 +5580,17 @@ public final class Policy {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                policy.Policy.PolicyRuleDevice parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getPolicyRuleBasicFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    context.ContextOuterClass.DeviceId m = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry);
-                                    if (deviceListBuilder_ == null) {
-                                        ensureDeviceListIsMutable();
-                                        deviceList_.add(m);
-                                    } else {
-                                        deviceListBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (policy.Policy.PolicyRuleDevice) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -5406,7 +5609,7 @@ public final class Policy {
              * @return Whether the policyRuleBasic field is set.
              */
             public boolean hasPolicyRuleBasic() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return policyRuleBasicBuilder_ != null || policyRuleBasic_ != null;
             }
 
             /**
@@ -5438,11 +5641,10 @@ public final class Policy {
                         throw new NullPointerException();
                     }
                     policyRuleBasic_ = value;
+                    onChanged();
                 } else {
                     policyRuleBasicBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -5456,11 +5658,10 @@ public final class Policy {
             public Builder setPolicyRuleBasic(policy.Policy.PolicyRuleBasic.Builder builderForValue) {
                 if (policyRuleBasicBuilder_ == null) {
                     policyRuleBasic_ = builderForValue.build();
+                    onChanged();
                 } else {
                     policyRuleBasicBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -5473,16 +5674,15 @@ public final class Policy {
              */
             public Builder mergePolicyRuleBasic(policy.Policy.PolicyRuleBasic value) {
                 if (policyRuleBasicBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && policyRuleBasic_ != null && policyRuleBasic_ != policy.Policy.PolicyRuleBasic.getDefaultInstance()) {
-                        getPolicyRuleBasicBuilder().mergeFrom(value);
+                    if (policyRuleBasic_ != null) {
+                        policyRuleBasic_ = policy.Policy.PolicyRuleBasic.newBuilder(policyRuleBasic_).mergeFrom(value).buildPartial();
                     } else {
                         policyRuleBasic_ = value;
                     }
+                    onChanged();
                 } else {
                     policyRuleBasicBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -5494,13 +5694,13 @@ public final class Policy {
              * .policy.PolicyRuleBasic policyRuleBasic = 1;
              */
             public Builder clearPolicyRuleBasic() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                policyRuleBasic_ = null;
-                if (policyRuleBasicBuilder_ != null) {
-                    policyRuleBasicBuilder_.dispose();
+                if (policyRuleBasicBuilder_ == null) {
+                    policyRuleBasic_ = null;
+                    onChanged();
+                } else {
+                    policyRuleBasic_ = null;
                     policyRuleBasicBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -5512,7 +5712,6 @@ public final class Policy {
              * .policy.PolicyRuleBasic policyRuleBasic = 1;
              */
             public policy.Policy.PolicyRuleBasic.Builder getPolicyRuleBasicBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getPolicyRuleBasicFieldBuilder().getBuilder();
             }
@@ -5550,9 +5749,9 @@ public final class Policy {
             private java.util.List deviceList_ = java.util.Collections.emptyList();
 
             private void ensureDeviceListIsMutable() {
-                if (!((bitField0_ & 0x00000002) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     deviceList_ = new java.util.ArrayList(deviceList_);
-                    bitField0_ |= 0x00000002;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -5748,7 +5947,7 @@ public final class Policy {
             public Builder clearDeviceList() {
                 if (deviceListBuilder_ == null) {
                     deviceList_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000002);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     deviceListBuilder_.clear();
@@ -5850,7 +6049,7 @@ public final class Policy {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getDeviceListFieldBuilder() {
                 if (deviceListBuilder_ == null) {
-                    deviceListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(deviceList_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
+                    deviceListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(deviceList_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     deviceList_ = null;
                 }
                 return deviceListBuilder_;
@@ -5883,17 +6082,7 @@ public final class Policy {
 
             @java.lang.Override
             public PolicyRuleDevice parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new PolicyRuleDevice(input, extensionRegistry);
             }
         };
 
@@ -5949,7 +6138,7 @@ public final class Policy {
          */
         policy.Policy.PolicyRuleDeviceOrBuilder getDeviceOrBuilder();
 
-        policy.Policy.PolicyRule.PolicyRuleCase getPolicyRuleCase();
+        public policy.Policy.PolicyRule.PolicyRuleCase getPolicyRuleCase();
     }
 
     /**
@@ -5978,6 +6167,72 @@ public final class Policy {
             return new PolicyRule();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private PolicyRule(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                policy.Policy.PolicyRuleService.Builder subBuilder = null;
+                                if (policyRuleCase_ == 1) {
+                                    subBuilder = ((policy.Policy.PolicyRuleService) policyRule_).toBuilder();
+                                }
+                                policyRule_ = input.readMessage(policy.Policy.PolicyRuleService.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((policy.Policy.PolicyRuleService) policyRule_);
+                                    policyRule_ = subBuilder.buildPartial();
+                                }
+                                policyRuleCase_ = 1;
+                                break;
+                            }
+                        case 18:
+                            {
+                                policy.Policy.PolicyRuleDevice.Builder subBuilder = null;
+                                if (policyRuleCase_ == 2) {
+                                    subBuilder = ((policy.Policy.PolicyRuleDevice) policyRule_).toBuilder();
+                                }
+                                policyRule_ = input.readMessage(policy.Policy.PolicyRuleDevice.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((policy.Policy.PolicyRuleDevice) policyRule_);
+                                    policyRule_ = subBuilder.buildPartial();
+                                }
+                                policyRuleCase_ = 2;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return policy.Policy.internal_static_policy_PolicyRule_descriptor;
         }
@@ -5989,7 +6244,6 @@ public final class Policy {
 
         private int policyRuleCase_ = 0;
 
-        @SuppressWarnings("serial")
         private java.lang.Object policyRule_;
 
         public enum PolicyRuleCase implements com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum {
@@ -6123,7 +6377,7 @@ public final class Policy {
             if (policyRuleCase_ == 2) {
                 output.writeMessage(2, (policy.Policy.PolicyRuleDevice) policyRule_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -6138,7 +6392,7 @@ public final class Policy {
             if (policyRuleCase_ == 2) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, (policy.Policy.PolicyRuleDevice) policyRule_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -6166,7 +6420,7 @@ public final class Policy {
                 case 0:
                 default:
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -6190,7 +6444,7 @@ public final class Policy {
                 case 0:
                 default:
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -6288,22 +6542,22 @@ public final class Policy {
 
             // Construct using policy.Policy.PolicyRule.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                if (serviceBuilder_ != null) {
-                    serviceBuilder_.clear();
-                }
-                if (deviceBuilder_ != null) {
-                    deviceBuilder_.clear();
-                }
                 policyRuleCase_ = 0;
                 policyRule_ = null;
                 return this;
@@ -6329,29 +6583,55 @@ public final class Policy {
             }
 
             @java.lang.Override
-            public policy.Policy.PolicyRule buildPartial() {
-                policy.Policy.PolicyRule result = new policy.Policy.PolicyRule(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                buildPartialOneofs(result);
-                onBuilt();
-                return result;
+            public policy.Policy.PolicyRule buildPartial() {
+                policy.Policy.PolicyRule result = new policy.Policy.PolicyRule(this);
+                if (policyRuleCase_ == 1) {
+                    if (serviceBuilder_ == null) {
+                        result.policyRule_ = policyRule_;
+                    } else {
+                        result.policyRule_ = serviceBuilder_.build();
+                    }
+                }
+                if (policyRuleCase_ == 2) {
+                    if (deviceBuilder_ == null) {
+                        result.policyRule_ = policyRule_;
+                    } else {
+                        result.policyRule_ = deviceBuilder_.build();
+                    }
+                }
+                result.policyRuleCase_ = policyRuleCase_;
+                onBuilt();
+                return result;
+            }
+
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
             }
 
-            private void buildPartial0(policy.Policy.PolicyRule result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
             }
 
-            private void buildPartialOneofs(policy.Policy.PolicyRule result) {
-                result.policyRuleCase_ = policyRuleCase_;
-                result.policyRule_ = this.policyRule_;
-                if (policyRuleCase_ == 1 && serviceBuilder_ != null) {
-                    result.policyRule_ = serviceBuilder_.build();
-                }
-                if (policyRuleCase_ == 2 && deviceBuilder_ != null) {
-                    result.policyRule_ = deviceBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -6383,7 +6663,7 @@ public final class Policy {
                             break;
                         }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -6395,49 +6675,17 @@ public final class Policy {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                policy.Policy.PolicyRule parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getServiceFieldBuilder().getBuilder(), extensionRegistry);
-                                    policyRuleCase_ = 1;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getDeviceFieldBuilder().getBuilder(), extensionRegistry);
-                                    policyRuleCase_ = 2;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (policy.Policy.PolicyRule) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -6456,8 +6704,6 @@ public final class Policy {
                 return this;
             }
 
-            private int bitField0_;
-
             private com.google.protobuf.SingleFieldBuilderV3 serviceBuilder_;
 
             /**
@@ -6533,9 +6779,8 @@ public final class Policy {
                 } else {
                     if (policyRuleCase_ == 1) {
                         serviceBuilder_.mergeFrom(value);
-                    } else {
-                        serviceBuilder_.setMessage(value);
                     }
+                    serviceBuilder_.setMessage(value);
                 }
                 policyRuleCase_ = 1;
                 return this;
@@ -6596,6 +6841,7 @@ public final class Policy {
                 }
                 policyRuleCase_ = 1;
                 onChanged();
+                ;
                 return serviceBuilder_;
             }
 
@@ -6674,9 +6920,8 @@ public final class Policy {
                 } else {
                     if (policyRuleCase_ == 2) {
                         deviceBuilder_.mergeFrom(value);
-                    } else {
-                        deviceBuilder_.setMessage(value);
                     }
+                    deviceBuilder_.setMessage(value);
                 }
                 policyRuleCase_ = 2;
                 return this;
@@ -6737,6 +6982,7 @@ public final class Policy {
                 }
                 policyRuleCase_ = 2;
                 onChanged();
+                ;
                 return deviceBuilder_;
             }
 
@@ -6767,17 +7013,7 @@ public final class Policy {
 
             @java.lang.Override
             public PolicyRule parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new PolicyRule(input, extensionRegistry);
             }
         };
 
@@ -6852,6 +7088,57 @@ public final class Policy {
             return new PolicyRuleIdList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private PolicyRuleIdList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    policyRuleIdList_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                policyRuleIdList_.add(input.readMessage(policy.Policy.PolicyRuleId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    policyRuleIdList_ = java.util.Collections.unmodifiableList(policyRuleIdList_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return policy.Policy.internal_static_policy_PolicyRuleIdList_descriptor;
         }
@@ -6863,7 +7150,6 @@ public final class Policy {
 
         public static final int POLICYRULEIDLIST_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List policyRuleIdList_;
 
         /**
@@ -6924,7 +7210,7 @@ public final class Policy {
             for (int i = 0; i < policyRuleIdList_.size(); i++) {
                 output.writeMessage(1, policyRuleIdList_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -6936,7 +7222,7 @@ public final class Policy {
             for (int i = 0; i < policyRuleIdList_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, policyRuleIdList_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -6952,7 +7238,7 @@ public final class Policy {
             policy.Policy.PolicyRuleIdList other = (policy.Policy.PolicyRuleIdList) obj;
             if (!getPolicyRuleIdListList().equals(other.getPolicyRuleIdListList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -6968,7 +7254,7 @@ public final class Policy {
                 hash = (37 * hash) + POLICYRULEIDLIST_FIELD_NUMBER;
                 hash = (53 * hash) + getPolicyRuleIdListList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -7066,23 +7352,29 @@ public final class Policy {
 
             // Construct using policy.Policy.PolicyRuleIdList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getPolicyRuleIdListFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (policyRuleIdListBuilder_ == null) {
                     policyRuleIdList_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    policyRuleIdList_ = null;
                     policyRuleIdListBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -7108,15 +7400,7 @@ public final class Policy {
             @java.lang.Override
             public policy.Policy.PolicyRuleIdList buildPartial() {
                 policy.Policy.PolicyRuleIdList result = new policy.Policy.PolicyRuleIdList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(policy.Policy.PolicyRuleIdList result) {
+                int from_bitField0_ = bitField0_;
                 if (policyRuleIdListBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         policyRuleIdList_ = java.util.Collections.unmodifiableList(policyRuleIdList_);
@@ -7126,10 +7410,38 @@ public final class Policy {
                 } else {
                     result.policyRuleIdList_ = policyRuleIdListBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(policy.Policy.PolicyRuleIdList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -7169,7 +7481,7 @@ public final class Policy {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -7181,47 +7493,17 @@ public final class Policy {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                policy.Policy.PolicyRuleIdList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    policy.Policy.PolicyRuleId m = input.readMessage(policy.Policy.PolicyRuleId.parser(), extensionRegistry);
-                                    if (policyRuleIdListBuilder_ == null) {
-                                        ensurePolicyRuleIdListIsMutable();
-                                        policyRuleIdList_.add(m);
-                                    } else {
-                                        policyRuleIdListBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (policy.Policy.PolicyRuleIdList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -7491,17 +7773,7 @@ public final class Policy {
 
             @java.lang.Override
             public PolicyRuleIdList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new PolicyRuleIdList(input, extensionRegistry);
             }
         };
 
@@ -7576,6 +7848,57 @@ public final class Policy {
             return new PolicyRuleServiceList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private PolicyRuleServiceList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    policyRuleServiceList_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                policyRuleServiceList_.add(input.readMessage(policy.Policy.PolicyRuleService.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    policyRuleServiceList_ = java.util.Collections.unmodifiableList(policyRuleServiceList_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return policy.Policy.internal_static_policy_PolicyRuleServiceList_descriptor;
         }
@@ -7587,7 +7910,6 @@ public final class Policy {
 
         public static final int POLICYRULESERVICELIST_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List policyRuleServiceList_;
 
         /**
@@ -7648,7 +7970,7 @@ public final class Policy {
             for (int i = 0; i < policyRuleServiceList_.size(); i++) {
                 output.writeMessage(1, policyRuleServiceList_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -7660,7 +7982,7 @@ public final class Policy {
             for (int i = 0; i < policyRuleServiceList_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, policyRuleServiceList_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -7676,7 +7998,7 @@ public final class Policy {
             policy.Policy.PolicyRuleServiceList other = (policy.Policy.PolicyRuleServiceList) obj;
             if (!getPolicyRuleServiceListList().equals(other.getPolicyRuleServiceListList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -7692,7 +8014,7 @@ public final class Policy {
                 hash = (37 * hash) + POLICYRULESERVICELIST_FIELD_NUMBER;
                 hash = (53 * hash) + getPolicyRuleServiceListList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -7790,23 +8112,29 @@ public final class Policy {
 
             // Construct using policy.Policy.PolicyRuleServiceList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getPolicyRuleServiceListFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (policyRuleServiceListBuilder_ == null) {
                     policyRuleServiceList_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    policyRuleServiceList_ = null;
                     policyRuleServiceListBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -7832,15 +8160,7 @@ public final class Policy {
             @java.lang.Override
             public policy.Policy.PolicyRuleServiceList buildPartial() {
                 policy.Policy.PolicyRuleServiceList result = new policy.Policy.PolicyRuleServiceList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(policy.Policy.PolicyRuleServiceList result) {
+                int from_bitField0_ = bitField0_;
                 if (policyRuleServiceListBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         policyRuleServiceList_ = java.util.Collections.unmodifiableList(policyRuleServiceList_);
@@ -7850,10 +8170,38 @@ public final class Policy {
                 } else {
                     result.policyRuleServiceList_ = policyRuleServiceListBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(policy.Policy.PolicyRuleServiceList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -7893,7 +8241,7 @@ public final class Policy {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -7905,47 +8253,17 @@ public final class Policy {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                policy.Policy.PolicyRuleServiceList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    policy.Policy.PolicyRuleService m = input.readMessage(policy.Policy.PolicyRuleService.parser(), extensionRegistry);
-                                    if (policyRuleServiceListBuilder_ == null) {
-                                        ensurePolicyRuleServiceListIsMutable();
-                                        policyRuleServiceList_.add(m);
-                                    } else {
-                                        policyRuleServiceListBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (policy.Policy.PolicyRuleServiceList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -8215,17 +8533,7 @@ public final class Policy {
 
             @java.lang.Override
             public PolicyRuleServiceList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new PolicyRuleServiceList(input, extensionRegistry);
             }
         };
 
@@ -8300,6 +8608,57 @@ public final class Policy {
             return new PolicyRuleDeviceList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private PolicyRuleDeviceList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    policyRuleDeviceList_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                policyRuleDeviceList_.add(input.readMessage(policy.Policy.PolicyRuleDevice.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    policyRuleDeviceList_ = java.util.Collections.unmodifiableList(policyRuleDeviceList_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return policy.Policy.internal_static_policy_PolicyRuleDeviceList_descriptor;
         }
@@ -8311,7 +8670,6 @@ public final class Policy {
 
         public static final int POLICYRULEDEVICELIST_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List policyRuleDeviceList_;
 
         /**
@@ -8372,7 +8730,7 @@ public final class Policy {
             for (int i = 0; i < policyRuleDeviceList_.size(); i++) {
                 output.writeMessage(1, policyRuleDeviceList_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -8384,7 +8742,7 @@ public final class Policy {
             for (int i = 0; i < policyRuleDeviceList_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, policyRuleDeviceList_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -8400,7 +8758,7 @@ public final class Policy {
             policy.Policy.PolicyRuleDeviceList other = (policy.Policy.PolicyRuleDeviceList) obj;
             if (!getPolicyRuleDeviceListList().equals(other.getPolicyRuleDeviceListList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -8416,7 +8774,7 @@ public final class Policy {
                 hash = (37 * hash) + POLICYRULEDEVICELIST_FIELD_NUMBER;
                 hash = (53 * hash) + getPolicyRuleDeviceListList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -8514,23 +8872,29 @@ public final class Policy {
 
             // Construct using policy.Policy.PolicyRuleDeviceList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getPolicyRuleDeviceListFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (policyRuleDeviceListBuilder_ == null) {
                     policyRuleDeviceList_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    policyRuleDeviceList_ = null;
                     policyRuleDeviceListBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -8556,15 +8920,7 @@ public final class Policy {
             @java.lang.Override
             public policy.Policy.PolicyRuleDeviceList buildPartial() {
                 policy.Policy.PolicyRuleDeviceList result = new policy.Policy.PolicyRuleDeviceList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(policy.Policy.PolicyRuleDeviceList result) {
+                int from_bitField0_ = bitField0_;
                 if (policyRuleDeviceListBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         policyRuleDeviceList_ = java.util.Collections.unmodifiableList(policyRuleDeviceList_);
@@ -8574,10 +8930,38 @@ public final class Policy {
                 } else {
                     result.policyRuleDeviceList_ = policyRuleDeviceListBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(policy.Policy.PolicyRuleDeviceList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -8617,7 +9001,7 @@ public final class Policy {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -8629,47 +9013,17 @@ public final class Policy {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                policy.Policy.PolicyRuleDeviceList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    policy.Policy.PolicyRuleDevice m = input.readMessage(policy.Policy.PolicyRuleDevice.parser(), extensionRegistry);
-                                    if (policyRuleDeviceListBuilder_ == null) {
-                                        ensurePolicyRuleDeviceListIsMutable();
-                                        policyRuleDeviceList_.add(m);
-                                    } else {
-                                        policyRuleDeviceListBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (policy.Policy.PolicyRuleDeviceList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -8939,17 +9293,7 @@ public final class Policy {
 
             @java.lang.Override
             public PolicyRuleDeviceList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new PolicyRuleDeviceList(input, extensionRegistry);
             }
         };
 
@@ -9024,6 +9368,57 @@ public final class Policy {
             return new PolicyRuleList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private PolicyRuleList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    policyRules_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                policyRules_.add(input.readMessage(policy.Policy.PolicyRule.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    policyRules_ = java.util.Collections.unmodifiableList(policyRules_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return policy.Policy.internal_static_policy_PolicyRuleList_descriptor;
         }
@@ -9035,7 +9430,6 @@ public final class Policy {
 
         public static final int POLICYRULES_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List policyRules_;
 
         /**
@@ -9096,7 +9490,7 @@ public final class Policy {
             for (int i = 0; i < policyRules_.size(); i++) {
                 output.writeMessage(1, policyRules_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -9108,7 +9502,7 @@ public final class Policy {
             for (int i = 0; i < policyRules_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, policyRules_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -9124,7 +9518,7 @@ public final class Policy {
             policy.Policy.PolicyRuleList other = (policy.Policy.PolicyRuleList) obj;
             if (!getPolicyRulesList().equals(other.getPolicyRulesList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -9140,7 +9534,7 @@ public final class Policy {
                 hash = (37 * hash) + POLICYRULES_FIELD_NUMBER;
                 hash = (53 * hash) + getPolicyRulesList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -9238,23 +9632,29 @@ public final class Policy {
 
             // Construct using policy.Policy.PolicyRuleList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getPolicyRulesFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (policyRulesBuilder_ == null) {
                     policyRules_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    policyRules_ = null;
                     policyRulesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -9280,15 +9680,7 @@ public final class Policy {
             @java.lang.Override
             public policy.Policy.PolicyRuleList buildPartial() {
                 policy.Policy.PolicyRuleList result = new policy.Policy.PolicyRuleList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(policy.Policy.PolicyRuleList result) {
+                int from_bitField0_ = bitField0_;
                 if (policyRulesBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         policyRules_ = java.util.Collections.unmodifiableList(policyRules_);
@@ -9298,10 +9690,38 @@ public final class Policy {
                 } else {
                     result.policyRules_ = policyRulesBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(policy.Policy.PolicyRuleList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -9341,7 +9761,7 @@ public final class Policy {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -9353,47 +9773,17 @@ public final class Policy {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                policy.Policy.PolicyRuleList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    policy.Policy.PolicyRule m = input.readMessage(policy.Policy.PolicyRule.parser(), extensionRegistry);
-                                    if (policyRulesBuilder_ == null) {
-                                        ensurePolicyRulesIsMutable();
-                                        policyRules_.add(m);
-                                    } else {
-                                        policyRulesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (policy.Policy.PolicyRuleList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -9663,17 +10053,7 @@ public final class Policy {
 
             @java.lang.Override
             public PolicyRuleList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new PolicyRuleList(input, extensionRegistry);
             }
         };
 
diff --git a/src/policy/target/generated-sources/grpc/policy/PolicyAction.java b/src/policy/target/generated-sources/grpc/policy/PolicyAction.java
index 097097d6f..8e84a0a84 100644
--- a/src/policy/target/generated-sources/grpc/policy/PolicyAction.java
+++ b/src/policy/target/generated-sources/grpc/policy/PolicyAction.java
@@ -229,6 +229,63 @@ public final class PolicyAction {
             return new PolicyRuleAction();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private PolicyRuleAction(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                int rawValue = input.readEnum();
+                                action_ = rawValue;
+                                break;
+                            }
+                        case 18:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    actionConfig_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                actionConfig_.add(input.readMessage(policy.PolicyAction.PolicyRuleActionConfig.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    actionConfig_ = java.util.Collections.unmodifiableList(actionConfig_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return policy.PolicyAction.internal_static_policy_PolicyRuleAction_descriptor;
         }
@@ -240,7 +297,7 @@ public final class PolicyAction {
 
         public static final int ACTION_FIELD_NUMBER = 1;
 
-        private int action_ = 0;
+        private int action_;
 
         /**
          * .policy.PolicyRuleActionEnum action = 1;
@@ -257,13 +314,13 @@ public final class PolicyAction {
          */
         @java.lang.Override
         public policy.PolicyAction.PolicyRuleActionEnum getAction() {
-            policy.PolicyAction.PolicyRuleActionEnum result = policy.PolicyAction.PolicyRuleActionEnum.forNumber(action_);
+            @SuppressWarnings("deprecation")
+            policy.PolicyAction.PolicyRuleActionEnum result = policy.PolicyAction.PolicyRuleActionEnum.valueOf(action_);
             return result == null ? policy.PolicyAction.PolicyRuleActionEnum.UNRECOGNIZED : result;
         }
 
         public static final int ACTION_CONFIG_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
         private java.util.List actionConfig_;
 
         /**
@@ -327,7 +384,7 @@ public final class PolicyAction {
             for (int i = 0; i < actionConfig_.size(); i++) {
                 output.writeMessage(2, actionConfig_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -342,7 +399,7 @@ public final class PolicyAction {
             for (int i = 0; i < actionConfig_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, actionConfig_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -360,7 +417,7 @@ public final class PolicyAction {
                 return false;
             if (!getActionConfigList().equals(other.getActionConfigList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -378,7 +435,7 @@ public final class PolicyAction {
                 hash = (37 * hash) + ACTION_CONFIG_FIELD_NUMBER;
                 hash = (53 * hash) + getActionConfigList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -476,24 +533,30 @@ public final class PolicyAction {
 
             // Construct using policy.PolicyAction.PolicyRuleAction.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getActionConfigFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 action_ = 0;
                 if (actionConfigBuilder_ == null) {
                     actionConfig_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    actionConfig_ = null;
                     actionConfigBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000002);
                 return this;
             }
 
@@ -519,31 +582,49 @@ public final class PolicyAction {
             @java.lang.Override
             public policy.PolicyAction.PolicyRuleAction buildPartial() {
                 policy.PolicyAction.PolicyRuleAction result = new policy.PolicyAction.PolicyRuleAction(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(policy.PolicyAction.PolicyRuleAction result) {
+                int from_bitField0_ = bitField0_;
+                result.action_ = action_;
                 if (actionConfigBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         actionConfig_ = java.util.Collections.unmodifiableList(actionConfig_);
-                        bitField0_ = (bitField0_ & ~0x00000002);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.actionConfig_ = actionConfig_;
                 } else {
                     result.actionConfig_ = actionConfigBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(policy.PolicyAction.PolicyRuleAction result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.action_ = action_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -566,7 +647,7 @@ public final class PolicyAction {
                     if (!other.actionConfig_.isEmpty()) {
                         if (actionConfig_.isEmpty()) {
                             actionConfig_ = other.actionConfig_;
-                            bitField0_ = (bitField0_ & ~0x00000002);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureActionConfigIsMutable();
                             actionConfig_.addAll(other.actionConfig_);
@@ -579,14 +660,14 @@ public final class PolicyAction {
                             actionConfigBuilder_.dispose();
                             actionConfigBuilder_ = null;
                             actionConfig_ = other.actionConfig_;
-                            bitField0_ = (bitField0_ & ~0x00000002);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             actionConfigBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getActionConfigFieldBuilder() : null;
                         } else {
                             actionConfigBuilder_.addAllMessages(other.actionConfig_);
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -598,54 +679,17 @@ public final class PolicyAction {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                policy.PolicyAction.PolicyRuleAction parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    action_ = input.readEnum();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            case 18:
-                                {
-                                    policy.PolicyAction.PolicyRuleActionConfig m = input.readMessage(policy.PolicyAction.PolicyRuleActionConfig.parser(), extensionRegistry);
-                                    if (actionConfigBuilder_ == null) {
-                                        ensureActionConfigIsMutable();
-                                        actionConfig_.add(m);
-                                    } else {
-                                        actionConfigBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (policy.PolicyAction.PolicyRuleAction) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -669,7 +713,6 @@ public final class PolicyAction {
              */
             public Builder setActionValue(int value) {
                 action_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -680,7 +723,8 @@ public final class PolicyAction {
              */
             @java.lang.Override
             public policy.PolicyAction.PolicyRuleActionEnum getAction() {
-                policy.PolicyAction.PolicyRuleActionEnum result = policy.PolicyAction.PolicyRuleActionEnum.forNumber(action_);
+                @SuppressWarnings("deprecation")
+                policy.PolicyAction.PolicyRuleActionEnum result = policy.PolicyAction.PolicyRuleActionEnum.valueOf(action_);
                 return result == null ? policy.PolicyAction.PolicyRuleActionEnum.UNRECOGNIZED : result;
             }
 
@@ -693,7 +737,6 @@ public final class PolicyAction {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000001;
                 action_ = value.getNumber();
                 onChanged();
                 return this;
@@ -704,7 +747,6 @@ public final class PolicyAction {
              * @return This builder for chaining.
              */
             public Builder clearAction() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 action_ = 0;
                 onChanged();
                 return this;
@@ -713,9 +755,9 @@ public final class PolicyAction {
             private java.util.List actionConfig_ = java.util.Collections.emptyList();
 
             private void ensureActionConfigIsMutable() {
-                if (!((bitField0_ & 0x00000002) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     actionConfig_ = new java.util.ArrayList(actionConfig_);
-                    bitField0_ |= 0x00000002;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -867,7 +909,7 @@ public final class PolicyAction {
             public Builder clearActionConfig() {
                 if (actionConfigBuilder_ == null) {
                     actionConfig_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000002);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     actionConfigBuilder_.clear();
@@ -941,7 +983,7 @@ public final class PolicyAction {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getActionConfigFieldBuilder() {
                 if (actionConfigBuilder_ == null) {
-                    actionConfigBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(actionConfig_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
+                    actionConfigBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(actionConfig_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     actionConfig_ = null;
                 }
                 return actionConfigBuilder_;
@@ -974,17 +1016,7 @@ public final class PolicyAction {
 
             @java.lang.Override
             public PolicyRuleAction parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new PolicyRuleAction(input, extensionRegistry);
             }
         };
 
@@ -1059,6 +1091,56 @@ public final class PolicyAction {
             return new PolicyRuleActionConfig();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private PolicyRuleActionConfig(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                actionKey_ = s;
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                actionValue_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return policy.PolicyAction.internal_static_policy_PolicyRuleActionConfig_descriptor;
         }
@@ -1070,8 +1152,7 @@ public final class PolicyAction {
 
         public static final int ACTION_KEY_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object actionKey_ = "";
+        private volatile java.lang.Object actionKey_;
 
         /**
          * string action_key = 1;
@@ -1108,8 +1189,7 @@ public final class PolicyAction {
 
         public static final int ACTION_VALUE_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object actionValue_ = "";
+        private volatile java.lang.Object actionValue_;
 
         /**
          * string action_value = 2;
@@ -1159,13 +1239,13 @@ public final class PolicyAction {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(actionKey_)) {
+            if (!getActionKeyBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, actionKey_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(actionValue_)) {
+            if (!getActionValueBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, actionValue_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -1174,13 +1254,13 @@ public final class PolicyAction {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(actionKey_)) {
+            if (!getActionKeyBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, actionKey_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(actionValue_)) {
+            if (!getActionValueBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, actionValue_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -1198,7 +1278,7 @@ public final class PolicyAction {
                 return false;
             if (!getActionValue().equals(other.getActionValue()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -1214,7 +1294,7 @@ public final class PolicyAction {
             hash = (53 * hash) + getActionKey().hashCode();
             hash = (37 * hash) + ACTION_VALUE_FIELD_NUMBER;
             hash = (53 * hash) + getActionValue().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -1312,16 +1392,22 @@ public final class PolicyAction {
 
             // Construct using policy.PolicyAction.PolicyRuleActionConfig.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 actionKey_ = "";
                 actionValue_ = "";
                 return this;
@@ -1349,21 +1435,40 @@ public final class PolicyAction {
             @java.lang.Override
             public policy.PolicyAction.PolicyRuleActionConfig buildPartial() {
                 policy.PolicyAction.PolicyRuleActionConfig result = new policy.PolicyAction.PolicyRuleActionConfig(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.actionKey_ = actionKey_;
+                result.actionValue_ = actionValue_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(policy.PolicyAction.PolicyRuleActionConfig result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.actionKey_ = actionKey_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.actionValue_ = actionValue_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -1381,15 +1486,13 @@ public final class PolicyAction {
                     return this;
                 if (!other.getActionKey().isEmpty()) {
                     actionKey_ = other.actionKey_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
                 if (!other.getActionValue().isEmpty()) {
                     actionValue_ = other.actionValue_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -1401,54 +1504,20 @@ public final class PolicyAction {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                policy.PolicyAction.PolicyRuleActionConfig parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    actionKey_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    actionValue_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (policy.PolicyAction.PolicyRuleActionConfig) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private java.lang.Object actionKey_ = "";
 
             /**
@@ -1492,7 +1561,6 @@ public final class PolicyAction {
                     throw new NullPointerException();
                 }
                 actionKey_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -1503,7 +1571,6 @@ public final class PolicyAction {
              */
             public Builder clearActionKey() {
                 actionKey_ = getDefaultInstance().getActionKey();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -1519,7 +1586,6 @@ public final class PolicyAction {
                 }
                 checkByteStringIsUtf8(value);
                 actionKey_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -1567,7 +1633,6 @@ public final class PolicyAction {
                     throw new NullPointerException();
                 }
                 actionValue_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -1578,7 +1643,6 @@ public final class PolicyAction {
              */
             public Builder clearActionValue() {
                 actionValue_ = getDefaultInstance().getActionValue();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -1594,7 +1658,6 @@ public final class PolicyAction {
                 }
                 checkByteStringIsUtf8(value);
                 actionValue_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -1626,17 +1689,7 @@ public final class PolicyAction {
 
             @java.lang.Override
             public PolicyRuleActionConfig parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new PolicyRuleActionConfig(input, extensionRegistry);
             }
         };
 
diff --git a/src/policy/target/generated-sources/grpc/policy/PolicyCondition.java b/src/policy/target/generated-sources/grpc/policy/PolicyCondition.java
index 118359b08..269c8b438 100644
--- a/src/policy/target/generated-sources/grpc/policy/PolicyCondition.java
+++ b/src/policy/target/generated-sources/grpc/policy/PolicyCondition.java
@@ -449,6 +449,76 @@ public final class PolicyCondition {
             return new PolicyRuleCondition();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private PolicyRuleCondition(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                monitoring.Monitoring.KpiId.Builder subBuilder = null;
+                                if (kpiId_ != null) {
+                                    subBuilder = kpiId_.toBuilder();
+                                }
+                                kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiId_);
+                                    kpiId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 16:
+                            {
+                                int rawValue = input.readEnum();
+                                numericalOperator_ = rawValue;
+                                break;
+                            }
+                        case 26:
+                            {
+                                monitoring.Monitoring.KpiValue.Builder subBuilder = null;
+                                if (kpiValue_ != null) {
+                                    subBuilder = kpiValue_.toBuilder();
+                                }
+                                kpiValue_ = input.readMessage(monitoring.Monitoring.KpiValue.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiValue_);
+                                    kpiValue_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return policy.PolicyCondition.internal_static_policy_PolicyRuleCondition_descriptor;
         }
@@ -485,12 +555,12 @@ public final class PolicyCondition {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() {
-            return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_;
+            return getKpiId();
         }
 
         public static final int NUMERICALOPERATOR_FIELD_NUMBER = 2;
 
-        private int numericalOperator_ = 0;
+        private int numericalOperator_;
 
         /**
          * .policy.NumericalOperator numericalOperator = 2;
@@ -507,7 +577,8 @@ public final class PolicyCondition {
          */
         @java.lang.Override
         public policy.PolicyCondition.NumericalOperator getNumericalOperator() {
-            policy.PolicyCondition.NumericalOperator result = policy.PolicyCondition.NumericalOperator.forNumber(numericalOperator_);
+            @SuppressWarnings("deprecation")
+            policy.PolicyCondition.NumericalOperator result = policy.PolicyCondition.NumericalOperator.valueOf(numericalOperator_);
             return result == null ? policy.PolicyCondition.NumericalOperator.UNRECOGNIZED : result;
         }
 
@@ -538,7 +609,7 @@ public final class PolicyCondition {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiValueOrBuilder getKpiValueOrBuilder() {
-            return kpiValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiValue_;
+            return getKpiValue();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -565,7 +636,7 @@ public final class PolicyCondition {
             if (kpiValue_ != null) {
                 output.writeMessage(3, getKpiValue());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -583,7 +654,7 @@ public final class PolicyCondition {
             if (kpiValue_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getKpiValue());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -611,7 +682,7 @@ public final class PolicyCondition {
                 if (!getKpiValue().equals(other.getKpiValue()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -633,7 +704,7 @@ public final class PolicyCondition {
                 hash = (37 * hash) + KPIVALUE_FIELD_NUMBER;
                 hash = (53 * hash) + getKpiValue().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -731,25 +802,33 @@ public final class PolicyCondition {
 
             // Construct using policy.PolicyCondition.PolicyRuleCondition.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
                 numericalOperator_ = 0;
-                kpiValue_ = null;
-                if (kpiValueBuilder_ != null) {
-                    kpiValueBuilder_.dispose();
+                if (kpiValueBuilder_ == null) {
+                    kpiValue_ = null;
+                } else {
+                    kpiValue_ = null;
                     kpiValueBuilder_ = null;
                 }
                 return this;
@@ -777,24 +856,49 @@ public final class PolicyCondition {
             @java.lang.Override
             public policy.PolicyCondition.PolicyRuleCondition buildPartial() {
                 policy.PolicyCondition.PolicyRuleCondition result = new policy.PolicyCondition.PolicyRuleCondition(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (kpiIdBuilder_ == null) {
+                    result.kpiId_ = kpiId_;
+                } else {
+                    result.kpiId_ = kpiIdBuilder_.build();
+                }
+                result.numericalOperator_ = numericalOperator_;
+                if (kpiValueBuilder_ == null) {
+                    result.kpiValue_ = kpiValue_;
+                } else {
+                    result.kpiValue_ = kpiValueBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(policy.PolicyCondition.PolicyRuleCondition result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.kpiId_ = kpiIdBuilder_ == null ? kpiId_ : kpiIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.numericalOperator_ = numericalOperator_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.kpiValue_ = kpiValueBuilder_ == null ? kpiValue_ : kpiValueBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -819,7 +923,7 @@ public final class PolicyCondition {
                 if (other.hasKpiValue()) {
                     mergeKpiValue(other.getKpiValue());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -831,61 +935,20 @@ public final class PolicyCondition {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                policy.PolicyCondition.PolicyRuleCondition parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getKpiIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 16:
-                                {
-                                    numericalOperator_ = input.readEnum();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            case 26:
-                                {
-                                    input.readMessage(getKpiValueFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (policy.PolicyCondition.PolicyRuleCondition) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private monitoring.Monitoring.KpiId kpiId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 kpiIdBuilder_;
@@ -895,7 +958,7 @@ public final class PolicyCondition {
              * @return Whether the kpiId field is set.
              */
             public boolean hasKpiId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return kpiIdBuilder_ != null || kpiId_ != null;
             }
 
             /**
@@ -919,11 +982,10 @@ public final class PolicyCondition {
                         throw new NullPointerException();
                     }
                     kpiId_ = value;
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -933,11 +995,10 @@ public final class PolicyCondition {
             public Builder setKpiId(monitoring.Monitoring.KpiId.Builder builderForValue) {
                 if (kpiIdBuilder_ == null) {
                     kpiId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -946,16 +1007,15 @@ public final class PolicyCondition {
              */
             public Builder mergeKpiId(monitoring.Monitoring.KpiId value) {
                 if (kpiIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && kpiId_ != null && kpiId_ != monitoring.Monitoring.KpiId.getDefaultInstance()) {
-                        getKpiIdBuilder().mergeFrom(value);
+                    if (kpiId_ != null) {
+                        kpiId_ = monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial();
                     } else {
                         kpiId_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -963,13 +1023,13 @@ public final class PolicyCondition {
              * .monitoring.KpiId kpiId = 1;
              */
             public Builder clearKpiId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                    onChanged();
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -977,7 +1037,6 @@ public final class PolicyCondition {
              * .monitoring.KpiId kpiId = 1;
              */
             public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getKpiIdFieldBuilder().getBuilder();
             }
@@ -1022,7 +1081,6 @@ public final class PolicyCondition {
              */
             public Builder setNumericalOperatorValue(int value) {
                 numericalOperator_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -1033,7 +1091,8 @@ public final class PolicyCondition {
              */
             @java.lang.Override
             public policy.PolicyCondition.NumericalOperator getNumericalOperator() {
-                policy.PolicyCondition.NumericalOperator result = policy.PolicyCondition.NumericalOperator.forNumber(numericalOperator_);
+                @SuppressWarnings("deprecation")
+                policy.PolicyCondition.NumericalOperator result = policy.PolicyCondition.NumericalOperator.valueOf(numericalOperator_);
                 return result == null ? policy.PolicyCondition.NumericalOperator.UNRECOGNIZED : result;
             }
 
@@ -1046,7 +1105,6 @@ public final class PolicyCondition {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000002;
                 numericalOperator_ = value.getNumber();
                 onChanged();
                 return this;
@@ -1057,7 +1115,6 @@ public final class PolicyCondition {
              * @return This builder for chaining.
              */
             public Builder clearNumericalOperator() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 numericalOperator_ = 0;
                 onChanged();
                 return this;
@@ -1072,7 +1129,7 @@ public final class PolicyCondition {
              * @return Whether the kpiValue field is set.
              */
             public boolean hasKpiValue() {
-                return ((bitField0_ & 0x00000004) != 0);
+                return kpiValueBuilder_ != null || kpiValue_ != null;
             }
 
             /**
@@ -1096,11 +1153,10 @@ public final class PolicyCondition {
                         throw new NullPointerException();
                     }
                     kpiValue_ = value;
+                    onChanged();
                 } else {
                     kpiValueBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -1110,11 +1166,10 @@ public final class PolicyCondition {
             public Builder setKpiValue(monitoring.Monitoring.KpiValue.Builder builderForValue) {
                 if (kpiValueBuilder_ == null) {
                     kpiValue_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiValueBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -1123,16 +1178,15 @@ public final class PolicyCondition {
              */
             public Builder mergeKpiValue(monitoring.Monitoring.KpiValue value) {
                 if (kpiValueBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0) && kpiValue_ != null && kpiValue_ != monitoring.Monitoring.KpiValue.getDefaultInstance()) {
-                        getKpiValueBuilder().mergeFrom(value);
+                    if (kpiValue_ != null) {
+                        kpiValue_ = monitoring.Monitoring.KpiValue.newBuilder(kpiValue_).mergeFrom(value).buildPartial();
                     } else {
                         kpiValue_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiValueBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -1140,13 +1194,13 @@ public final class PolicyCondition {
              * .monitoring.KpiValue kpiValue = 3;
              */
             public Builder clearKpiValue() {
-                bitField0_ = (bitField0_ & ~0x00000004);
-                kpiValue_ = null;
-                if (kpiValueBuilder_ != null) {
-                    kpiValueBuilder_.dispose();
+                if (kpiValueBuilder_ == null) {
+                    kpiValue_ = null;
+                    onChanged();
+                } else {
+                    kpiValue_ = null;
                     kpiValueBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -1154,7 +1208,6 @@ public final class PolicyCondition {
              * .monitoring.KpiValue kpiValue = 3;
              */
             public monitoring.Monitoring.KpiValue.Builder getKpiValueBuilder() {
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return getKpiValueFieldBuilder().getBuilder();
             }
@@ -1208,17 +1261,7 @@ public final class PolicyCondition {
 
             @java.lang.Override
             public PolicyRuleCondition parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new PolicyRuleCondition(input, extensionRegistry);
             }
         };
 
diff --git a/src/policy/target/generated-sources/grpc/policy/PolicyServiceGrpc.java b/src/policy/target/generated-sources/grpc/policy/PolicyServiceGrpc.java
index 6bc2e2808..e701a2256 100644
--- a/src/policy/target/generated-sources/grpc/policy/PolicyServiceGrpc.java
+++ b/src/policy/target/generated-sources/grpc/policy/PolicyServiceGrpc.java
@@ -4,8 +4,7 @@ import static io.grpc.MethodDescriptor.generateFullMethodName;
 
 /**
  */
-@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.55.1)", comments = "Source: policy.proto")
-@io.grpc.stub.annotations.GrpcGenerated
+@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.38.1)", comments = "Source: policy.proto")
 public final class PolicyServiceGrpc {
 
     private PolicyServiceGrpc() {
@@ -178,70 +177,63 @@ public final class PolicyServiceGrpc {
 
     /**
      */
-    public interface AsyncService {
+    public static abstract class PolicyServiceImplBase implements io.grpc.BindableService {
 
         /**
          */
-        default void policyAddService(policy.Policy.PolicyRuleService request, io.grpc.stub.StreamObserver responseObserver) {
+        public void policyAddService(policy.Policy.PolicyRuleService request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getPolicyAddServiceMethod(), responseObserver);
         }
 
         /**
          */
-        default void policyAddDevice(policy.Policy.PolicyRuleDevice request, io.grpc.stub.StreamObserver responseObserver) {
+        public void policyAddDevice(policy.Policy.PolicyRuleDevice request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getPolicyAddDeviceMethod(), responseObserver);
         }
 
         /**
          */
-        default void policyUpdateService(policy.Policy.PolicyRuleService request, io.grpc.stub.StreamObserver responseObserver) {
+        public void policyUpdateService(policy.Policy.PolicyRuleService request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getPolicyUpdateServiceMethod(), responseObserver);
         }
 
         /**
          */
-        default void policyUpdateDevice(policy.Policy.PolicyRuleDevice request, io.grpc.stub.StreamObserver responseObserver) {
+        public void policyUpdateDevice(policy.Policy.PolicyRuleDevice request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getPolicyUpdateDeviceMethod(), responseObserver);
         }
 
         /**
          */
-        default void policyDelete(policy.Policy.PolicyRuleId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void policyDelete(policy.Policy.PolicyRuleId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getPolicyDeleteMethod(), responseObserver);
         }
 
         /**
          */
-        default void getPolicyService(policy.Policy.PolicyRuleId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getPolicyService(policy.Policy.PolicyRuleId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetPolicyServiceMethod(), responseObserver);
         }
 
         /**
          */
-        default void getPolicyDevice(policy.Policy.PolicyRuleId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getPolicyDevice(policy.Policy.PolicyRuleId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetPolicyDeviceMethod(), responseObserver);
         }
 
         /**
          */
-        default void getPolicyByServiceId(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getPolicyByServiceId(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetPolicyByServiceIdMethod(), responseObserver);
         }
-    }
-
-    /**
-     * Base class for the server implementation of the service PolicyService.
-     */
-    public static abstract class PolicyServiceImplBase implements io.grpc.BindableService, AsyncService {
 
         @java.lang.Override
         public io.grpc.ServerServiceDefinition bindService() {
-            return PolicyServiceGrpc.bindService(this);
+            return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getPolicyAddServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_POLICY_ADD_SERVICE))).addMethod(getPolicyAddDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_POLICY_ADD_DEVICE))).addMethod(getPolicyUpdateServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_POLICY_UPDATE_SERVICE))).addMethod(getPolicyUpdateDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_POLICY_UPDATE_DEVICE))).addMethod(getPolicyDeleteMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_POLICY_DELETE))).addMethod(getGetPolicyServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_POLICY_SERVICE))).addMethod(getGetPolicyDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_POLICY_DEVICE))).addMethod(getGetPolicyByServiceIdMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_POLICY_BY_SERVICE_ID))).build();
         }
     }
 
     /**
-     * A stub to allow clients to do asynchronous rpc calls to service PolicyService.
      */
     public static class PolicyServiceStub extends io.grpc.stub.AbstractAsyncStub {
 
@@ -304,7 +296,6 @@ public final class PolicyServiceGrpc {
     }
 
     /**
-     * A stub to allow clients to do synchronous rpc calls to service PolicyService.
      */
     public static class PolicyServiceBlockingStub extends io.grpc.stub.AbstractBlockingStub {
 
@@ -367,7 +358,6 @@ public final class PolicyServiceGrpc {
     }
 
     /**
-     * A stub to allow clients to do ListenableFuture-style rpc calls to service PolicyService.
      */
     public static class PolicyServiceFutureStub extends io.grpc.stub.AbstractFutureStub {
 
@@ -447,11 +437,11 @@ public final class PolicyServiceGrpc {
 
     private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, io.grpc.stub.ServerCalls.ServerStreamingMethod, io.grpc.stub.ServerCalls.ClientStreamingMethod, io.grpc.stub.ServerCalls.BidiStreamingMethod {
 
-        private final AsyncService serviceImpl;
+        private final PolicyServiceImplBase serviceImpl;
 
         private final int methodId;
 
-        MethodHandlers(AsyncService serviceImpl, int methodId) {
+        MethodHandlers(PolicyServiceImplBase serviceImpl, int methodId) {
             this.serviceImpl = serviceImpl;
             this.methodId = methodId;
         }
@@ -499,10 +489,6 @@ public final class PolicyServiceGrpc {
         }
     }
 
-    public static io.grpc.ServerServiceDefinition bindService(AsyncService service) {
-        return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getPolicyAddServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_POLICY_ADD_SERVICE))).addMethod(getPolicyAddDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_POLICY_ADD_DEVICE))).addMethod(getPolicyUpdateServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_POLICY_UPDATE_SERVICE))).addMethod(getPolicyUpdateDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_POLICY_UPDATE_DEVICE))).addMethod(getPolicyDeleteMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_POLICY_DELETE))).addMethod(getGetPolicyServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_POLICY_SERVICE))).addMethod(getGetPolicyDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_POLICY_DEVICE))).addMethod(getGetPolicyByServiceIdMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_POLICY_BY_SERVICE_ID))).build();
-    }
-
     private static abstract class PolicyServiceBaseDescriptorSupplier implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier {
 
         PolicyServiceBaseDescriptorSupplier() {
diff --git a/src/policy/target/generated-sources/grpc/service/ServiceServiceGrpc.java b/src/policy/target/generated-sources/grpc/service/ServiceServiceGrpc.java
index 7b5a36772..4cd985462 100644
--- a/src/policy/target/generated-sources/grpc/service/ServiceServiceGrpc.java
+++ b/src/policy/target/generated-sources/grpc/service/ServiceServiceGrpc.java
@@ -4,8 +4,7 @@ import static io.grpc.MethodDescriptor.generateFullMethodName;
 
 /**
  */
-@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.55.1)", comments = "Source: service.proto")
-@io.grpc.stub.annotations.GrpcGenerated
+@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.38.1)", comments = "Source: service.proto")
 public final class ServiceServiceGrpc {
 
     private ServiceServiceGrpc() {
@@ -118,46 +117,39 @@ public final class ServiceServiceGrpc {
 
     /**
      */
-    public interface AsyncService {
+    public static abstract class ServiceServiceImplBase implements io.grpc.BindableService {
 
         /**
          */
-        default void createService(context.ContextOuterClass.Service request, io.grpc.stub.StreamObserver responseObserver) {
+        public void createService(context.ContextOuterClass.Service request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getCreateServiceMethod(), responseObserver);
         }
 
         /**
          */
-        default void updateService(context.ContextOuterClass.Service request, io.grpc.stub.StreamObserver responseObserver) {
+        public void updateService(context.ContextOuterClass.Service request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getUpdateServiceMethod(), responseObserver);
         }
 
         /**
          */
-        default void deleteService(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void deleteService(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getDeleteServiceMethod(), responseObserver);
         }
 
         /**
          */
-        default void recomputeConnections(context.ContextOuterClass.Service request, io.grpc.stub.StreamObserver responseObserver) {
+        public void recomputeConnections(context.ContextOuterClass.Service request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRecomputeConnectionsMethod(), responseObserver);
         }
-    }
-
-    /**
-     * Base class for the server implementation of the service ServiceService.
-     */
-    public static abstract class ServiceServiceImplBase implements io.grpc.BindableService, AsyncService {
 
         @java.lang.Override
         public io.grpc.ServerServiceDefinition bindService() {
-            return ServiceServiceGrpc.bindService(this);
+            return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getCreateServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_CREATE_SERVICE))).addMethod(getUpdateServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_UPDATE_SERVICE))).addMethod(getDeleteServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_DELETE_SERVICE))).addMethod(getRecomputeConnectionsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_RECOMPUTE_CONNECTIONS))).build();
         }
     }
 
     /**
-     * A stub to allow clients to do asynchronous rpc calls to service ServiceService.
      */
     public static class ServiceServiceStub extends io.grpc.stub.AbstractAsyncStub {
 
@@ -196,7 +188,6 @@ public final class ServiceServiceGrpc {
     }
 
     /**
-     * A stub to allow clients to do synchronous rpc calls to service ServiceService.
      */
     public static class ServiceServiceBlockingStub extends io.grpc.stub.AbstractBlockingStub {
 
@@ -235,7 +226,6 @@ public final class ServiceServiceGrpc {
     }
 
     /**
-     * A stub to allow clients to do ListenableFuture-style rpc calls to service ServiceService.
      */
     public static class ServiceServiceFutureStub extends io.grpc.stub.AbstractFutureStub {
 
@@ -283,11 +273,11 @@ public final class ServiceServiceGrpc {
 
     private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, io.grpc.stub.ServerCalls.ServerStreamingMethod, io.grpc.stub.ServerCalls.ClientStreamingMethod, io.grpc.stub.ServerCalls.BidiStreamingMethod {
 
-        private final AsyncService serviceImpl;
+        private final ServiceServiceImplBase serviceImpl;
 
         private final int methodId;
 
-        MethodHandlers(AsyncService serviceImpl, int methodId) {
+        MethodHandlers(ServiceServiceImplBase serviceImpl, int methodId) {
             this.serviceImpl = serviceImpl;
             this.methodId = methodId;
         }
@@ -323,10 +313,6 @@ public final class ServiceServiceGrpc {
         }
     }
 
-    public static io.grpc.ServerServiceDefinition bindService(AsyncService service) {
-        return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getCreateServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_CREATE_SERVICE))).addMethod(getUpdateServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_UPDATE_SERVICE))).addMethod(getDeleteServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_DELETE_SERVICE))).addMethod(getRecomputeConnectionsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_RECOMPUTE_CONNECTIONS))).build();
-    }
-
     private static abstract class ServiceServiceBaseDescriptorSupplier implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier {
 
         ServiceServiceBaseDescriptorSupplier() {
diff --git a/src/ztp/src/test/java/org/etsi/tfs/ztp/SerializerTest.java b/src/ztp/src/test/java/org/etsi/tfs/ztp/SerializerTest.java
index 52b50db1b..346ff5891 100644
--- a/src/ztp/src/test/java/org/etsi/tfs/ztp/SerializerTest.java
+++ b/src/ztp/src/test/java/org/etsi/tfs/ztp/SerializerTest.java
@@ -1227,7 +1227,8 @@ class SerializerTest {
                         DeviceDriverEnum.GNMI_OPENCONFIG,
                         ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_GNMI_OPENCONFIG),
                 Arguments.of(
-                        DeviceDriverEnum.OPTICAL_TFS, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_OPTICAL_TFS),
+                        DeviceDriverEnum.OPTICAL_TFS,
+                        ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_OPTICAL_TFS),
                 Arguments.of(
                         DeviceDriverEnum.IETF_ACTN, ContextOuterClass.DeviceDriverEnum.DEVICEDRIVER_IETF_ACTN),
                 Arguments.of(
diff --git a/src/ztp/target/generated-sources/grpc/acl/Acl.java b/src/ztp/target/generated-sources/grpc/acl/Acl.java
index cba5f55d7..f1895fa72 100644
--- a/src/ztp/target/generated-sources/grpc/acl/Acl.java
+++ b/src/ztp/target/generated-sources/grpc/acl/Acl.java
@@ -485,6 +485,86 @@ public final class Acl {
             return new AclMatch();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private AclMatch(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                dscp_ = input.readUInt32();
+                                break;
+                            }
+                        case 16:
+                            {
+                                protocol_ = input.readUInt32();
+                                break;
+                            }
+                        case 26:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                srcAddress_ = s;
+                                break;
+                            }
+                        case 34:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                dstAddress_ = s;
+                                break;
+                            }
+                        case 40:
+                            {
+                                srcPort_ = input.readUInt32();
+                                break;
+                            }
+                        case 48:
+                            {
+                                dstPort_ = input.readUInt32();
+                                break;
+                            }
+                        case 56:
+                            {
+                                startMplsLabel_ = input.readUInt32();
+                                break;
+                            }
+                        case 64:
+                            {
+                                endMplsLabel_ = input.readUInt32();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return acl.Acl.internal_static_acl_AclMatch_descriptor;
         }
@@ -496,7 +576,7 @@ public final class Acl {
 
         public static final int DSCP_FIELD_NUMBER = 1;
 
-        private int dscp_ = 0;
+        private int dscp_;
 
         /**
          * uint32 dscp = 1;
@@ -509,7 +589,7 @@ public final class Acl {
 
         public static final int PROTOCOL_FIELD_NUMBER = 2;
 
-        private int protocol_ = 0;
+        private int protocol_;
 
         /**
          * uint32 protocol = 2;
@@ -522,8 +602,7 @@ public final class Acl {
 
         public static final int SRC_ADDRESS_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object srcAddress_ = "";
+        private volatile java.lang.Object srcAddress_;
 
         /**
          * string src_address = 3;
@@ -560,8 +639,7 @@ public final class Acl {
 
         public static final int DST_ADDRESS_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object dstAddress_ = "";
+        private volatile java.lang.Object dstAddress_;
 
         /**
          * string dst_address = 4;
@@ -598,7 +676,7 @@ public final class Acl {
 
         public static final int SRC_PORT_FIELD_NUMBER = 5;
 
-        private int srcPort_ = 0;
+        private int srcPort_;
 
         /**
          * uint32 src_port = 5;
@@ -611,7 +689,7 @@ public final class Acl {
 
         public static final int DST_PORT_FIELD_NUMBER = 6;
 
-        private int dstPort_ = 0;
+        private int dstPort_;
 
         /**
          * uint32 dst_port = 6;
@@ -624,7 +702,7 @@ public final class Acl {
 
         public static final int START_MPLS_LABEL_FIELD_NUMBER = 7;
 
-        private int startMplsLabel_ = 0;
+        private int startMplsLabel_;
 
         /**
          * uint32 start_mpls_label = 7;
@@ -637,7 +715,7 @@ public final class Acl {
 
         public static final int END_MPLS_LABEL_FIELD_NUMBER = 8;
 
-        private int endMplsLabel_ = 0;
+        private int endMplsLabel_;
 
         /**
          * uint32 end_mpls_label = 8;
@@ -669,10 +747,10 @@ public final class Acl {
             if (protocol_ != 0) {
                 output.writeUInt32(2, protocol_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcAddress_)) {
+            if (!getSrcAddressBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 3, srcAddress_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstAddress_)) {
+            if (!getDstAddressBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 4, dstAddress_);
             }
             if (srcPort_ != 0) {
@@ -687,7 +765,7 @@ public final class Acl {
             if (endMplsLabel_ != 0) {
                 output.writeUInt32(8, endMplsLabel_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -702,10 +780,10 @@ public final class Acl {
             if (protocol_ != 0) {
                 size += com.google.protobuf.CodedOutputStream.computeUInt32Size(2, protocol_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcAddress_)) {
+            if (!getSrcAddressBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, srcAddress_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstAddress_)) {
+            if (!getDstAddressBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, dstAddress_);
             }
             if (srcPort_ != 0) {
@@ -720,7 +798,7 @@ public final class Acl {
             if (endMplsLabel_ != 0) {
                 size += com.google.protobuf.CodedOutputStream.computeUInt32Size(8, endMplsLabel_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -750,7 +828,7 @@ public final class Acl {
                 return false;
             if (getEndMplsLabel() != other.getEndMplsLabel())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -778,7 +856,7 @@ public final class Acl {
             hash = (53 * hash) + getStartMplsLabel();
             hash = (37 * hash) + END_MPLS_LABEL_FIELD_NUMBER;
             hash = (53 * hash) + getEndMplsLabel();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -872,16 +950,22 @@ public final class Acl {
 
             // Construct using acl.Acl.AclMatch.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 dscp_ = 0;
                 protocol_ = 0;
                 srcAddress_ = "";
@@ -915,39 +999,46 @@ public final class Acl {
             @java.lang.Override
             public acl.Acl.AclMatch buildPartial() {
                 acl.Acl.AclMatch result = new acl.Acl.AclMatch(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.dscp_ = dscp_;
+                result.protocol_ = protocol_;
+                result.srcAddress_ = srcAddress_;
+                result.dstAddress_ = dstAddress_;
+                result.srcPort_ = srcPort_;
+                result.dstPort_ = dstPort_;
+                result.startMplsLabel_ = startMplsLabel_;
+                result.endMplsLabel_ = endMplsLabel_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(acl.Acl.AclMatch result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.dscp_ = dscp_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.protocol_ = protocol_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.srcAddress_ = srcAddress_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.dstAddress_ = dstAddress_;
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.srcPort_ = srcPort_;
-                }
-                if (((from_bitField0_ & 0x00000020) != 0)) {
-                    result.dstPort_ = dstPort_;
-                }
-                if (((from_bitField0_ & 0x00000040) != 0)) {
-                    result.startMplsLabel_ = startMplsLabel_;
-                }
-                if (((from_bitField0_ & 0x00000080) != 0)) {
-                    result.endMplsLabel_ = endMplsLabel_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -971,12 +1062,10 @@ public final class Acl {
                 }
                 if (!other.getSrcAddress().isEmpty()) {
                     srcAddress_ = other.srcAddress_;
-                    bitField0_ |= 0x00000004;
                     onChanged();
                 }
                 if (!other.getDstAddress().isEmpty()) {
                     dstAddress_ = other.dstAddress_;
-                    bitField0_ |= 0x00000008;
                     onChanged();
                 }
                 if (other.getSrcPort() != 0) {
@@ -991,7 +1080,7 @@ public final class Acl {
                 if (other.getEndMplsLabel() != 0) {
                     setEndMplsLabel(other.getEndMplsLabel());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -1003,96 +1092,20 @@ public final class Acl {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                acl.Acl.AclMatch parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    dscp_ = input.readUInt32();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            case 16:
-                                {
-                                    protocol_ = input.readUInt32();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            case 26:
-                                {
-                                    srcAddress_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    dstAddress_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 34
-                            case 40:
-                                {
-                                    srcPort_ = input.readUInt32();
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 40
-                            case 48:
-                                {
-                                    dstPort_ = input.readUInt32();
-                                    bitField0_ |= 0x00000020;
-                                    break;
-                                }
-                            // case 48
-                            case 56:
-                                {
-                                    startMplsLabel_ = input.readUInt32();
-                                    bitField0_ |= 0x00000040;
-                                    break;
-                                }
-                            // case 56
-                            case 64:
-                                {
-                                    endMplsLabel_ = input.readUInt32();
-                                    bitField0_ |= 0x00000080;
-                                    break;
-                                }
-                            // case 64
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (acl.Acl.AclMatch) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private int dscp_;
 
             /**
@@ -1111,7 +1124,6 @@ public final class Acl {
              */
             public Builder setDscp(int value) {
                 dscp_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -1121,7 +1133,6 @@ public final class Acl {
              * @return This builder for chaining.
              */
             public Builder clearDscp() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 dscp_ = 0;
                 onChanged();
                 return this;
@@ -1145,7 +1156,6 @@ public final class Acl {
              */
             public Builder setProtocol(int value) {
                 protocol_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -1155,7 +1165,6 @@ public final class Acl {
              * @return This builder for chaining.
              */
             public Builder clearProtocol() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 protocol_ = 0;
                 onChanged();
                 return this;
@@ -1204,7 +1213,6 @@ public final class Acl {
                     throw new NullPointerException();
                 }
                 srcAddress_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -1215,7 +1223,6 @@ public final class Acl {
              */
             public Builder clearSrcAddress() {
                 srcAddress_ = getDefaultInstance().getSrcAddress();
-                bitField0_ = (bitField0_ & ~0x00000004);
                 onChanged();
                 return this;
             }
@@ -1231,7 +1238,6 @@ public final class Acl {
                 }
                 checkByteStringIsUtf8(value);
                 srcAddress_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -1279,7 +1285,6 @@ public final class Acl {
                     throw new NullPointerException();
                 }
                 dstAddress_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -1290,7 +1295,6 @@ public final class Acl {
              */
             public Builder clearDstAddress() {
                 dstAddress_ = getDefaultInstance().getDstAddress();
-                bitField0_ = (bitField0_ & ~0x00000008);
                 onChanged();
                 return this;
             }
@@ -1306,7 +1310,6 @@ public final class Acl {
                 }
                 checkByteStringIsUtf8(value);
                 dstAddress_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -1329,7 +1332,6 @@ public final class Acl {
              */
             public Builder setSrcPort(int value) {
                 srcPort_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -1339,7 +1341,6 @@ public final class Acl {
              * @return This builder for chaining.
              */
             public Builder clearSrcPort() {
-                bitField0_ = (bitField0_ & ~0x00000010);
                 srcPort_ = 0;
                 onChanged();
                 return this;
@@ -1363,7 +1364,6 @@ public final class Acl {
              */
             public Builder setDstPort(int value) {
                 dstPort_ = value;
-                bitField0_ |= 0x00000020;
                 onChanged();
                 return this;
             }
@@ -1373,7 +1373,6 @@ public final class Acl {
              * @return This builder for chaining.
              */
             public Builder clearDstPort() {
-                bitField0_ = (bitField0_ & ~0x00000020);
                 dstPort_ = 0;
                 onChanged();
                 return this;
@@ -1397,7 +1396,6 @@ public final class Acl {
              */
             public Builder setStartMplsLabel(int value) {
                 startMplsLabel_ = value;
-                bitField0_ |= 0x00000040;
                 onChanged();
                 return this;
             }
@@ -1407,7 +1405,6 @@ public final class Acl {
              * @return This builder for chaining.
              */
             public Builder clearStartMplsLabel() {
-                bitField0_ = (bitField0_ & ~0x00000040);
                 startMplsLabel_ = 0;
                 onChanged();
                 return this;
@@ -1431,7 +1428,6 @@ public final class Acl {
              */
             public Builder setEndMplsLabel(int value) {
                 endMplsLabel_ = value;
-                bitField0_ |= 0x00000080;
                 onChanged();
                 return this;
             }
@@ -1441,7 +1437,6 @@ public final class Acl {
              * @return This builder for chaining.
              */
             public Builder clearEndMplsLabel() {
-                bitField0_ = (bitField0_ & ~0x00000080);
                 endMplsLabel_ = 0;
                 onChanged();
                 return this;
@@ -1474,17 +1469,7 @@ public final class Acl {
 
             @java.lang.Override
             public AclMatch parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new AclMatch(input, extensionRegistry);
             }
         };
 
@@ -1555,6 +1540,56 @@ public final class Acl {
             return new AclAction();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private AclAction(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                int rawValue = input.readEnum();
+                                forwardAction_ = rawValue;
+                                break;
+                            }
+                        case 16:
+                            {
+                                int rawValue = input.readEnum();
+                                logAction_ = rawValue;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return acl.Acl.internal_static_acl_AclAction_descriptor;
         }
@@ -1566,7 +1601,7 @@ public final class Acl {
 
         public static final int FORWARD_ACTION_FIELD_NUMBER = 1;
 
-        private int forwardAction_ = 0;
+        private int forwardAction_;
 
         /**
          * .acl.AclForwardActionEnum forward_action = 1;
@@ -1583,13 +1618,14 @@ public final class Acl {
          */
         @java.lang.Override
         public acl.Acl.AclForwardActionEnum getForwardAction() {
-            acl.Acl.AclForwardActionEnum result = acl.Acl.AclForwardActionEnum.forNumber(forwardAction_);
+            @SuppressWarnings("deprecation")
+            acl.Acl.AclForwardActionEnum result = acl.Acl.AclForwardActionEnum.valueOf(forwardAction_);
             return result == null ? acl.Acl.AclForwardActionEnum.UNRECOGNIZED : result;
         }
 
         public static final int LOG_ACTION_FIELD_NUMBER = 2;
 
-        private int logAction_ = 0;
+        private int logAction_;
 
         /**
          * .acl.AclLogActionEnum log_action = 2;
@@ -1606,7 +1642,8 @@ public final class Acl {
          */
         @java.lang.Override
         public acl.Acl.AclLogActionEnum getLogAction() {
-            acl.Acl.AclLogActionEnum result = acl.Acl.AclLogActionEnum.forNumber(logAction_);
+            @SuppressWarnings("deprecation")
+            acl.Acl.AclLogActionEnum result = acl.Acl.AclLogActionEnum.valueOf(logAction_);
             return result == null ? acl.Acl.AclLogActionEnum.UNRECOGNIZED : result;
         }
 
@@ -1631,7 +1668,7 @@ public final class Acl {
             if (logAction_ != acl.Acl.AclLogActionEnum.ACLLOGACTION_UNDEFINED.getNumber()) {
                 output.writeEnum(2, logAction_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -1646,7 +1683,7 @@ public final class Acl {
             if (logAction_ != acl.Acl.AclLogActionEnum.ACLLOGACTION_UNDEFINED.getNumber()) {
                 size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, logAction_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -1664,7 +1701,7 @@ public final class Acl {
                 return false;
             if (logAction_ != other.logAction_)
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -1680,7 +1717,7 @@ public final class Acl {
             hash = (53 * hash) + forwardAction_;
             hash = (37 * hash) + LOG_ACTION_FIELD_NUMBER;
             hash = (53 * hash) + logAction_;
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -1774,16 +1811,22 @@ public final class Acl {
 
             // Construct using acl.Acl.AclAction.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 forwardAction_ = 0;
                 logAction_ = 0;
                 return this;
@@ -1811,21 +1854,40 @@ public final class Acl {
             @java.lang.Override
             public acl.Acl.AclAction buildPartial() {
                 acl.Acl.AclAction result = new acl.Acl.AclAction(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.forwardAction_ = forwardAction_;
+                result.logAction_ = logAction_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(acl.Acl.AclAction result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.forwardAction_ = forwardAction_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.logAction_ = logAction_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -1847,7 +1909,7 @@ public final class Acl {
                 if (other.logAction_ != 0) {
                     setLogActionValue(other.getLogActionValue());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -1859,54 +1921,20 @@ public final class Acl {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                acl.Acl.AclAction parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    forwardAction_ = input.readEnum();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            case 16:
-                                {
-                                    logAction_ = input.readEnum();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (acl.Acl.AclAction) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private int forwardAction_ = 0;
 
             /**
@@ -1925,7 +1953,6 @@ public final class Acl {
              */
             public Builder setForwardActionValue(int value) {
                 forwardAction_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -1936,7 +1963,8 @@ public final class Acl {
              */
             @java.lang.Override
             public acl.Acl.AclForwardActionEnum getForwardAction() {
-                acl.Acl.AclForwardActionEnum result = acl.Acl.AclForwardActionEnum.forNumber(forwardAction_);
+                @SuppressWarnings("deprecation")
+                acl.Acl.AclForwardActionEnum result = acl.Acl.AclForwardActionEnum.valueOf(forwardAction_);
                 return result == null ? acl.Acl.AclForwardActionEnum.UNRECOGNIZED : result;
             }
 
@@ -1949,7 +1977,6 @@ public final class Acl {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000001;
                 forwardAction_ = value.getNumber();
                 onChanged();
                 return this;
@@ -1960,7 +1987,6 @@ public final class Acl {
              * @return This builder for chaining.
              */
             public Builder clearForwardAction() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 forwardAction_ = 0;
                 onChanged();
                 return this;
@@ -1984,7 +2010,6 @@ public final class Acl {
              */
             public Builder setLogActionValue(int value) {
                 logAction_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -1995,7 +2020,8 @@ public final class Acl {
              */
             @java.lang.Override
             public acl.Acl.AclLogActionEnum getLogAction() {
-                acl.Acl.AclLogActionEnum result = acl.Acl.AclLogActionEnum.forNumber(logAction_);
+                @SuppressWarnings("deprecation")
+                acl.Acl.AclLogActionEnum result = acl.Acl.AclLogActionEnum.valueOf(logAction_);
                 return result == null ? acl.Acl.AclLogActionEnum.UNRECOGNIZED : result;
             }
 
@@ -2008,7 +2034,6 @@ public final class Acl {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000002;
                 logAction_ = value.getNumber();
                 onChanged();
                 return this;
@@ -2019,7 +2044,6 @@ public final class Acl {
              * @return This builder for chaining.
              */
             public Builder clearLogAction() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 logAction_ = 0;
                 onChanged();
                 return this;
@@ -2052,17 +2076,7 @@ public final class Acl {
 
             @java.lang.Override
             public AclAction parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new AclAction(input, extensionRegistry);
             }
         };
 
@@ -2160,6 +2174,81 @@ public final class Acl {
             return new AclEntry();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private AclEntry(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                sequenceId_ = input.readUInt32();
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                description_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                acl.Acl.AclMatch.Builder subBuilder = null;
+                                if (match_ != null) {
+                                    subBuilder = match_.toBuilder();
+                                }
+                                match_ = input.readMessage(acl.Acl.AclMatch.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(match_);
+                                    match_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 34:
+                            {
+                                acl.Acl.AclAction.Builder subBuilder = null;
+                                if (action_ != null) {
+                                    subBuilder = action_.toBuilder();
+                                }
+                                action_ = input.readMessage(acl.Acl.AclAction.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(action_);
+                                    action_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return acl.Acl.internal_static_acl_AclEntry_descriptor;
         }
@@ -2171,7 +2260,7 @@ public final class Acl {
 
         public static final int SEQUENCE_ID_FIELD_NUMBER = 1;
 
-        private int sequenceId_ = 0;
+        private int sequenceId_;
 
         /**
          * uint32 sequence_id = 1;
@@ -2184,8 +2273,7 @@ public final class Acl {
 
         public static final int DESCRIPTION_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object description_ = "";
+        private volatile java.lang.Object description_;
 
         /**
          * string description = 2;
@@ -2247,7 +2335,7 @@ public final class Acl {
          */
         @java.lang.Override
         public acl.Acl.AclMatchOrBuilder getMatchOrBuilder() {
-            return match_ == null ? acl.Acl.AclMatch.getDefaultInstance() : match_;
+            return getMatch();
         }
 
         public static final int ACTION_FIELD_NUMBER = 4;
@@ -2277,7 +2365,7 @@ public final class Acl {
          */
         @java.lang.Override
         public acl.Acl.AclActionOrBuilder getActionOrBuilder() {
-            return action_ == null ? acl.Acl.AclAction.getDefaultInstance() : action_;
+            return getAction();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -2298,7 +2386,7 @@ public final class Acl {
             if (sequenceId_ != 0) {
                 output.writeUInt32(1, sequenceId_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
+            if (!getDescriptionBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, description_);
             }
             if (match_ != null) {
@@ -2307,7 +2395,7 @@ public final class Acl {
             if (action_ != null) {
                 output.writeMessage(4, getAction());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -2319,7 +2407,7 @@ public final class Acl {
             if (sequenceId_ != 0) {
                 size += com.google.protobuf.CodedOutputStream.computeUInt32Size(1, sequenceId_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
+            if (!getDescriptionBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, description_);
             }
             if (match_ != null) {
@@ -2328,7 +2416,7 @@ public final class Acl {
             if (action_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getAction());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -2358,7 +2446,7 @@ public final class Acl {
                 if (!getAction().equals(other.getAction()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -2382,7 +2470,7 @@ public final class Acl {
                 hash = (37 * hash) + ACTION_FIELD_NUMBER;
                 hash = (53 * hash) + getAction().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -2476,26 +2564,34 @@ public final class Acl {
 
             // Construct using acl.Acl.AclEntry.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 sequenceId_ = 0;
                 description_ = "";
-                match_ = null;
-                if (matchBuilder_ != null) {
-                    matchBuilder_.dispose();
+                if (matchBuilder_ == null) {
+                    match_ = null;
+                } else {
+                    match_ = null;
                     matchBuilder_ = null;
                 }
-                action_ = null;
-                if (actionBuilder_ != null) {
-                    actionBuilder_.dispose();
+                if (actionBuilder_ == null) {
+                    action_ = null;
+                } else {
+                    action_ = null;
                     actionBuilder_ = null;
                 }
                 return this;
@@ -2523,27 +2619,50 @@ public final class Acl {
             @java.lang.Override
             public acl.Acl.AclEntry buildPartial() {
                 acl.Acl.AclEntry result = new acl.Acl.AclEntry(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                result.sequenceId_ = sequenceId_;
+                result.description_ = description_;
+                if (matchBuilder_ == null) {
+                    result.match_ = match_;
+                } else {
+                    result.match_ = matchBuilder_.build();
+                }
+                if (actionBuilder_ == null) {
+                    result.action_ = action_;
+                } else {
+                    result.action_ = actionBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(acl.Acl.AclEntry result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.sequenceId_ = sequenceId_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.description_ = description_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.match_ = matchBuilder_ == null ? match_ : matchBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.action_ = actionBuilder_ == null ? action_ : actionBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -2564,7 +2683,6 @@ public final class Acl {
                 }
                 if (!other.getDescription().isEmpty()) {
                     description_ = other.description_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (other.hasMatch()) {
@@ -2573,7 +2691,7 @@ public final class Acl {
                 if (other.hasAction()) {
                     mergeAction(other.getAction());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -2585,68 +2703,20 @@ public final class Acl {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                acl.Acl.AclEntry parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    sequenceId_ = input.readUInt32();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            case 18:
-                                {
-                                    description_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    input.readMessage(getMatchFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    input.readMessage(getActionFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 34
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (acl.Acl.AclEntry) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private int sequenceId_;
 
             /**
@@ -2665,7 +2735,6 @@ public final class Acl {
              */
             public Builder setSequenceId(int value) {
                 sequenceId_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -2675,7 +2744,6 @@ public final class Acl {
              * @return This builder for chaining.
              */
             public Builder clearSequenceId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 sequenceId_ = 0;
                 onChanged();
                 return this;
@@ -2724,7 +2792,6 @@ public final class Acl {
                     throw new NullPointerException();
                 }
                 description_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -2735,7 +2802,6 @@ public final class Acl {
              */
             public Builder clearDescription() {
                 description_ = getDefaultInstance().getDescription();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -2751,7 +2817,6 @@ public final class Acl {
                 }
                 checkByteStringIsUtf8(value);
                 description_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -2765,7 +2830,7 @@ public final class Acl {
              * @return Whether the match field is set.
              */
             public boolean hasMatch() {
-                return ((bitField0_ & 0x00000004) != 0);
+                return matchBuilder_ != null || match_ != null;
             }
 
             /**
@@ -2789,11 +2854,10 @@ public final class Acl {
                         throw new NullPointerException();
                     }
                     match_ = value;
+                    onChanged();
                 } else {
                     matchBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -2803,11 +2867,10 @@ public final class Acl {
             public Builder setMatch(acl.Acl.AclMatch.Builder builderForValue) {
                 if (matchBuilder_ == null) {
                     match_ = builderForValue.build();
+                    onChanged();
                 } else {
                     matchBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -2816,16 +2879,15 @@ public final class Acl {
              */
             public Builder mergeMatch(acl.Acl.AclMatch value) {
                 if (matchBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0) && match_ != null && match_ != acl.Acl.AclMatch.getDefaultInstance()) {
-                        getMatchBuilder().mergeFrom(value);
+                    if (match_ != null) {
+                        match_ = acl.Acl.AclMatch.newBuilder(match_).mergeFrom(value).buildPartial();
                     } else {
                         match_ = value;
                     }
+                    onChanged();
                 } else {
                     matchBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -2833,13 +2895,13 @@ public final class Acl {
              * .acl.AclMatch match = 3;
              */
             public Builder clearMatch() {
-                bitField0_ = (bitField0_ & ~0x00000004);
-                match_ = null;
-                if (matchBuilder_ != null) {
-                    matchBuilder_.dispose();
+                if (matchBuilder_ == null) {
+                    match_ = null;
+                    onChanged();
+                } else {
+                    match_ = null;
                     matchBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -2847,7 +2909,6 @@ public final class Acl {
              * .acl.AclMatch match = 3;
              */
             public acl.Acl.AclMatch.Builder getMatchBuilder() {
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return getMatchFieldBuilder().getBuilder();
             }
@@ -2883,7 +2944,7 @@ public final class Acl {
              * @return Whether the action field is set.
              */
             public boolean hasAction() {
-                return ((bitField0_ & 0x00000008) != 0);
+                return actionBuilder_ != null || action_ != null;
             }
 
             /**
@@ -2907,11 +2968,10 @@ public final class Acl {
                         throw new NullPointerException();
                     }
                     action_ = value;
+                    onChanged();
                 } else {
                     actionBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -2921,11 +2981,10 @@ public final class Acl {
             public Builder setAction(acl.Acl.AclAction.Builder builderForValue) {
                 if (actionBuilder_ == null) {
                     action_ = builderForValue.build();
+                    onChanged();
                 } else {
                     actionBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -2934,16 +2993,15 @@ public final class Acl {
              */
             public Builder mergeAction(acl.Acl.AclAction value) {
                 if (actionBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0) && action_ != null && action_ != acl.Acl.AclAction.getDefaultInstance()) {
-                        getActionBuilder().mergeFrom(value);
+                    if (action_ != null) {
+                        action_ = acl.Acl.AclAction.newBuilder(action_).mergeFrom(value).buildPartial();
                     } else {
                         action_ = value;
                     }
+                    onChanged();
                 } else {
                     actionBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -2951,13 +3009,13 @@ public final class Acl {
              * .acl.AclAction action = 4;
              */
             public Builder clearAction() {
-                bitField0_ = (bitField0_ & ~0x00000008);
-                action_ = null;
-                if (actionBuilder_ != null) {
-                    actionBuilder_.dispose();
+                if (actionBuilder_ == null) {
+                    action_ = null;
+                    onChanged();
+                } else {
+                    action_ = null;
                     actionBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -2965,7 +3023,6 @@ public final class Acl {
              * .acl.AclAction action = 4;
              */
             public acl.Acl.AclAction.Builder getActionBuilder() {
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return getActionFieldBuilder().getBuilder();
             }
@@ -3019,17 +3076,7 @@ public final class Acl {
 
             @java.lang.Override
             public AclEntry parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new AclEntry(input, extensionRegistry);
             }
         };
 
@@ -3152,6 +3199,81 @@ public final class Acl {
             return new AclRuleSet();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private AclRuleSet(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 16:
+                            {
+                                int rawValue = input.readEnum();
+                                type_ = rawValue;
+                                break;
+                            }
+                        case 26:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                description_ = s;
+                                break;
+                            }
+                        case 34:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                userId_ = s;
+                                break;
+                            }
+                        case 42:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    entries_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                entries_.add(input.readMessage(acl.Acl.AclEntry.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    entries_ = java.util.Collections.unmodifiableList(entries_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return acl.Acl.internal_static_acl_AclRuleSet_descriptor;
         }
@@ -3163,8 +3285,7 @@ public final class Acl {
 
         public static final int NAME_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 1;
@@ -3201,7 +3322,7 @@ public final class Acl {
 
         public static final int TYPE_FIELD_NUMBER = 2;
 
-        private int type_ = 0;
+        private int type_;
 
         /**
          * .acl.AclRuleTypeEnum type = 2;
@@ -3218,14 +3339,14 @@ public final class Acl {
          */
         @java.lang.Override
         public acl.Acl.AclRuleTypeEnum getType() {
-            acl.Acl.AclRuleTypeEnum result = acl.Acl.AclRuleTypeEnum.forNumber(type_);
+            @SuppressWarnings("deprecation")
+            acl.Acl.AclRuleTypeEnum result = acl.Acl.AclRuleTypeEnum.valueOf(type_);
             return result == null ? acl.Acl.AclRuleTypeEnum.UNRECOGNIZED : result;
         }
 
         public static final int DESCRIPTION_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object description_ = "";
+        private volatile java.lang.Object description_;
 
         /**
          * string description = 3;
@@ -3262,8 +3383,7 @@ public final class Acl {
 
         public static final int USER_ID_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object userId_ = "";
+        private volatile java.lang.Object userId_;
 
         /**
          * string user_id = 4;
@@ -3300,7 +3420,6 @@ public final class Acl {
 
         public static final int ENTRIES_FIELD_NUMBER = 5;
 
-        @SuppressWarnings("serial")
         private java.util.List entries_;
 
         /**
@@ -3358,22 +3477,22 @@ public final class Acl {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
             }
             if (type_ != acl.Acl.AclRuleTypeEnum.ACLRULETYPE_UNDEFINED.getNumber()) {
                 output.writeEnum(2, type_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
+            if (!getDescriptionBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 3, description_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userId_)) {
+            if (!getUserIdBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 4, userId_);
             }
             for (int i = 0; i < entries_.size(); i++) {
                 output.writeMessage(5, entries_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -3382,22 +3501,22 @@ public final class Acl {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
             }
             if (type_ != acl.Acl.AclRuleTypeEnum.ACLRULETYPE_UNDEFINED.getNumber()) {
                 size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, type_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) {
+            if (!getDescriptionBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, description_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(userId_)) {
+            if (!getUserIdBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, userId_);
             }
             for (int i = 0; i < entries_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, entries_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -3421,7 +3540,7 @@ public final class Acl {
                 return false;
             if (!getEntriesList().equals(other.getEntriesList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -3445,7 +3564,7 @@ public final class Acl {
                 hash = (37 * hash) + ENTRIES_FIELD_NUMBER;
                 hash = (53 * hash) + getEntriesList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -3539,27 +3658,33 @@ public final class Acl {
 
             // Construct using acl.Acl.AclRuleSet.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getEntriesFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 name_ = "";
                 type_ = 0;
                 description_ = "";
                 userId_ = "";
                 if (entriesBuilder_ == null) {
                     entries_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    entries_ = null;
                     entriesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000010);
                 return this;
             }
 
@@ -3585,40 +3710,52 @@ public final class Acl {
             @java.lang.Override
             public acl.Acl.AclRuleSet buildPartial() {
                 acl.Acl.AclRuleSet result = new acl.Acl.AclRuleSet(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(acl.Acl.AclRuleSet result) {
+                int from_bitField0_ = bitField0_;
+                result.name_ = name_;
+                result.type_ = type_;
+                result.description_ = description_;
+                result.userId_ = userId_;
                 if (entriesBuilder_ == null) {
-                    if (((bitField0_ & 0x00000010) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         entries_ = java.util.Collections.unmodifiableList(entries_);
-                        bitField0_ = (bitField0_ & ~0x00000010);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.entries_ = entries_;
                 } else {
                     result.entries_ = entriesBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(acl.Acl.AclRuleSet result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.name_ = name_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.type_ = type_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.description_ = description_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.userId_ = userId_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -3636,7 +3773,6 @@ public final class Acl {
                     return this;
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
                 if (other.type_ != 0) {
@@ -3644,19 +3780,17 @@ public final class Acl {
                 }
                 if (!other.getDescription().isEmpty()) {
                     description_ = other.description_;
-                    bitField0_ |= 0x00000004;
                     onChanged();
                 }
                 if (!other.getUserId().isEmpty()) {
                     userId_ = other.userId_;
-                    bitField0_ |= 0x00000008;
                     onChanged();
                 }
                 if (entriesBuilder_ == null) {
                     if (!other.entries_.isEmpty()) {
                         if (entries_.isEmpty()) {
                             entries_ = other.entries_;
-                            bitField0_ = (bitField0_ & ~0x00000010);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureEntriesIsMutable();
                             entries_.addAll(other.entries_);
@@ -3669,14 +3803,14 @@ public final class Acl {
                             entriesBuilder_.dispose();
                             entriesBuilder_ = null;
                             entries_ = other.entries_;
-                            bitField0_ = (bitField0_ & ~0x00000010);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             entriesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getEntriesFieldBuilder() : null;
                         } else {
                             entriesBuilder_.addAllMessages(other.entries_);
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -3688,75 +3822,17 @@ public final class Acl {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                acl.Acl.AclRuleSet parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 16:
-                                {
-                                    type_ = input.readEnum();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            case 26:
-                                {
-                                    description_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    userId_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    acl.Acl.AclEntry m = input.readMessage(acl.Acl.AclEntry.parser(), extensionRegistry);
-                                    if (entriesBuilder_ == null) {
-                                        ensureEntriesIsMutable();
-                                        entries_.add(m);
-                                    } else {
-                                        entriesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 42
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (acl.Acl.AclRuleSet) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -3805,7 +3881,6 @@ public final class Acl {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -3816,7 +3891,6 @@ public final class Acl {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -3832,7 +3906,6 @@ public final class Acl {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -3855,7 +3928,6 @@ public final class Acl {
              */
             public Builder setTypeValue(int value) {
                 type_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -3866,7 +3938,8 @@ public final class Acl {
              */
             @java.lang.Override
             public acl.Acl.AclRuleTypeEnum getType() {
-                acl.Acl.AclRuleTypeEnum result = acl.Acl.AclRuleTypeEnum.forNumber(type_);
+                @SuppressWarnings("deprecation")
+                acl.Acl.AclRuleTypeEnum result = acl.Acl.AclRuleTypeEnum.valueOf(type_);
                 return result == null ? acl.Acl.AclRuleTypeEnum.UNRECOGNIZED : result;
             }
 
@@ -3879,7 +3952,6 @@ public final class Acl {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000002;
                 type_ = value.getNumber();
                 onChanged();
                 return this;
@@ -3890,7 +3962,6 @@ public final class Acl {
              * @return This builder for chaining.
              */
             public Builder clearType() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 type_ = 0;
                 onChanged();
                 return this;
@@ -3939,7 +4010,6 @@ public final class Acl {
                     throw new NullPointerException();
                 }
                 description_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -3950,7 +4020,6 @@ public final class Acl {
              */
             public Builder clearDescription() {
                 description_ = getDefaultInstance().getDescription();
-                bitField0_ = (bitField0_ & ~0x00000004);
                 onChanged();
                 return this;
             }
@@ -3966,7 +4035,6 @@ public final class Acl {
                 }
                 checkByteStringIsUtf8(value);
                 description_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -4014,7 +4082,6 @@ public final class Acl {
                     throw new NullPointerException();
                 }
                 userId_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -4025,7 +4092,6 @@ public final class Acl {
              */
             public Builder clearUserId() {
                 userId_ = getDefaultInstance().getUserId();
-                bitField0_ = (bitField0_ & ~0x00000008);
                 onChanged();
                 return this;
             }
@@ -4041,7 +4107,6 @@ public final class Acl {
                 }
                 checkByteStringIsUtf8(value);
                 userId_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -4049,9 +4114,9 @@ public final class Acl {
             private java.util.List entries_ = java.util.Collections.emptyList();
 
             private void ensureEntriesIsMutable() {
-                if (!((bitField0_ & 0x00000010) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     entries_ = new java.util.ArrayList(entries_);
-                    bitField0_ |= 0x00000010;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -4203,7 +4268,7 @@ public final class Acl {
             public Builder clearEntries() {
                 if (entriesBuilder_ == null) {
                     entries_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000010);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     entriesBuilder_.clear();
@@ -4277,7 +4342,7 @@ public final class Acl {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getEntriesFieldBuilder() {
                 if (entriesBuilder_ == null) {
-                    entriesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(entries_, ((bitField0_ & 0x00000010) != 0), getParentForChildren(), isClean());
+                    entriesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(entries_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     entries_ = null;
                 }
                 return entriesBuilder_;
@@ -4310,17 +4375,7 @@ public final class Acl {
 
             @java.lang.Override
             public AclRuleSet parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new AclRuleSet(input, extensionRegistry);
             }
         };
 
diff --git a/src/ztp/target/generated-sources/grpc/context/ContextOuterClass.java b/src/ztp/target/generated-sources/grpc/context/ContextOuterClass.java
index 9bcff8a50..459377049 100644
--- a/src/ztp/target/generated-sources/grpc/context/ContextOuterClass.java
+++ b/src/ztp/target/generated-sources/grpc/context/ContextOuterClass.java
@@ -184,9 +184,9 @@ public final class ContextOuterClass {
          */
         DEVICEDRIVER_GNMI_OPENCONFIG(8),
         /**
-         * DEVICEDRIVER_FLEXSCALE = 9;
+         * DEVICEDRIVER_OPTICAL_TFS = 9;
          */
-        DEVICEDRIVER_FLEXSCALE(9),
+        DEVICEDRIVER_OPTICAL_TFS(9),
         /**
          * DEVICEDRIVER_IETF_ACTN = 10;
          */
@@ -247,9 +247,9 @@ public final class ContextOuterClass {
         public static final int DEVICEDRIVER_GNMI_OPENCONFIG_VALUE = 8;
 
         /**
-         * DEVICEDRIVER_FLEXSCALE = 9;
+         * DEVICEDRIVER_OPTICAL_TFS = 9;
          */
-        public static final int DEVICEDRIVER_FLEXSCALE_VALUE = 9;
+        public static final int DEVICEDRIVER_OPTICAL_TFS_VALUE = 9;
 
         /**
          * DEVICEDRIVER_IETF_ACTN = 10;
@@ -303,7 +303,7 @@ public final class ContextOuterClass {
                 case 8:
                     return DEVICEDRIVER_GNMI_OPENCONFIG;
                 case 9:
-                    return DEVICEDRIVER_FLEXSCALE;
+                    return DEVICEDRIVER_OPTICAL_TFS;
                 case 10:
                     return DEVICEDRIVER_IETF_ACTN;
                 case 11:
@@ -1363,6 +1363,44 @@ public final class ContextOuterClass {
             return new Empty();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Empty(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Empty_descriptor;
         }
@@ -1387,7 +1425,7 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -1396,7 +1434,7 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -1410,7 +1448,7 @@ public final class ContextOuterClass {
                 return super.equals(obj);
             }
             context.ContextOuterClass.Empty other = (context.ContextOuterClass.Empty) obj;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -1422,7 +1460,7 @@ public final class ContextOuterClass {
             }
             int hash = 41;
             hash = (19 * hash) + getDescriptor().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -1520,10 +1558,17 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Empty.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
@@ -1558,6 +1603,36 @@ public final class ContextOuterClass {
                 return result;
             }
 
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
+            }
+
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.Message other) {
                 if (other instanceof context.ContextOuterClass.Empty) {
@@ -1571,7 +1646,7 @@ public final class ContextOuterClass {
             public Builder mergeFrom(context.ContextOuterClass.Empty other) {
                 if (other == context.ContextOuterClass.Empty.getDefaultInstance())
                     return this;
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -1583,35 +1658,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Empty parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Empty) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -1642,17 +1699,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Empty parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Empty(input, extensionRegistry);
             }
         };
 
@@ -1710,6 +1757,50 @@ public final class ContextOuterClass {
             return new Uuid();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Uuid(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                uuid_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Uuid_descriptor;
         }
@@ -1721,8 +1812,7 @@ public final class ContextOuterClass {
 
         public static final int UUID_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object uuid_ = "";
+        private volatile java.lang.Object uuid_;
 
         /**
          * string uuid = 1;
@@ -1772,10 +1862,10 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(uuid_)) {
+            if (!getUuidBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, uuid_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -1784,10 +1874,10 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(uuid_)) {
+            if (!getUuidBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, uuid_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -1803,7 +1893,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.Uuid other = (context.ContextOuterClass.Uuid) obj;
             if (!getUuid().equals(other.getUuid()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -1817,7 +1907,7 @@ public final class ContextOuterClass {
             hash = (19 * hash) + getDescriptor().hashCode();
             hash = (37 * hash) + UUID_FIELD_NUMBER;
             hash = (53 * hash) + getUuid().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -1911,16 +2001,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Uuid.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 uuid_ = "";
                 return this;
             }
@@ -1947,18 +2043,39 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Uuid buildPartial() {
                 context.ContextOuterClass.Uuid result = new context.ContextOuterClass.Uuid(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.uuid_ = uuid_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Uuid result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.uuid_ = uuid_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -1976,10 +2093,9 @@ public final class ContextOuterClass {
                     return this;
                 if (!other.getUuid().isEmpty()) {
                     uuid_ = other.uuid_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -1991,47 +2107,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Uuid parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    uuid_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Uuid) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private java.lang.Object uuid_ = "";
 
             /**
@@ -2075,7 +2164,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 uuid_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -2086,7 +2174,6 @@ public final class ContextOuterClass {
              */
             public Builder clearUuid() {
                 uuid_ = getDefaultInstance().getUuid();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -2102,7 +2189,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 uuid_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -2134,17 +2220,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Uuid parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Uuid(input, extensionRegistry);
             }
         };
 
@@ -2195,6 +2271,49 @@ public final class ContextOuterClass {
             return new Timestamp();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Timestamp(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 9:
+                            {
+                                timestamp_ = input.readDouble();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Timestamp_descriptor;
         }
@@ -2206,7 +2325,7 @@ public final class ContextOuterClass {
 
         public static final int TIMESTAMP_FIELD_NUMBER = 1;
 
-        private double timestamp_ = 0D;
+        private double timestamp_;
 
         /**
          * double timestamp = 1;
@@ -2232,10 +2351,10 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (java.lang.Double.doubleToRawLongBits(timestamp_) != 0) {
+            if (timestamp_ != 0D) {
                 output.writeDouble(1, timestamp_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -2244,10 +2363,10 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (java.lang.Double.doubleToRawLongBits(timestamp_) != 0) {
+            if (timestamp_ != 0D) {
                 size += com.google.protobuf.CodedOutputStream.computeDoubleSize(1, timestamp_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -2263,7 +2382,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.Timestamp other = (context.ContextOuterClass.Timestamp) obj;
             if (java.lang.Double.doubleToLongBits(getTimestamp()) != java.lang.Double.doubleToLongBits(other.getTimestamp()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -2277,7 +2396,7 @@ public final class ContextOuterClass {
             hash = (19 * hash) + getDescriptor().hashCode();
             hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
             hash = (53 * hash) + com.google.protobuf.Internal.hashLong(java.lang.Double.doubleToLongBits(getTimestamp()));
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -2371,16 +2490,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Timestamp.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 timestamp_ = 0D;
                 return this;
             }
@@ -2407,18 +2532,39 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Timestamp buildPartial() {
                 context.ContextOuterClass.Timestamp result = new context.ContextOuterClass.Timestamp(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.timestamp_ = timestamp_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Timestamp result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.timestamp_ = timestamp_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -2437,7 +2583,7 @@ public final class ContextOuterClass {
                 if (other.getTimestamp() != 0D) {
                     setTimestamp(other.getTimestamp());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -2449,47 +2595,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Timestamp parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 9:
-                                {
-                                    timestamp_ = input.readDouble();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 9
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Timestamp) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private double timestamp_;
 
             /**
@@ -2508,7 +2627,6 @@ public final class ContextOuterClass {
              */
             public Builder setTimestamp(double value) {
                 timestamp_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -2518,7 +2636,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 timestamp_ = 0D;
                 onChanged();
                 return this;
@@ -2551,17 +2668,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Timestamp parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Timestamp(input, extensionRegistry);
             }
         };
 
@@ -2636,6 +2743,63 @@ public final class ContextOuterClass {
             return new Event();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Event(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (timestamp_ != null) {
+                                    subBuilder = timestamp_.toBuilder();
+                                }
+                                timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(timestamp_);
+                                    timestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 16:
+                            {
+                                int rawValue = input.readEnum();
+                                eventType_ = rawValue;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Event_descriptor;
         }
@@ -2672,12 +2836,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() {
-            return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_;
+            return getTimestamp();
         }
 
         public static final int EVENT_TYPE_FIELD_NUMBER = 2;
 
-        private int eventType_ = 0;
+        private int eventType_;
 
         /**
          * .context.EventTypeEnum event_type = 2;
@@ -2694,7 +2858,8 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EventTypeEnum getEventType() {
-            context.ContextOuterClass.EventTypeEnum result = context.ContextOuterClass.EventTypeEnum.forNumber(eventType_);
+            @SuppressWarnings("deprecation")
+            context.ContextOuterClass.EventTypeEnum result = context.ContextOuterClass.EventTypeEnum.valueOf(eventType_);
             return result == null ? context.ContextOuterClass.EventTypeEnum.UNRECOGNIZED : result;
         }
 
@@ -2719,7 +2884,7 @@ public final class ContextOuterClass {
             if (eventType_ != context.ContextOuterClass.EventTypeEnum.EVENTTYPE_UNDEFINED.getNumber()) {
                 output.writeEnum(2, eventType_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -2734,7 +2899,7 @@ public final class ContextOuterClass {
             if (eventType_ != context.ContextOuterClass.EventTypeEnum.EVENTTYPE_UNDEFINED.getNumber()) {
                 size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, eventType_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -2756,7 +2921,7 @@ public final class ContextOuterClass {
             }
             if (eventType_ != other.eventType_)
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -2774,7 +2939,7 @@ public final class ContextOuterClass {
             }
             hash = (37 * hash) + EVENT_TYPE_FIELD_NUMBER;
             hash = (53 * hash) + eventType_;
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -2868,19 +3033,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Event.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
                 eventType_ = 0;
@@ -2909,21 +3081,44 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Event buildPartial() {
                 context.ContextOuterClass.Event result = new context.ContextOuterClass.Event(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (timestampBuilder_ == null) {
+                    result.timestamp_ = timestamp_;
+                } else {
+                    result.timestamp_ = timestampBuilder_.build();
                 }
+                result.eventType_ = eventType_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Event result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.timestamp_ = timestampBuilder_ == null ? timestamp_ : timestampBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.eventType_ = eventType_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -2945,7 +3140,7 @@ public final class ContextOuterClass {
                 if (other.eventType_ != 0) {
                     setEventTypeValue(other.getEventTypeValue());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -2957,54 +3152,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Event parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 16:
-                                {
-                                    eventType_ = input.readEnum();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Event) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Timestamp timestamp_;
 
             private com.google.protobuf.SingleFieldBuilderV3 timestampBuilder_;
@@ -3014,7 +3175,7 @@ public final class ContextOuterClass {
              * @return Whether the timestamp field is set.
              */
             public boolean hasTimestamp() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return timestampBuilder_ != null || timestamp_ != null;
             }
 
             /**
@@ -3038,11 +3199,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     timestamp_ = value;
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -3052,11 +3212,10 @@ public final class ContextOuterClass {
             public Builder setTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (timestampBuilder_ == null) {
                     timestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -3065,16 +3224,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (timestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && timestamp_ != null && timestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getTimestampBuilder().mergeFrom(value);
+                    if (timestamp_ != null) {
+                        timestamp_ = context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial();
                     } else {
                         timestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     timestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -3082,13 +3240,13 @@ public final class ContextOuterClass {
              * .context.Timestamp timestamp = 1;
              */
             public Builder clearTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                    onChanged();
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -3096,7 +3254,6 @@ public final class ContextOuterClass {
              * .context.Timestamp timestamp = 1;
              */
             public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getTimestampFieldBuilder().getBuilder();
             }
@@ -3141,7 +3298,6 @@ public final class ContextOuterClass {
              */
             public Builder setEventTypeValue(int value) {
                 eventType_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -3152,7 +3308,8 @@ public final class ContextOuterClass {
              */
             @java.lang.Override
             public context.ContextOuterClass.EventTypeEnum getEventType() {
-                context.ContextOuterClass.EventTypeEnum result = context.ContextOuterClass.EventTypeEnum.forNumber(eventType_);
+                @SuppressWarnings("deprecation")
+                context.ContextOuterClass.EventTypeEnum result = context.ContextOuterClass.EventTypeEnum.valueOf(eventType_);
                 return result == null ? context.ContextOuterClass.EventTypeEnum.UNRECOGNIZED : result;
             }
 
@@ -3165,7 +3322,6 @@ public final class ContextOuterClass {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000002;
                 eventType_ = value.getNumber();
                 onChanged();
                 return this;
@@ -3176,7 +3332,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearEventType() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 eventType_ = 0;
                 onChanged();
                 return this;
@@ -3209,17 +3364,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Event parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Event(input, extensionRegistry);
             }
         };
 
@@ -3285,6 +3430,57 @@ public final class ContextOuterClass {
             return new ContextId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ContextId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (contextUuid_ != null) {
+                                    subBuilder = contextUuid_.toBuilder();
+                                }
+                                contextUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(contextUuid_);
+                                    contextUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ContextId_descriptor;
         }
@@ -3321,7 +3517,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getContextUuidOrBuilder() {
-            return contextUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : contextUuid_;
+            return getContextUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -3342,7 +3538,7 @@ public final class ContextOuterClass {
             if (contextUuid_ != null) {
                 output.writeMessage(1, getContextUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -3354,7 +3550,7 @@ public final class ContextOuterClass {
             if (contextUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getContextUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -3374,7 +3570,7 @@ public final class ContextOuterClass {
                 if (!getContextUuid().equals(other.getContextUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -3390,7 +3586,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONTEXT_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getContextUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -3488,19 +3684,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ContextId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                contextUuid_ = null;
-                if (contextUuidBuilder_ != null) {
-                    contextUuidBuilder_.dispose();
+                if (contextUuidBuilder_ == null) {
+                    contextUuid_ = null;
+                } else {
+                    contextUuid_ = null;
                     contextUuidBuilder_ = null;
                 }
                 return this;
@@ -3528,18 +3731,43 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ContextId buildPartial() {
                 context.ContextOuterClass.ContextId result = new context.ContextOuterClass.ContextId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (contextUuidBuilder_ == null) {
+                    result.contextUuid_ = contextUuid_;
+                } else {
+                    result.contextUuid_ = contextUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ContextId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.contextUuid_ = contextUuidBuilder_ == null ? contextUuid_ : contextUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -3558,7 +3786,7 @@ public final class ContextOuterClass {
                 if (other.hasContextUuid()) {
                     mergeContextUuid(other.getContextUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -3570,47 +3798,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ContextId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getContextUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ContextId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid contextUuid_;
 
             private com.google.protobuf.SingleFieldBuilderV3 contextUuidBuilder_;
@@ -3620,7 +3821,7 @@ public final class ContextOuterClass {
              * @return Whether the contextUuid field is set.
              */
             public boolean hasContextUuid() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return contextUuidBuilder_ != null || contextUuid_ != null;
             }
 
             /**
@@ -3644,11 +3845,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     contextUuid_ = value;
+                    onChanged();
                 } else {
                     contextUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -3658,11 +3858,10 @@ public final class ContextOuterClass {
             public Builder setContextUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (contextUuidBuilder_ == null) {
                     contextUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     contextUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -3671,16 +3870,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeContextUuid(context.ContextOuterClass.Uuid value) {
                 if (contextUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && contextUuid_ != null && contextUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getContextUuidBuilder().mergeFrom(value);
+                    if (contextUuid_ != null) {
+                        contextUuid_ = context.ContextOuterClass.Uuid.newBuilder(contextUuid_).mergeFrom(value).buildPartial();
                     } else {
                         contextUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     contextUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -3688,13 +3886,13 @@ public final class ContextOuterClass {
              * .context.Uuid context_uuid = 1;
              */
             public Builder clearContextUuid() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                contextUuid_ = null;
-                if (contextUuidBuilder_ != null) {
-                    contextUuidBuilder_.dispose();
+                if (contextUuidBuilder_ == null) {
+                    contextUuid_ = null;
+                    onChanged();
+                } else {
+                    contextUuid_ = null;
                     contextUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -3702,7 +3900,6 @@ public final class ContextOuterClass {
              * .context.Uuid context_uuid = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getContextUuidBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getContextUuidFieldBuilder().getBuilder();
             }
@@ -3756,17 +3953,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ContextId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ContextId(input, extensionRegistry);
             }
         };
 
@@ -3936,6 +4123,113 @@ public final class ContextOuterClass {
             return new Context();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Context(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ContextId.Builder subBuilder = null;
+                                if (contextId_ != null) {
+                                    subBuilder = contextId_.toBuilder();
+                                }
+                                contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(contextId_);
+                                    contextId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    topologyIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                topologyIds_.add(input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 34:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+                                    serviceIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000002;
+                                }
+                                serviceIds_.add(input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 42:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000004) != 0)) {
+                                    sliceIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000004;
+                                }
+                                sliceIds_.add(input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 50:
+                            {
+                                context.ContextOuterClass.TeraFlowController.Builder subBuilder = null;
+                                if (controller_ != null) {
+                                    subBuilder = controller_.toBuilder();
+                                }
+                                controller_ = input.readMessage(context.ContextOuterClass.TeraFlowController.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(controller_);
+                                    controller_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    topologyIds_ = java.util.Collections.unmodifiableList(topologyIds_);
+                }
+                if (((mutable_bitField0_ & 0x00000002) != 0)) {
+                    serviceIds_ = java.util.Collections.unmodifiableList(serviceIds_);
+                }
+                if (((mutable_bitField0_ & 0x00000004) != 0)) {
+                    sliceIds_ = java.util.Collections.unmodifiableList(sliceIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Context_descriptor;
         }
@@ -3972,13 +4266,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() {
-            return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_;
+            return getContextId();
         }
 
         public static final int NAME_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 2;
@@ -4015,7 +4308,6 @@ public final class ContextOuterClass {
 
         public static final int TOPOLOGY_IDS_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
         private java.util.List topologyIds_;
 
         /**
@@ -4060,7 +4352,6 @@ public final class ContextOuterClass {
 
         public static final int SERVICE_IDS_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
         private java.util.List serviceIds_;
 
         /**
@@ -4105,7 +4396,6 @@ public final class ContextOuterClass {
 
         public static final int SLICE_IDS_FIELD_NUMBER = 5;
 
-        @SuppressWarnings("serial")
         private java.util.List sliceIds_;
 
         /**
@@ -4175,7 +4465,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.TeraFlowControllerOrBuilder getControllerOrBuilder() {
-            return controller_ == null ? context.ContextOuterClass.TeraFlowController.getDefaultInstance() : controller_;
+            return getController();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -4196,7 +4486,7 @@ public final class ContextOuterClass {
             if (contextId_ != null) {
                 output.writeMessage(1, getContextId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
             }
             for (int i = 0; i < topologyIds_.size(); i++) {
@@ -4211,7 +4501,7 @@ public final class ContextOuterClass {
             if (controller_ != null) {
                 output.writeMessage(6, getController());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -4223,7 +4513,7 @@ public final class ContextOuterClass {
             if (contextId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getContextId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
             }
             for (int i = 0; i < topologyIds_.size(); i++) {
@@ -4238,7 +4528,7 @@ public final class ContextOuterClass {
             if (controller_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getController());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -4272,7 +4562,7 @@ public final class ContextOuterClass {
                 if (!getController().equals(other.getController()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -4306,7 +4596,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONTROLLER_FIELD_NUMBER;
                 hash = (53 * hash) + getController().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -4400,46 +4690,54 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Context.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getTopologyIdsFieldBuilder();
+                    getServiceIdsFieldBuilder();
+                    getSliceIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
                 name_ = "";
                 if (topologyIdsBuilder_ == null) {
                     topologyIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    topologyIds_ = null;
                     topologyIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000004);
                 if (serviceIdsBuilder_ == null) {
                     serviceIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000002);
                 } else {
-                    serviceIds_ = null;
                     serviceIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000008);
                 if (sliceIdsBuilder_ == null) {
                     sliceIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000004);
                 } else {
-                    sliceIds_ = null;
                     sliceIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000010);
-                controller_ = null;
-                if (controllerBuilder_ != null) {
-                    controllerBuilder_.dispose();
+                if (controllerBuilder_ == null) {
+                    controller_ = null;
+                } else {
+                    controller_ = null;
                     controllerBuilder_ = null;
                 }
                 return this;
@@ -4467,55 +4765,77 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Context buildPartial() {
                 context.ContextOuterClass.Context result = new context.ContextOuterClass.Context(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (contextIdBuilder_ == null) {
+                    result.contextId_ = contextId_;
+                } else {
+                    result.contextId_ = contextIdBuilder_.build();
                 }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.Context result) {
+                result.name_ = name_;
                 if (topologyIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         topologyIds_ = java.util.Collections.unmodifiableList(topologyIds_);
-                        bitField0_ = (bitField0_ & ~0x00000004);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.topologyIds_ = topologyIds_;
                 } else {
                     result.topologyIds_ = topologyIdsBuilder_.build();
                 }
                 if (serviceIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0)) {
+                    if (((bitField0_ & 0x00000002) != 0)) {
                         serviceIds_ = java.util.Collections.unmodifiableList(serviceIds_);
-                        bitField0_ = (bitField0_ & ~0x00000008);
+                        bitField0_ = (bitField0_ & ~0x00000002);
                     }
                     result.serviceIds_ = serviceIds_;
                 } else {
                     result.serviceIds_ = serviceIdsBuilder_.build();
                 }
                 if (sliceIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000010) != 0)) {
+                    if (((bitField0_ & 0x00000004) != 0)) {
                         sliceIds_ = java.util.Collections.unmodifiableList(sliceIds_);
-                        bitField0_ = (bitField0_ & ~0x00000010);
+                        bitField0_ = (bitField0_ & ~0x00000004);
                     }
                     result.sliceIds_ = sliceIds_;
                 } else {
                     result.sliceIds_ = sliceIdsBuilder_.build();
                 }
+                if (controllerBuilder_ == null) {
+                    result.controller_ = controller_;
+                } else {
+                    result.controller_ = controllerBuilder_.build();
+                }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Context result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.contextId_ = contextIdBuilder_ == null ? contextId_ : contextIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.name_ = name_;
-                }
-                if (((from_bitField0_ & 0x00000020) != 0)) {
-                    result.controller_ = controllerBuilder_ == null ? controller_ : controllerBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -4536,14 +4856,13 @@ public final class ContextOuterClass {
                 }
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (topologyIdsBuilder_ == null) {
                     if (!other.topologyIds_.isEmpty()) {
                         if (topologyIds_.isEmpty()) {
                             topologyIds_ = other.topologyIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureTopologyIdsIsMutable();
                             topologyIds_.addAll(other.topologyIds_);
@@ -4556,7 +4875,7 @@ public final class ContextOuterClass {
                             topologyIdsBuilder_.dispose();
                             topologyIdsBuilder_ = null;
                             topologyIds_ = other.topologyIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             topologyIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getTopologyIdsFieldBuilder() : null;
                         } else {
                             topologyIdsBuilder_.addAllMessages(other.topologyIds_);
@@ -4567,7 +4886,7 @@ public final class ContextOuterClass {
                     if (!other.serviceIds_.isEmpty()) {
                         if (serviceIds_.isEmpty()) {
                             serviceIds_ = other.serviceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                         } else {
                             ensureServiceIdsIsMutable();
                             serviceIds_.addAll(other.serviceIds_);
@@ -4580,7 +4899,7 @@ public final class ContextOuterClass {
                             serviceIdsBuilder_.dispose();
                             serviceIdsBuilder_ = null;
                             serviceIds_ = other.serviceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                             serviceIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getServiceIdsFieldBuilder() : null;
                         } else {
                             serviceIdsBuilder_.addAllMessages(other.serviceIds_);
@@ -4591,7 +4910,7 @@ public final class ContextOuterClass {
                     if (!other.sliceIds_.isEmpty()) {
                         if (sliceIds_.isEmpty()) {
                             sliceIds_ = other.sliceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000010);
+                            bitField0_ = (bitField0_ & ~0x00000004);
                         } else {
                             ensureSliceIdsIsMutable();
                             sliceIds_.addAll(other.sliceIds_);
@@ -4604,7 +4923,7 @@ public final class ContextOuterClass {
                             sliceIdsBuilder_.dispose();
                             sliceIdsBuilder_ = null;
                             sliceIds_ = other.sliceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000010);
+                            bitField0_ = (bitField0_ & ~0x00000004);
                             sliceIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getSliceIdsFieldBuilder() : null;
                         } else {
                             sliceIdsBuilder_.addAllMessages(other.sliceIds_);
@@ -4614,7 +4933,7 @@ public final class ContextOuterClass {
                 if (other.hasController()) {
                     mergeController(other.getController());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -4626,92 +4945,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Context parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getContextIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    context.ContextOuterClass.TopologyId m = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry);
-                                    if (topologyIdsBuilder_ == null) {
-                                        ensureTopologyIdsIsMutable();
-                                        topologyIds_.add(m);
-                                    } else {
-                                        topologyIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    context.ContextOuterClass.ServiceId m = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry);
-                                    if (serviceIdsBuilder_ == null) {
-                                        ensureServiceIdsIsMutable();
-                                        serviceIds_.add(m);
-                                    } else {
-                                        serviceIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    context.ContextOuterClass.SliceId m = input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry);
-                                    if (sliceIdsBuilder_ == null) {
-                                        ensureSliceIdsIsMutable();
-                                        sliceIds_.add(m);
-                                    } else {
-                                        sliceIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 42
-                            case 50:
-                                {
-                                    input.readMessage(getControllerFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000020;
-                                    break;
-                                }
-                            // case 50
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Context) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -4726,7 +4970,7 @@ public final class ContextOuterClass {
              * @return Whether the contextId field is set.
              */
             public boolean hasContextId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return contextIdBuilder_ != null || contextId_ != null;
             }
 
             /**
@@ -4750,11 +4994,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     contextId_ = value;
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -4764,11 +5007,10 @@ public final class ContextOuterClass {
             public Builder setContextId(context.ContextOuterClass.ContextId.Builder builderForValue) {
                 if (contextIdBuilder_ == null) {
                     contextId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -4777,16 +5019,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeContextId(context.ContextOuterClass.ContextId value) {
                 if (contextIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && contextId_ != null && contextId_ != context.ContextOuterClass.ContextId.getDefaultInstance()) {
-                        getContextIdBuilder().mergeFrom(value);
+                    if (contextId_ != null) {
+                        contextId_ = context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial();
                     } else {
                         contextId_ = value;
                     }
+                    onChanged();
                 } else {
                     contextIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -4794,13 +5035,13 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public Builder clearContextId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                    onChanged();
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -4808,7 +5049,6 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getContextIdFieldBuilder().getBuilder();
             }
@@ -4878,7 +5118,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -4889,7 +5128,6 @@ public final class ContextOuterClass {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -4905,7 +5143,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -4913,9 +5150,9 @@ public final class ContextOuterClass {
             private java.util.List topologyIds_ = java.util.Collections.emptyList();
 
             private void ensureTopologyIdsIsMutable() {
-                if (!((bitField0_ & 0x00000004) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     topologyIds_ = new java.util.ArrayList(topologyIds_);
-                    bitField0_ |= 0x00000004;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -5067,7 +5304,7 @@ public final class ContextOuterClass {
             public Builder clearTopologyIds() {
                 if (topologyIdsBuilder_ == null) {
                     topologyIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000004);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     topologyIdsBuilder_.clear();
@@ -5141,7 +5378,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getTopologyIdsFieldBuilder() {
                 if (topologyIdsBuilder_ == null) {
-                    topologyIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(topologyIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
+                    topologyIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(topologyIds_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     topologyIds_ = null;
                 }
                 return topologyIdsBuilder_;
@@ -5150,9 +5387,9 @@ public final class ContextOuterClass {
             private java.util.List serviceIds_ = java.util.Collections.emptyList();
 
             private void ensureServiceIdsIsMutable() {
-                if (!((bitField0_ & 0x00000008) != 0)) {
+                if (!((bitField0_ & 0x00000002) != 0)) {
                     serviceIds_ = new java.util.ArrayList(serviceIds_);
-                    bitField0_ |= 0x00000008;
+                    bitField0_ |= 0x00000002;
                 }
             }
 
@@ -5304,7 +5541,7 @@ public final class ContextOuterClass {
             public Builder clearServiceIds() {
                 if (serviceIdsBuilder_ == null) {
                     serviceIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000008);
+                    bitField0_ = (bitField0_ & ~0x00000002);
                     onChanged();
                 } else {
                     serviceIdsBuilder_.clear();
@@ -5378,7 +5615,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getServiceIdsFieldBuilder() {
                 if (serviceIdsBuilder_ == null) {
-                    serviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(serviceIds_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
+                    serviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(serviceIds_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
                     serviceIds_ = null;
                 }
                 return serviceIdsBuilder_;
@@ -5387,9 +5624,9 @@ public final class ContextOuterClass {
             private java.util.List sliceIds_ = java.util.Collections.emptyList();
 
             private void ensureSliceIdsIsMutable() {
-                if (!((bitField0_ & 0x00000010) != 0)) {
+                if (!((bitField0_ & 0x00000004) != 0)) {
                     sliceIds_ = new java.util.ArrayList(sliceIds_);
-                    bitField0_ |= 0x00000010;
+                    bitField0_ |= 0x00000004;
                 }
             }
 
@@ -5541,7 +5778,7 @@ public final class ContextOuterClass {
             public Builder clearSliceIds() {
                 if (sliceIdsBuilder_ == null) {
                     sliceIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000010);
+                    bitField0_ = (bitField0_ & ~0x00000004);
                     onChanged();
                 } else {
                     sliceIdsBuilder_.clear();
@@ -5615,7 +5852,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getSliceIdsFieldBuilder() {
                 if (sliceIdsBuilder_ == null) {
-                    sliceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceIds_, ((bitField0_ & 0x00000010) != 0), getParentForChildren(), isClean());
+                    sliceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
                     sliceIds_ = null;
                 }
                 return sliceIdsBuilder_;
@@ -5630,7 +5867,7 @@ public final class ContextOuterClass {
              * @return Whether the controller field is set.
              */
             public boolean hasController() {
-                return ((bitField0_ & 0x00000020) != 0);
+                return controllerBuilder_ != null || controller_ != null;
             }
 
             /**
@@ -5654,11 +5891,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     controller_ = value;
+                    onChanged();
                 } else {
                     controllerBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -5668,11 +5904,10 @@ public final class ContextOuterClass {
             public Builder setController(context.ContextOuterClass.TeraFlowController.Builder builderForValue) {
                 if (controllerBuilder_ == null) {
                     controller_ = builderForValue.build();
+                    onChanged();
                 } else {
                     controllerBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -5681,16 +5916,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeController(context.ContextOuterClass.TeraFlowController value) {
                 if (controllerBuilder_ == null) {
-                    if (((bitField0_ & 0x00000020) != 0) && controller_ != null && controller_ != context.ContextOuterClass.TeraFlowController.getDefaultInstance()) {
-                        getControllerBuilder().mergeFrom(value);
+                    if (controller_ != null) {
+                        controller_ = context.ContextOuterClass.TeraFlowController.newBuilder(controller_).mergeFrom(value).buildPartial();
                     } else {
                         controller_ = value;
                     }
+                    onChanged();
                 } else {
                     controllerBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -5698,13 +5932,13 @@ public final class ContextOuterClass {
              * .context.TeraFlowController controller = 6;
              */
             public Builder clearController() {
-                bitField0_ = (bitField0_ & ~0x00000020);
-                controller_ = null;
-                if (controllerBuilder_ != null) {
-                    controllerBuilder_.dispose();
+                if (controllerBuilder_ == null) {
+                    controller_ = null;
+                    onChanged();
+                } else {
+                    controller_ = null;
                     controllerBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -5712,7 +5946,6 @@ public final class ContextOuterClass {
              * .context.TeraFlowController controller = 6;
              */
             public context.ContextOuterClass.TeraFlowController.Builder getControllerBuilder() {
-                bitField0_ |= 0x00000020;
                 onChanged();
                 return getControllerFieldBuilder().getBuilder();
             }
@@ -5766,17 +5999,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Context parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Context(input, extensionRegistry);
             }
         };
 
@@ -5847,6 +6070,57 @@ public final class ContextOuterClass {
             return new ContextIdList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ContextIdList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    contextIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                contextIds_.add(input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    contextIds_ = java.util.Collections.unmodifiableList(contextIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ContextIdList_descriptor;
         }
@@ -5858,7 +6132,6 @@ public final class ContextOuterClass {
 
         public static final int CONTEXT_IDS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List contextIds_;
 
         /**
@@ -5919,7 +6192,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < contextIds_.size(); i++) {
                 output.writeMessage(1, contextIds_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -5931,7 +6204,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < contextIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, contextIds_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -5947,7 +6220,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.ContextIdList other = (context.ContextOuterClass.ContextIdList) obj;
             if (!getContextIdsList().equals(other.getContextIdsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -5963,7 +6236,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONTEXT_IDS_FIELD_NUMBER;
                 hash = (53 * hash) + getContextIdsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -6057,23 +6330,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ContextIdList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getContextIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (contextIdsBuilder_ == null) {
                     contextIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    contextIds_ = null;
                     contextIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -6099,15 +6378,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ContextIdList buildPartial() {
                 context.ContextOuterClass.ContextIdList result = new context.ContextOuterClass.ContextIdList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.ContextIdList result) {
+                int from_bitField0_ = bitField0_;
                 if (contextIdsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         contextIds_ = java.util.Collections.unmodifiableList(contextIds_);
@@ -6117,10 +6388,38 @@ public final class ContextOuterClass {
                 } else {
                     result.contextIds_ = contextIdsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ContextIdList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -6160,7 +6459,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -6172,47 +6471,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ContextIdList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.ContextId m = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry);
-                                    if (contextIdsBuilder_ == null) {
-                                        ensureContextIdsIsMutable();
-                                        contextIds_.add(m);
-                                    } else {
-                                        contextIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ContextIdList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -6482,17 +6751,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ContextIdList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ContextIdList(input, extensionRegistry);
             }
         };
 
@@ -6563,6 +6822,57 @@ public final class ContextOuterClass {
             return new ContextList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ContextList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    contexts_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                contexts_.add(input.readMessage(context.ContextOuterClass.Context.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    contexts_ = java.util.Collections.unmodifiableList(contexts_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ContextList_descriptor;
         }
@@ -6574,7 +6884,6 @@ public final class ContextOuterClass {
 
         public static final int CONTEXTS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List contexts_;
 
         /**
@@ -6635,7 +6944,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < contexts_.size(); i++) {
                 output.writeMessage(1, contexts_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -6647,7 +6956,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < contexts_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, contexts_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -6663,7 +6972,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.ContextList other = (context.ContextOuterClass.ContextList) obj;
             if (!getContextsList().equals(other.getContextsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -6679,7 +6988,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONTEXTS_FIELD_NUMBER;
                 hash = (53 * hash) + getContextsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -6773,23 +7082,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ContextList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getContextsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (contextsBuilder_ == null) {
                     contexts_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    contexts_ = null;
                     contextsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -6815,15 +7130,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ContextList buildPartial() {
                 context.ContextOuterClass.ContextList result = new context.ContextOuterClass.ContextList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.ContextList result) {
+                int from_bitField0_ = bitField0_;
                 if (contextsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         contexts_ = java.util.Collections.unmodifiableList(contexts_);
@@ -6833,10 +7140,38 @@ public final class ContextOuterClass {
                 } else {
                     result.contexts_ = contextsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ContextList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -6876,7 +7211,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -6888,47 +7223,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ContextList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.Context m = input.readMessage(context.ContextOuterClass.Context.parser(), extensionRegistry);
-                                    if (contextsBuilder_ == null) {
-                                        ensureContextsIsMutable();
-                                        contexts_.add(m);
-                                    } else {
-                                        contextsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ContextList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -7198,17 +7503,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ContextList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ContextList(input, extensionRegistry);
             }
         };
 
@@ -7287,6 +7582,70 @@ public final class ContextOuterClass {
             return new ContextEvent();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ContextEvent(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Event.Builder subBuilder = null;
+                                if (event_ != null) {
+                                    subBuilder = event_.toBuilder();
+                                }
+                                event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(event_);
+                                    event_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.ContextId.Builder subBuilder = null;
+                                if (contextId_ != null) {
+                                    subBuilder = contextId_.toBuilder();
+                                }
+                                contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(contextId_);
+                                    contextId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ContextEvent_descriptor;
         }
@@ -7323,7 +7682,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() {
-            return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_;
+            return getEvent();
         }
 
         public static final int CONTEXT_ID_FIELD_NUMBER = 2;
@@ -7353,7 +7712,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() {
-            return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_;
+            return getContextId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -7377,7 +7736,7 @@ public final class ContextOuterClass {
             if (contextId_ != null) {
                 output.writeMessage(2, getContextId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -7392,7 +7751,7 @@ public final class ContextOuterClass {
             if (contextId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getContextId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -7418,7 +7777,7 @@ public final class ContextOuterClass {
                 if (!getContextId().equals(other.getContextId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -7438,7 +7797,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONTEXT_ID_FIELD_NUMBER;
                 hash = (53 * hash) + getContextId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -7532,24 +7891,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ContextEvent.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
                 return this;
@@ -7577,21 +7944,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ContextEvent buildPartial() {
                 context.ContextOuterClass.ContextEvent result = new context.ContextOuterClass.ContextEvent(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (eventBuilder_ == null) {
+                    result.event_ = event_;
+                } else {
+                    result.event_ = eventBuilder_.build();
+                }
+                if (contextIdBuilder_ == null) {
+                    result.contextId_ = contextId_;
+                } else {
+                    result.contextId_ = contextIdBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ContextEvent result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.event_ = eventBuilder_ == null ? event_ : eventBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.contextId_ = contextIdBuilder_ == null ? contextId_ : contextIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -7613,7 +8007,7 @@ public final class ContextOuterClass {
                 if (other.hasContextId()) {
                     mergeContextId(other.getContextId());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -7625,54 +8019,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ContextEvent parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEventFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getContextIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ContextEvent) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Event event_;
 
             private com.google.protobuf.SingleFieldBuilderV3 eventBuilder_;
@@ -7682,7 +8042,7 @@ public final class ContextOuterClass {
              * @return Whether the event field is set.
              */
             public boolean hasEvent() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return eventBuilder_ != null || event_ != null;
             }
 
             /**
@@ -7706,11 +8066,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     event_ = value;
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -7720,11 +8079,10 @@ public final class ContextOuterClass {
             public Builder setEvent(context.ContextOuterClass.Event.Builder builderForValue) {
                 if (eventBuilder_ == null) {
                     event_ = builderForValue.build();
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -7733,16 +8091,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEvent(context.ContextOuterClass.Event value) {
                 if (eventBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && event_ != null && event_ != context.ContextOuterClass.Event.getDefaultInstance()) {
-                        getEventBuilder().mergeFrom(value);
+                    if (event_ != null) {
+                        event_ = context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial();
                     } else {
                         event_ = value;
                     }
+                    onChanged();
                 } else {
                     eventBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -7750,13 +8107,13 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public Builder clearEvent() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                    onChanged();
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -7764,7 +8121,6 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public context.ContextOuterClass.Event.Builder getEventBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEventFieldBuilder().getBuilder();
             }
@@ -7800,7 +8156,7 @@ public final class ContextOuterClass {
              * @return Whether the contextId field is set.
              */
             public boolean hasContextId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return contextIdBuilder_ != null || contextId_ != null;
             }
 
             /**
@@ -7824,11 +8180,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     contextId_ = value;
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -7838,11 +8193,10 @@ public final class ContextOuterClass {
             public Builder setContextId(context.ContextOuterClass.ContextId.Builder builderForValue) {
                 if (contextIdBuilder_ == null) {
                     contextId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -7851,16 +8205,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeContextId(context.ContextOuterClass.ContextId value) {
                 if (contextIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && contextId_ != null && contextId_ != context.ContextOuterClass.ContextId.getDefaultInstance()) {
-                        getContextIdBuilder().mergeFrom(value);
+                    if (contextId_ != null) {
+                        contextId_ = context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial();
                     } else {
                         contextId_ = value;
                     }
+                    onChanged();
                 } else {
                     contextIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -7868,13 +8221,13 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 2;
              */
             public Builder clearContextId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                    onChanged();
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -7882,7 +8235,6 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 2;
              */
             public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getContextIdFieldBuilder().getBuilder();
             }
@@ -7936,17 +8288,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ContextEvent parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ContextEvent(input, extensionRegistry);
             }
         };
 
@@ -8029,6 +8371,70 @@ public final class ContextOuterClass {
             return new TopologyId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private TopologyId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ContextId.Builder subBuilder = null;
+                                if (contextId_ != null) {
+                                    subBuilder = contextId_.toBuilder();
+                                }
+                                contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(contextId_);
+                                    contextId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (topologyUuid_ != null) {
+                                    subBuilder = topologyUuid_.toBuilder();
+                                }
+                                topologyUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(topologyUuid_);
+                                    topologyUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_TopologyId_descriptor;
         }
@@ -8065,7 +8471,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() {
-            return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_;
+            return getContextId();
         }
 
         public static final int TOPOLOGY_UUID_FIELD_NUMBER = 2;
@@ -8095,7 +8501,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getTopologyUuidOrBuilder() {
-            return topologyUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : topologyUuid_;
+            return getTopologyUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -8119,7 +8525,7 @@ public final class ContextOuterClass {
             if (topologyUuid_ != null) {
                 output.writeMessage(2, getTopologyUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -8134,7 +8540,7 @@ public final class ContextOuterClass {
             if (topologyUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getTopologyUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -8160,7 +8566,7 @@ public final class ContextOuterClass {
                 if (!getTopologyUuid().equals(other.getTopologyUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -8180,7 +8586,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + TOPOLOGY_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getTopologyUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -8278,24 +8684,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.TopologyId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
-                topologyUuid_ = null;
-                if (topologyUuidBuilder_ != null) {
-                    topologyUuidBuilder_.dispose();
+                if (topologyUuidBuilder_ == null) {
+                    topologyUuid_ = null;
+                } else {
+                    topologyUuid_ = null;
                     topologyUuidBuilder_ = null;
                 }
                 return this;
@@ -8323,21 +8737,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.TopologyId buildPartial() {
                 context.ContextOuterClass.TopologyId result = new context.ContextOuterClass.TopologyId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (contextIdBuilder_ == null) {
+                    result.contextId_ = contextId_;
+                } else {
+                    result.contextId_ = contextIdBuilder_.build();
+                }
+                if (topologyUuidBuilder_ == null) {
+                    result.topologyUuid_ = topologyUuid_;
+                } else {
+                    result.topologyUuid_ = topologyUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.TopologyId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.contextId_ = contextIdBuilder_ == null ? contextId_ : contextIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.topologyUuid_ = topologyUuidBuilder_ == null ? topologyUuid_ : topologyUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -8359,7 +8800,7 @@ public final class ContextOuterClass {
                 if (other.hasTopologyUuid()) {
                     mergeTopologyUuid(other.getTopologyUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -8371,54 +8812,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.TopologyId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getContextIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getTopologyUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.TopologyId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.ContextId contextId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 contextIdBuilder_;
@@ -8428,7 +8835,7 @@ public final class ContextOuterClass {
              * @return Whether the contextId field is set.
              */
             public boolean hasContextId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return contextIdBuilder_ != null || contextId_ != null;
             }
 
             /**
@@ -8452,11 +8859,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     contextId_ = value;
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -8466,11 +8872,10 @@ public final class ContextOuterClass {
             public Builder setContextId(context.ContextOuterClass.ContextId.Builder builderForValue) {
                 if (contextIdBuilder_ == null) {
                     contextId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -8479,16 +8884,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeContextId(context.ContextOuterClass.ContextId value) {
                 if (contextIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && contextId_ != null && contextId_ != context.ContextOuterClass.ContextId.getDefaultInstance()) {
-                        getContextIdBuilder().mergeFrom(value);
+                    if (contextId_ != null) {
+                        contextId_ = context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial();
                     } else {
                         contextId_ = value;
                     }
+                    onChanged();
                 } else {
                     contextIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -8496,13 +8900,13 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public Builder clearContextId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                    onChanged();
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -8510,7 +8914,6 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getContextIdFieldBuilder().getBuilder();
             }
@@ -8546,7 +8949,7 @@ public final class ContextOuterClass {
              * @return Whether the topologyUuid field is set.
              */
             public boolean hasTopologyUuid() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return topologyUuidBuilder_ != null || topologyUuid_ != null;
             }
 
             /**
@@ -8570,11 +8973,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     topologyUuid_ = value;
+                    onChanged();
                 } else {
                     topologyUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -8584,11 +8986,10 @@ public final class ContextOuterClass {
             public Builder setTopologyUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (topologyUuidBuilder_ == null) {
                     topologyUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     topologyUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -8597,16 +8998,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeTopologyUuid(context.ContextOuterClass.Uuid value) {
                 if (topologyUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && topologyUuid_ != null && topologyUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getTopologyUuidBuilder().mergeFrom(value);
+                    if (topologyUuid_ != null) {
+                        topologyUuid_ = context.ContextOuterClass.Uuid.newBuilder(topologyUuid_).mergeFrom(value).buildPartial();
                     } else {
                         topologyUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     topologyUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -8614,13 +9014,13 @@ public final class ContextOuterClass {
              * .context.Uuid topology_uuid = 2;
              */
             public Builder clearTopologyUuid() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                topologyUuid_ = null;
-                if (topologyUuidBuilder_ != null) {
-                    topologyUuidBuilder_.dispose();
+                if (topologyUuidBuilder_ == null) {
+                    topologyUuid_ = null;
+                    onChanged();
+                } else {
+                    topologyUuid_ = null;
                     topologyUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -8628,7 +9028,6 @@ public final class ContextOuterClass {
              * .context.Uuid topology_uuid = 2;
              */
             public context.ContextOuterClass.Uuid.Builder getTopologyUuidBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getTopologyUuidFieldBuilder().getBuilder();
             }
@@ -8682,17 +9081,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public TopologyId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new TopologyId(input, extensionRegistry);
             }
         };
 
@@ -8819,6 +9208,88 @@ public final class ContextOuterClass {
             return new Topology();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Topology(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.TopologyId.Builder subBuilder = null;
+                                if (topologyId_ != null) {
+                                    subBuilder = topologyId_.toBuilder();
+                                }
+                                topologyId_ = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(topologyId_);
+                                    topologyId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    deviceIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                deviceIds_.add(input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 34:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+                                    linkIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000002;
+                                }
+                                linkIds_.add(input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_);
+                }
+                if (((mutable_bitField0_ & 0x00000002) != 0)) {
+                    linkIds_ = java.util.Collections.unmodifiableList(linkIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Topology_descriptor;
         }
@@ -8855,13 +9326,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() {
-            return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_;
+            return getTopologyId();
         }
 
         public static final int NAME_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 2;
@@ -8898,7 +9368,6 @@ public final class ContextOuterClass {
 
         public static final int DEVICE_IDS_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
         private java.util.List deviceIds_;
 
         /**
@@ -8943,7 +9412,6 @@ public final class ContextOuterClass {
 
         public static final int LINK_IDS_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
         private java.util.List linkIds_;
 
         /**
@@ -9004,7 +9472,7 @@ public final class ContextOuterClass {
             if (topologyId_ != null) {
                 output.writeMessage(1, getTopologyId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
             }
             for (int i = 0; i < deviceIds_.size(); i++) {
@@ -9013,7 +9481,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < linkIds_.size(); i++) {
                 output.writeMessage(4, linkIds_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -9025,7 +9493,7 @@ public final class ContextOuterClass {
             if (topologyId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getTopologyId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
             }
             for (int i = 0; i < deviceIds_.size(); i++) {
@@ -9034,7 +9502,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < linkIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, linkIds_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -9060,7 +9528,7 @@ public final class ContextOuterClass {
                 return false;
             if (!getLinkIdsList().equals(other.getLinkIdsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -9086,7 +9554,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + LINK_IDS_FIELD_NUMBER;
                 hash = (53 * hash) + getLinkIdsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -9180,36 +9648,43 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Topology.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getDeviceIdsFieldBuilder();
+                    getLinkIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                topologyId_ = null;
-                if (topologyIdBuilder_ != null) {
-                    topologyIdBuilder_.dispose();
+                if (topologyIdBuilder_ == null) {
+                    topologyId_ = null;
+                } else {
+                    topologyId_ = null;
                     topologyIdBuilder_ = null;
                 }
                 name_ = "";
                 if (deviceIdsBuilder_ == null) {
                     deviceIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    deviceIds_ = null;
                     deviceIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000004);
                 if (linkIdsBuilder_ == null) {
                     linkIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000002);
                 } else {
-                    linkIds_ = null;
                     linkIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000008);
                 return this;
             }
 
@@ -9235,43 +9710,63 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Topology buildPartial() {
                 context.ContextOuterClass.Topology result = new context.ContextOuterClass.Topology(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (topologyIdBuilder_ == null) {
+                    result.topologyId_ = topologyId_;
+                } else {
+                    result.topologyId_ = topologyIdBuilder_.build();
                 }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.Topology result) {
+                result.name_ = name_;
                 if (deviceIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_);
-                        bitField0_ = (bitField0_ & ~0x00000004);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.deviceIds_ = deviceIds_;
                 } else {
                     result.deviceIds_ = deviceIdsBuilder_.build();
                 }
                 if (linkIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0)) {
+                    if (((bitField0_ & 0x00000002) != 0)) {
                         linkIds_ = java.util.Collections.unmodifiableList(linkIds_);
-                        bitField0_ = (bitField0_ & ~0x00000008);
+                        bitField0_ = (bitField0_ & ~0x00000002);
                     }
                     result.linkIds_ = linkIds_;
                 } else {
                     result.linkIds_ = linkIdsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Topology result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.topologyId_ = topologyIdBuilder_ == null ? topologyId_ : topologyIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.name_ = name_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -9292,14 +9787,13 @@ public final class ContextOuterClass {
                 }
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (deviceIdsBuilder_ == null) {
                     if (!other.deviceIds_.isEmpty()) {
                         if (deviceIds_.isEmpty()) {
                             deviceIds_ = other.deviceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureDeviceIdsIsMutable();
                             deviceIds_.addAll(other.deviceIds_);
@@ -9312,7 +9806,7 @@ public final class ContextOuterClass {
                             deviceIdsBuilder_.dispose();
                             deviceIdsBuilder_ = null;
                             deviceIds_ = other.deviceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             deviceIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getDeviceIdsFieldBuilder() : null;
                         } else {
                             deviceIdsBuilder_.addAllMessages(other.deviceIds_);
@@ -9323,7 +9817,7 @@ public final class ContextOuterClass {
                     if (!other.linkIds_.isEmpty()) {
                         if (linkIds_.isEmpty()) {
                             linkIds_ = other.linkIds_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                         } else {
                             ensureLinkIdsIsMutable();
                             linkIds_.addAll(other.linkIds_);
@@ -9336,14 +9830,14 @@ public final class ContextOuterClass {
                             linkIdsBuilder_.dispose();
                             linkIdsBuilder_ = null;
                             linkIds_ = other.linkIds_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                             linkIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getLinkIdsFieldBuilder() : null;
                         } else {
                             linkIdsBuilder_.addAllMessages(other.linkIds_);
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -9355,73 +9849,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Topology parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getTopologyIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    context.ContextOuterClass.DeviceId m = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry);
-                                    if (deviceIdsBuilder_ == null) {
-                                        ensureDeviceIdsIsMutable();
-                                        deviceIds_.add(m);
-                                    } else {
-                                        deviceIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    context.ContextOuterClass.LinkId m = input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry);
-                                    if (linkIdsBuilder_ == null) {
-                                        ensureLinkIdsIsMutable();
-                                        linkIds_.add(m);
-                                    } else {
-                                        linkIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 34
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Topology) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -9436,7 +9874,7 @@ public final class ContextOuterClass {
              * @return Whether the topologyId field is set.
              */
             public boolean hasTopologyId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return topologyIdBuilder_ != null || topologyId_ != null;
             }
 
             /**
@@ -9460,11 +9898,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     topologyId_ = value;
+                    onChanged();
                 } else {
                     topologyIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -9474,11 +9911,10 @@ public final class ContextOuterClass {
             public Builder setTopologyId(context.ContextOuterClass.TopologyId.Builder builderForValue) {
                 if (topologyIdBuilder_ == null) {
                     topologyId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     topologyIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -9487,16 +9923,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeTopologyId(context.ContextOuterClass.TopologyId value) {
                 if (topologyIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && topologyId_ != null && topologyId_ != context.ContextOuterClass.TopologyId.getDefaultInstance()) {
-                        getTopologyIdBuilder().mergeFrom(value);
+                    if (topologyId_ != null) {
+                        topologyId_ = context.ContextOuterClass.TopologyId.newBuilder(topologyId_).mergeFrom(value).buildPartial();
                     } else {
                         topologyId_ = value;
                     }
+                    onChanged();
                 } else {
                     topologyIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -9504,13 +9939,13 @@ public final class ContextOuterClass {
              * .context.TopologyId topology_id = 1;
              */
             public Builder clearTopologyId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                topologyId_ = null;
-                if (topologyIdBuilder_ != null) {
-                    topologyIdBuilder_.dispose();
+                if (topologyIdBuilder_ == null) {
+                    topologyId_ = null;
+                    onChanged();
+                } else {
+                    topologyId_ = null;
                     topologyIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -9518,7 +9953,6 @@ public final class ContextOuterClass {
              * .context.TopologyId topology_id = 1;
              */
             public context.ContextOuterClass.TopologyId.Builder getTopologyIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getTopologyIdFieldBuilder().getBuilder();
             }
@@ -9588,7 +10022,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -9599,7 +10032,6 @@ public final class ContextOuterClass {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -9615,7 +10047,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -9623,9 +10054,9 @@ public final class ContextOuterClass {
             private java.util.List deviceIds_ = java.util.Collections.emptyList();
 
             private void ensureDeviceIdsIsMutable() {
-                if (!((bitField0_ & 0x00000004) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     deviceIds_ = new java.util.ArrayList(deviceIds_);
-                    bitField0_ |= 0x00000004;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -9777,7 +10208,7 @@ public final class ContextOuterClass {
             public Builder clearDeviceIds() {
                 if (deviceIdsBuilder_ == null) {
                     deviceIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000004);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     deviceIdsBuilder_.clear();
@@ -9851,7 +10282,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getDeviceIdsFieldBuilder() {
                 if (deviceIdsBuilder_ == null) {
-                    deviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(deviceIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
+                    deviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(deviceIds_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     deviceIds_ = null;
                 }
                 return deviceIdsBuilder_;
@@ -9860,9 +10291,9 @@ public final class ContextOuterClass {
             private java.util.List linkIds_ = java.util.Collections.emptyList();
 
             private void ensureLinkIdsIsMutable() {
-                if (!((bitField0_ & 0x00000008) != 0)) {
+                if (!((bitField0_ & 0x00000002) != 0)) {
                     linkIds_ = new java.util.ArrayList(linkIds_);
-                    bitField0_ |= 0x00000008;
+                    bitField0_ |= 0x00000002;
                 }
             }
 
@@ -10014,7 +10445,7 @@ public final class ContextOuterClass {
             public Builder clearLinkIds() {
                 if (linkIdsBuilder_ == null) {
                     linkIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000008);
+                    bitField0_ = (bitField0_ & ~0x00000002);
                     onChanged();
                 } else {
                     linkIdsBuilder_.clear();
@@ -10088,7 +10519,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getLinkIdsFieldBuilder() {
                 if (linkIdsBuilder_ == null) {
-                    linkIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(linkIds_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
+                    linkIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(linkIds_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
                     linkIds_ = null;
                 }
                 return linkIdsBuilder_;
@@ -10121,17 +10552,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Topology parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Topology(input, extensionRegistry);
             }
         };
 
@@ -10258,6 +10679,88 @@ public final class ContextOuterClass {
             return new TopologyDetails();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private TopologyDetails(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.TopologyId.Builder subBuilder = null;
+                                if (topologyId_ != null) {
+                                    subBuilder = topologyId_.toBuilder();
+                                }
+                                topologyId_ = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(topologyId_);
+                                    topologyId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    devices_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                devices_.add(input.readMessage(context.ContextOuterClass.Device.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 34:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+                                    links_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000002;
+                                }
+                                links_.add(input.readMessage(context.ContextOuterClass.Link.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    devices_ = java.util.Collections.unmodifiableList(devices_);
+                }
+                if (((mutable_bitField0_ & 0x00000002) != 0)) {
+                    links_ = java.util.Collections.unmodifiableList(links_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_TopologyDetails_descriptor;
         }
@@ -10294,13 +10797,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() {
-            return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_;
+            return getTopologyId();
         }
 
         public static final int NAME_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 2;
@@ -10337,7 +10839,6 @@ public final class ContextOuterClass {
 
         public static final int DEVICES_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
         private java.util.List devices_;
 
         /**
@@ -10382,7 +10883,6 @@ public final class ContextOuterClass {
 
         public static final int LINKS_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
         private java.util.List links_;
 
         /**
@@ -10443,7 +10943,7 @@ public final class ContextOuterClass {
             if (topologyId_ != null) {
                 output.writeMessage(1, getTopologyId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
             }
             for (int i = 0; i < devices_.size(); i++) {
@@ -10452,7 +10952,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < links_.size(); i++) {
                 output.writeMessage(4, links_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -10464,7 +10964,7 @@ public final class ContextOuterClass {
             if (topologyId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getTopologyId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
             }
             for (int i = 0; i < devices_.size(); i++) {
@@ -10473,7 +10973,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < links_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, links_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -10499,7 +10999,7 @@ public final class ContextOuterClass {
                 return false;
             if (!getLinksList().equals(other.getLinksList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -10525,7 +11025,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + LINKS_FIELD_NUMBER;
                 hash = (53 * hash) + getLinksList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -10619,36 +11119,43 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.TopologyDetails.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getDevicesFieldBuilder();
+                    getLinksFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                topologyId_ = null;
-                if (topologyIdBuilder_ != null) {
-                    topologyIdBuilder_.dispose();
+                if (topologyIdBuilder_ == null) {
+                    topologyId_ = null;
+                } else {
+                    topologyId_ = null;
                     topologyIdBuilder_ = null;
                 }
                 name_ = "";
                 if (devicesBuilder_ == null) {
                     devices_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    devices_ = null;
                     devicesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000004);
                 if (linksBuilder_ == null) {
                     links_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000002);
                 } else {
-                    links_ = null;
                     linksBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000008);
                 return this;
             }
 
@@ -10674,43 +11181,63 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.TopologyDetails buildPartial() {
                 context.ContextOuterClass.TopologyDetails result = new context.ContextOuterClass.TopologyDetails(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (topologyIdBuilder_ == null) {
+                    result.topologyId_ = topologyId_;
+                } else {
+                    result.topologyId_ = topologyIdBuilder_.build();
                 }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.TopologyDetails result) {
+                result.name_ = name_;
                 if (devicesBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         devices_ = java.util.Collections.unmodifiableList(devices_);
-                        bitField0_ = (bitField0_ & ~0x00000004);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.devices_ = devices_;
                 } else {
                     result.devices_ = devicesBuilder_.build();
                 }
                 if (linksBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0)) {
+                    if (((bitField0_ & 0x00000002) != 0)) {
                         links_ = java.util.Collections.unmodifiableList(links_);
-                        bitField0_ = (bitField0_ & ~0x00000008);
+                        bitField0_ = (bitField0_ & ~0x00000002);
                     }
                     result.links_ = links_;
                 } else {
                     result.links_ = linksBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.TopologyDetails result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.topologyId_ = topologyIdBuilder_ == null ? topologyId_ : topologyIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.name_ = name_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -10731,14 +11258,13 @@ public final class ContextOuterClass {
                 }
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (devicesBuilder_ == null) {
                     if (!other.devices_.isEmpty()) {
                         if (devices_.isEmpty()) {
                             devices_ = other.devices_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureDevicesIsMutable();
                             devices_.addAll(other.devices_);
@@ -10751,7 +11277,7 @@ public final class ContextOuterClass {
                             devicesBuilder_.dispose();
                             devicesBuilder_ = null;
                             devices_ = other.devices_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             devicesBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getDevicesFieldBuilder() : null;
                         } else {
                             devicesBuilder_.addAllMessages(other.devices_);
@@ -10762,7 +11288,7 @@ public final class ContextOuterClass {
                     if (!other.links_.isEmpty()) {
                         if (links_.isEmpty()) {
                             links_ = other.links_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                         } else {
                             ensureLinksIsMutable();
                             links_.addAll(other.links_);
@@ -10775,14 +11301,14 @@ public final class ContextOuterClass {
                             linksBuilder_.dispose();
                             linksBuilder_ = null;
                             links_ = other.links_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                             linksBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getLinksFieldBuilder() : null;
                         } else {
                             linksBuilder_.addAllMessages(other.links_);
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -10794,73 +11320,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.TopologyDetails parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getTopologyIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    context.ContextOuterClass.Device m = input.readMessage(context.ContextOuterClass.Device.parser(), extensionRegistry);
-                                    if (devicesBuilder_ == null) {
-                                        ensureDevicesIsMutable();
-                                        devices_.add(m);
-                                    } else {
-                                        devicesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    context.ContextOuterClass.Link m = input.readMessage(context.ContextOuterClass.Link.parser(), extensionRegistry);
-                                    if (linksBuilder_ == null) {
-                                        ensureLinksIsMutable();
-                                        links_.add(m);
-                                    } else {
-                                        linksBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 34
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.TopologyDetails) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -10875,7 +11345,7 @@ public final class ContextOuterClass {
              * @return Whether the topologyId field is set.
              */
             public boolean hasTopologyId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return topologyIdBuilder_ != null || topologyId_ != null;
             }
 
             /**
@@ -10899,11 +11369,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     topologyId_ = value;
+                    onChanged();
                 } else {
                     topologyIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -10913,11 +11382,10 @@ public final class ContextOuterClass {
             public Builder setTopologyId(context.ContextOuterClass.TopologyId.Builder builderForValue) {
                 if (topologyIdBuilder_ == null) {
                     topologyId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     topologyIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -10926,16 +11394,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeTopologyId(context.ContextOuterClass.TopologyId value) {
                 if (topologyIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && topologyId_ != null && topologyId_ != context.ContextOuterClass.TopologyId.getDefaultInstance()) {
-                        getTopologyIdBuilder().mergeFrom(value);
+                    if (topologyId_ != null) {
+                        topologyId_ = context.ContextOuterClass.TopologyId.newBuilder(topologyId_).mergeFrom(value).buildPartial();
                     } else {
                         topologyId_ = value;
                     }
+                    onChanged();
                 } else {
                     topologyIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -10943,13 +11410,13 @@ public final class ContextOuterClass {
              * .context.TopologyId topology_id = 1;
              */
             public Builder clearTopologyId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                topologyId_ = null;
-                if (topologyIdBuilder_ != null) {
-                    topologyIdBuilder_.dispose();
+                if (topologyIdBuilder_ == null) {
+                    topologyId_ = null;
+                    onChanged();
+                } else {
+                    topologyId_ = null;
                     topologyIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -10957,7 +11424,6 @@ public final class ContextOuterClass {
              * .context.TopologyId topology_id = 1;
              */
             public context.ContextOuterClass.TopologyId.Builder getTopologyIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getTopologyIdFieldBuilder().getBuilder();
             }
@@ -11027,7 +11493,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -11038,7 +11503,6 @@ public final class ContextOuterClass {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -11054,7 +11518,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -11062,9 +11525,9 @@ public final class ContextOuterClass {
             private java.util.List devices_ = java.util.Collections.emptyList();
 
             private void ensureDevicesIsMutable() {
-                if (!((bitField0_ & 0x00000004) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     devices_ = new java.util.ArrayList(devices_);
-                    bitField0_ |= 0x00000004;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -11216,7 +11679,7 @@ public final class ContextOuterClass {
             public Builder clearDevices() {
                 if (devicesBuilder_ == null) {
                     devices_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000004);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     devicesBuilder_.clear();
@@ -11290,7 +11753,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getDevicesFieldBuilder() {
                 if (devicesBuilder_ == null) {
-                    devicesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(devices_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
+                    devicesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(devices_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     devices_ = null;
                 }
                 return devicesBuilder_;
@@ -11299,9 +11762,9 @@ public final class ContextOuterClass {
             private java.util.List links_ = java.util.Collections.emptyList();
 
             private void ensureLinksIsMutable() {
-                if (!((bitField0_ & 0x00000008) != 0)) {
+                if (!((bitField0_ & 0x00000002) != 0)) {
                     links_ = new java.util.ArrayList(links_);
-                    bitField0_ |= 0x00000008;
+                    bitField0_ |= 0x00000002;
                 }
             }
 
@@ -11453,7 +11916,7 @@ public final class ContextOuterClass {
             public Builder clearLinks() {
                 if (linksBuilder_ == null) {
                     links_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000008);
+                    bitField0_ = (bitField0_ & ~0x00000002);
                     onChanged();
                 } else {
                     linksBuilder_.clear();
@@ -11527,7 +11990,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getLinksFieldBuilder() {
                 if (linksBuilder_ == null) {
-                    linksBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(links_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
+                    linksBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(links_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
                     links_ = null;
                 }
                 return linksBuilder_;
@@ -11560,17 +12023,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public TopologyDetails parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new TopologyDetails(input, extensionRegistry);
             }
         };
 
@@ -11641,6 +12094,57 @@ public final class ContextOuterClass {
             return new TopologyIdList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private TopologyIdList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    topologyIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                topologyIds_.add(input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    topologyIds_ = java.util.Collections.unmodifiableList(topologyIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_TopologyIdList_descriptor;
         }
@@ -11652,7 +12156,6 @@ public final class ContextOuterClass {
 
         public static final int TOPOLOGY_IDS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List topologyIds_;
 
         /**
@@ -11713,7 +12216,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < topologyIds_.size(); i++) {
                 output.writeMessage(1, topologyIds_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -11725,7 +12228,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < topologyIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, topologyIds_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -11741,7 +12244,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.TopologyIdList other = (context.ContextOuterClass.TopologyIdList) obj;
             if (!getTopologyIdsList().equals(other.getTopologyIdsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -11757,7 +12260,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + TOPOLOGY_IDS_FIELD_NUMBER;
                 hash = (53 * hash) + getTopologyIdsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -11851,23 +12354,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.TopologyIdList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getTopologyIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (topologyIdsBuilder_ == null) {
                     topologyIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    topologyIds_ = null;
                     topologyIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -11893,15 +12402,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.TopologyIdList buildPartial() {
                 context.ContextOuterClass.TopologyIdList result = new context.ContextOuterClass.TopologyIdList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.TopologyIdList result) {
+                int from_bitField0_ = bitField0_;
                 if (topologyIdsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         topologyIds_ = java.util.Collections.unmodifiableList(topologyIds_);
@@ -11911,10 +12412,38 @@ public final class ContextOuterClass {
                 } else {
                     result.topologyIds_ = topologyIdsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.TopologyIdList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -11954,7 +12483,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -11966,47 +12495,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.TopologyIdList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.TopologyId m = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry);
-                                    if (topologyIdsBuilder_ == null) {
-                                        ensureTopologyIdsIsMutable();
-                                        topologyIds_.add(m);
-                                    } else {
-                                        topologyIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.TopologyIdList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -12276,17 +12775,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public TopologyIdList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new TopologyIdList(input, extensionRegistry);
             }
         };
 
@@ -12357,6 +12846,57 @@ public final class ContextOuterClass {
             return new TopologyList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private TopologyList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    topologies_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                topologies_.add(input.readMessage(context.ContextOuterClass.Topology.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    topologies_ = java.util.Collections.unmodifiableList(topologies_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_TopologyList_descriptor;
         }
@@ -12368,7 +12908,6 @@ public final class ContextOuterClass {
 
         public static final int TOPOLOGIES_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List topologies_;
 
         /**
@@ -12429,7 +12968,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < topologies_.size(); i++) {
                 output.writeMessage(1, topologies_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -12441,7 +12980,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < topologies_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, topologies_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -12457,7 +12996,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.TopologyList other = (context.ContextOuterClass.TopologyList) obj;
             if (!getTopologiesList().equals(other.getTopologiesList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -12473,7 +13012,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + TOPOLOGIES_FIELD_NUMBER;
                 hash = (53 * hash) + getTopologiesList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -12567,23 +13106,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.TopologyList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getTopologiesFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (topologiesBuilder_ == null) {
                     topologies_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    topologies_ = null;
                     topologiesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -12609,15 +13154,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.TopologyList buildPartial() {
                 context.ContextOuterClass.TopologyList result = new context.ContextOuterClass.TopologyList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.TopologyList result) {
+                int from_bitField0_ = bitField0_;
                 if (topologiesBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         topologies_ = java.util.Collections.unmodifiableList(topologies_);
@@ -12627,10 +13164,38 @@ public final class ContextOuterClass {
                 } else {
                     result.topologies_ = topologiesBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.TopologyList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -12670,7 +13235,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -12682,47 +13247,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.TopologyList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.Topology m = input.readMessage(context.ContextOuterClass.Topology.parser(), extensionRegistry);
-                                    if (topologiesBuilder_ == null) {
-                                        ensureTopologiesIsMutable();
-                                        topologies_.add(m);
-                                    } else {
-                                        topologiesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.TopologyList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -12992,17 +13527,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public TopologyList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new TopologyList(input, extensionRegistry);
             }
         };
 
@@ -13081,6 +13606,70 @@ public final class ContextOuterClass {
             return new TopologyEvent();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private TopologyEvent(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Event.Builder subBuilder = null;
+                                if (event_ != null) {
+                                    subBuilder = event_.toBuilder();
+                                }
+                                event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(event_);
+                                    event_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.TopologyId.Builder subBuilder = null;
+                                if (topologyId_ != null) {
+                                    subBuilder = topologyId_.toBuilder();
+                                }
+                                topologyId_ = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(topologyId_);
+                                    topologyId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_TopologyEvent_descriptor;
         }
@@ -13117,7 +13706,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() {
-            return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_;
+            return getEvent();
         }
 
         public static final int TOPOLOGY_ID_FIELD_NUMBER = 2;
@@ -13147,7 +13736,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() {
-            return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_;
+            return getTopologyId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -13171,7 +13760,7 @@ public final class ContextOuterClass {
             if (topologyId_ != null) {
                 output.writeMessage(2, getTopologyId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -13186,7 +13775,7 @@ public final class ContextOuterClass {
             if (topologyId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getTopologyId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -13212,7 +13801,7 @@ public final class ContextOuterClass {
                 if (!getTopologyId().equals(other.getTopologyId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -13232,7 +13821,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + TOPOLOGY_ID_FIELD_NUMBER;
                 hash = (53 * hash) + getTopologyId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -13326,24 +13915,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.TopologyEvent.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                topologyId_ = null;
-                if (topologyIdBuilder_ != null) {
-                    topologyIdBuilder_.dispose();
+                if (topologyIdBuilder_ == null) {
+                    topologyId_ = null;
+                } else {
+                    topologyId_ = null;
                     topologyIdBuilder_ = null;
                 }
                 return this;
@@ -13371,21 +13968,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.TopologyEvent buildPartial() {
                 context.ContextOuterClass.TopologyEvent result = new context.ContextOuterClass.TopologyEvent(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (eventBuilder_ == null) {
+                    result.event_ = event_;
+                } else {
+                    result.event_ = eventBuilder_.build();
+                }
+                if (topologyIdBuilder_ == null) {
+                    result.topologyId_ = topologyId_;
+                } else {
+                    result.topologyId_ = topologyIdBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.TopologyEvent result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.event_ = eventBuilder_ == null ? event_ : eventBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.topologyId_ = topologyIdBuilder_ == null ? topologyId_ : topologyIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -13407,7 +14031,7 @@ public final class ContextOuterClass {
                 if (other.hasTopologyId()) {
                     mergeTopologyId(other.getTopologyId());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -13419,54 +14043,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.TopologyEvent parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEventFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getTopologyIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.TopologyEvent) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Event event_;
 
             private com.google.protobuf.SingleFieldBuilderV3 eventBuilder_;
@@ -13476,7 +14066,7 @@ public final class ContextOuterClass {
              * @return Whether the event field is set.
              */
             public boolean hasEvent() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return eventBuilder_ != null || event_ != null;
             }
 
             /**
@@ -13500,11 +14090,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     event_ = value;
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -13514,11 +14103,10 @@ public final class ContextOuterClass {
             public Builder setEvent(context.ContextOuterClass.Event.Builder builderForValue) {
                 if (eventBuilder_ == null) {
                     event_ = builderForValue.build();
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -13527,16 +14115,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEvent(context.ContextOuterClass.Event value) {
                 if (eventBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && event_ != null && event_ != context.ContextOuterClass.Event.getDefaultInstance()) {
-                        getEventBuilder().mergeFrom(value);
+                    if (event_ != null) {
+                        event_ = context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial();
                     } else {
                         event_ = value;
                     }
+                    onChanged();
                 } else {
                     eventBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -13544,13 +14131,13 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public Builder clearEvent() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                    onChanged();
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -13558,7 +14145,6 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public context.ContextOuterClass.Event.Builder getEventBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEventFieldBuilder().getBuilder();
             }
@@ -13594,7 +14180,7 @@ public final class ContextOuterClass {
              * @return Whether the topologyId field is set.
              */
             public boolean hasTopologyId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return topologyIdBuilder_ != null || topologyId_ != null;
             }
 
             /**
@@ -13618,11 +14204,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     topologyId_ = value;
+                    onChanged();
                 } else {
                     topologyIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -13632,11 +14217,10 @@ public final class ContextOuterClass {
             public Builder setTopologyId(context.ContextOuterClass.TopologyId.Builder builderForValue) {
                 if (topologyIdBuilder_ == null) {
                     topologyId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     topologyIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -13645,16 +14229,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeTopologyId(context.ContextOuterClass.TopologyId value) {
                 if (topologyIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && topologyId_ != null && topologyId_ != context.ContextOuterClass.TopologyId.getDefaultInstance()) {
-                        getTopologyIdBuilder().mergeFrom(value);
+                    if (topologyId_ != null) {
+                        topologyId_ = context.ContextOuterClass.TopologyId.newBuilder(topologyId_).mergeFrom(value).buildPartial();
                     } else {
                         topologyId_ = value;
                     }
+                    onChanged();
                 } else {
                     topologyIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -13662,13 +14245,13 @@ public final class ContextOuterClass {
              * .context.TopologyId topology_id = 2;
              */
             public Builder clearTopologyId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                topologyId_ = null;
-                if (topologyIdBuilder_ != null) {
-                    topologyIdBuilder_.dispose();
+                if (topologyIdBuilder_ == null) {
+                    topologyId_ = null;
+                    onChanged();
+                } else {
+                    topologyId_ = null;
                     topologyIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -13676,7 +14259,6 @@ public final class ContextOuterClass {
              * .context.TopologyId topology_id = 2;
              */
             public context.ContextOuterClass.TopologyId.Builder getTopologyIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getTopologyIdFieldBuilder().getBuilder();
             }
@@ -13730,17 +14312,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public TopologyEvent parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new TopologyEvent(input, extensionRegistry);
             }
         };
 
@@ -13806,6 +14378,57 @@ public final class ContextOuterClass {
             return new DeviceId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private DeviceId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (deviceUuid_ != null) {
+                                    subBuilder = deviceUuid_.toBuilder();
+                                }
+                                deviceUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(deviceUuid_);
+                                    deviceUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_DeviceId_descriptor;
         }
@@ -13842,7 +14465,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getDeviceUuidOrBuilder() {
-            return deviceUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : deviceUuid_;
+            return getDeviceUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -13863,7 +14486,7 @@ public final class ContextOuterClass {
             if (deviceUuid_ != null) {
                 output.writeMessage(1, getDeviceUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -13875,7 +14498,7 @@ public final class ContextOuterClass {
             if (deviceUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getDeviceUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -13895,7 +14518,7 @@ public final class ContextOuterClass {
                 if (!getDeviceUuid().equals(other.getDeviceUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -13911,7 +14534,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + DEVICE_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getDeviceUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -14009,19 +14632,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.DeviceId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                deviceUuid_ = null;
-                if (deviceUuidBuilder_ != null) {
-                    deviceUuidBuilder_.dispose();
+                if (deviceUuidBuilder_ == null) {
+                    deviceUuid_ = null;
+                } else {
+                    deviceUuid_ = null;
                     deviceUuidBuilder_ = null;
                 }
                 return this;
@@ -14049,18 +14679,43 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.DeviceId buildPartial() {
                 context.ContextOuterClass.DeviceId result = new context.ContextOuterClass.DeviceId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (deviceUuidBuilder_ == null) {
+                    result.deviceUuid_ = deviceUuid_;
+                } else {
+                    result.deviceUuid_ = deviceUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.DeviceId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.deviceUuid_ = deviceUuidBuilder_ == null ? deviceUuid_ : deviceUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -14079,7 +14734,7 @@ public final class ContextOuterClass {
                 if (other.hasDeviceUuid()) {
                     mergeDeviceUuid(other.getDeviceUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -14091,47 +14746,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.DeviceId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getDeviceUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.DeviceId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid deviceUuid_;
 
             private com.google.protobuf.SingleFieldBuilderV3 deviceUuidBuilder_;
@@ -14141,7 +14769,7 @@ public final class ContextOuterClass {
              * @return Whether the deviceUuid field is set.
              */
             public boolean hasDeviceUuid() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return deviceUuidBuilder_ != null || deviceUuid_ != null;
             }
 
             /**
@@ -14165,11 +14793,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     deviceUuid_ = value;
+                    onChanged();
                 } else {
                     deviceUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -14179,11 +14806,10 @@ public final class ContextOuterClass {
             public Builder setDeviceUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (deviceUuidBuilder_ == null) {
                     deviceUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     deviceUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -14192,16 +14818,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeDeviceUuid(context.ContextOuterClass.Uuid value) {
                 if (deviceUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && deviceUuid_ != null && deviceUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getDeviceUuidBuilder().mergeFrom(value);
+                    if (deviceUuid_ != null) {
+                        deviceUuid_ = context.ContextOuterClass.Uuid.newBuilder(deviceUuid_).mergeFrom(value).buildPartial();
                     } else {
                         deviceUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     deviceUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -14209,13 +14834,13 @@ public final class ContextOuterClass {
              * .context.Uuid device_uuid = 1;
              */
             public Builder clearDeviceUuid() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                deviceUuid_ = null;
-                if (deviceUuidBuilder_ != null) {
-                    deviceUuidBuilder_.dispose();
+                if (deviceUuidBuilder_ == null) {
+                    deviceUuid_ = null;
+                    onChanged();
+                } else {
+                    deviceUuid_ = null;
                     deviceUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -14223,7 +14848,6 @@ public final class ContextOuterClass {
              * .context.Uuid device_uuid = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getDeviceUuidBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getDeviceUuidFieldBuilder().getBuilder();
             }
@@ -14277,17 +14901,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public DeviceId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new DeviceId(input, extensionRegistry);
             }
         };
 
@@ -14539,6 +15153,154 @@ public final class ContextOuterClass {
             return new Device();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Device(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.DeviceId.Builder subBuilder = null;
+                                if (deviceId_ != null) {
+                                    subBuilder = deviceId_.toBuilder();
+                                }
+                                deviceId_ = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(deviceId_);
+                                    deviceId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                deviceType_ = s;
+                                break;
+                            }
+                        case 34:
+                            {
+                                context.ContextOuterClass.DeviceConfig.Builder subBuilder = null;
+                                if (deviceConfig_ != null) {
+                                    subBuilder = deviceConfig_.toBuilder();
+                                }
+                                deviceConfig_ = input.readMessage(context.ContextOuterClass.DeviceConfig.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(deviceConfig_);
+                                    deviceConfig_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 40:
+                            {
+                                int rawValue = input.readEnum();
+                                deviceOperationalStatus_ = rawValue;
+                                break;
+                            }
+                        case 48:
+                            {
+                                int rawValue = input.readEnum();
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    deviceDrivers_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                deviceDrivers_.add(rawValue);
+                                break;
+                            }
+                        case 50:
+                            {
+                                int length = input.readRawVarint32();
+                                int oldLimit = input.pushLimit(length);
+                                while (input.getBytesUntilLimit() > 0) {
+                                    int rawValue = input.readEnum();
+                                    if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                        deviceDrivers_ = new java.util.ArrayList();
+                                        mutable_bitField0_ |= 0x00000001;
+                                    }
+                                    deviceDrivers_.add(rawValue);
+                                }
+                                input.popLimit(oldLimit);
+                                break;
+                            }
+                        case 58:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+                                    deviceEndpoints_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000002;
+                                }
+                                deviceEndpoints_.add(input.readMessage(context.ContextOuterClass.EndPoint.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 66:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000004) != 0)) {
+                                    components_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000004;
+                                }
+                                components_.add(input.readMessage(context.ContextOuterClass.Component.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 74:
+                            {
+                                context.ContextOuterClass.DeviceId.Builder subBuilder = null;
+                                if (controllerId_ != null) {
+                                    subBuilder = controllerId_.toBuilder();
+                                }
+                                controllerId_ = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(controllerId_);
+                                    controllerId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    deviceDrivers_ = java.util.Collections.unmodifiableList(deviceDrivers_);
+                }
+                if (((mutable_bitField0_ & 0x00000002) != 0)) {
+                    deviceEndpoints_ = java.util.Collections.unmodifiableList(deviceEndpoints_);
+                }
+                if (((mutable_bitField0_ & 0x00000004) != 0)) {
+                    components_ = java.util.Collections.unmodifiableList(components_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Device_descriptor;
         }
@@ -14575,13 +15337,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() {
-            return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_;
+            return getDeviceId();
         }
 
         public static final int NAME_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 2;
@@ -14618,8 +15379,7 @@ public final class ContextOuterClass {
 
         public static final int DEVICE_TYPE_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object deviceType_ = "";
+        private volatile java.lang.Object deviceType_;
 
         /**
          * string device_type = 3;
@@ -14681,12 +15441,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.DeviceConfigOrBuilder getDeviceConfigOrBuilder() {
-            return deviceConfig_ == null ? context.ContextOuterClass.DeviceConfig.getDefaultInstance() : deviceConfig_;
+            return getDeviceConfig();
         }
 
         public static final int DEVICE_OPERATIONAL_STATUS_FIELD_NUMBER = 5;
 
-        private int deviceOperationalStatus_ = 0;
+        private int deviceOperationalStatus_;
 
         /**
          * .context.DeviceOperationalStatusEnum device_operational_status = 5;
@@ -14703,19 +15463,20 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.DeviceOperationalStatusEnum getDeviceOperationalStatus() {
-            context.ContextOuterClass.DeviceOperationalStatusEnum result = context.ContextOuterClass.DeviceOperationalStatusEnum.forNumber(deviceOperationalStatus_);
+            @SuppressWarnings("deprecation")
+            context.ContextOuterClass.DeviceOperationalStatusEnum result = context.ContextOuterClass.DeviceOperationalStatusEnum.valueOf(deviceOperationalStatus_);
             return result == null ? context.ContextOuterClass.DeviceOperationalStatusEnum.UNRECOGNIZED : result;
         }
 
         public static final int DEVICE_DRIVERS_FIELD_NUMBER = 6;
 
-        @SuppressWarnings("serial")
         private java.util.List deviceDrivers_;
 
         private static final com.google.protobuf.Internal.ListAdapter.Converter deviceDrivers_converter_ = new com.google.protobuf.Internal.ListAdapter.Converter() {
 
             public context.ContextOuterClass.DeviceDriverEnum convert(java.lang.Integer from) {
-                context.ContextOuterClass.DeviceDriverEnum result = context.ContextOuterClass.DeviceDriverEnum.forNumber(from);
+                @SuppressWarnings("deprecation")
+                context.ContextOuterClass.DeviceDriverEnum result = context.ContextOuterClass.DeviceDriverEnum.valueOf(from);
                 return result == null ? context.ContextOuterClass.DeviceDriverEnum.UNRECOGNIZED : result;
             }
         };
@@ -14771,7 +15532,6 @@ public final class ContextOuterClass {
 
         public static final int DEVICE_ENDPOINTS_FIELD_NUMBER = 7;
 
-        @SuppressWarnings("serial")
         private java.util.List deviceEndpoints_;
 
         /**
@@ -14816,7 +15576,6 @@ public final class ContextOuterClass {
 
         public static final int COMPONENTS_FIELD_NUMBER = 8;
 
-        @SuppressWarnings("serial")
         private java.util.List components_;
 
         /**
@@ -14918,7 +15677,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.DeviceIdOrBuilder getControllerIdOrBuilder() {
-            return controllerId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : controllerId_;
+            return getControllerId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -14940,10 +15699,10 @@ public final class ContextOuterClass {
             if (deviceId_ != null) {
                 output.writeMessage(1, getDeviceId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(deviceType_)) {
+            if (!getDeviceTypeBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 3, deviceType_);
             }
             if (deviceConfig_ != null) {
@@ -14968,7 +15727,7 @@ public final class ContextOuterClass {
             if (controllerId_ != null) {
                 output.writeMessage(9, getControllerId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -14980,10 +15739,10 @@ public final class ContextOuterClass {
             if (deviceId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getDeviceId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(deviceType_)) {
+            if (!getDeviceTypeBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, deviceType_);
             }
             if (deviceConfig_ != null) {
@@ -15013,7 +15772,7 @@ public final class ContextOuterClass {
             if (controllerId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(9, getControllerId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -15057,7 +15816,7 @@ public final class ContextOuterClass {
                 if (!getControllerId().equals(other.getControllerId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -15099,7 +15858,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONTROLLER_ID_FIELD_NUMBER;
                 hash = (53 * hash) + getControllerId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -15193,48 +15952,57 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Device.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getDeviceEndpointsFieldBuilder();
+                    getComponentsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                deviceId_ = null;
-                if (deviceIdBuilder_ != null) {
-                    deviceIdBuilder_.dispose();
+                if (deviceIdBuilder_ == null) {
+                    deviceId_ = null;
+                } else {
+                    deviceId_ = null;
                     deviceIdBuilder_ = null;
                 }
                 name_ = "";
                 deviceType_ = "";
-                deviceConfig_ = null;
-                if (deviceConfigBuilder_ != null) {
-                    deviceConfigBuilder_.dispose();
+                if (deviceConfigBuilder_ == null) {
+                    deviceConfig_ = null;
+                } else {
+                    deviceConfig_ = null;
                     deviceConfigBuilder_ = null;
                 }
                 deviceOperationalStatus_ = 0;
                 deviceDrivers_ = java.util.Collections.emptyList();
-                bitField0_ = (bitField0_ & ~0x00000020);
+                bitField0_ = (bitField0_ & ~0x00000001);
                 if (deviceEndpointsBuilder_ == null) {
                     deviceEndpoints_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000002);
                 } else {
-                    deviceEndpoints_ = null;
                     deviceEndpointsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000040);
                 if (componentsBuilder_ == null) {
                     components_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000004);
                 } else {
-                    components_ = null;
                     componentsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000080);
-                controllerId_ = null;
-                if (controllerIdBuilder_ != null) {
-                    controllerIdBuilder_.dispose();
+                if (controllerIdBuilder_ == null) {
+                    controllerId_ = null;
+                } else {
+                    controllerId_ = null;
                     controllerIdBuilder_ = null;
                 }
                 return this;
@@ -15262,60 +16030,80 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Device buildPartial() {
                 context.ContextOuterClass.Device result = new context.ContextOuterClass.Device(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (deviceIdBuilder_ == null) {
+                    result.deviceId_ = deviceId_;
+                } else {
+                    result.deviceId_ = deviceIdBuilder_.build();
                 }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.Device result) {
-                if (((bitField0_ & 0x00000020) != 0)) {
+                result.name_ = name_;
+                result.deviceType_ = deviceType_;
+                if (deviceConfigBuilder_ == null) {
+                    result.deviceConfig_ = deviceConfig_;
+                } else {
+                    result.deviceConfig_ = deviceConfigBuilder_.build();
+                }
+                result.deviceOperationalStatus_ = deviceOperationalStatus_;
+                if (((bitField0_ & 0x00000001) != 0)) {
                     deviceDrivers_ = java.util.Collections.unmodifiableList(deviceDrivers_);
-                    bitField0_ = (bitField0_ & ~0x00000020);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 }
                 result.deviceDrivers_ = deviceDrivers_;
                 if (deviceEndpointsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000040) != 0)) {
+                    if (((bitField0_ & 0x00000002) != 0)) {
                         deviceEndpoints_ = java.util.Collections.unmodifiableList(deviceEndpoints_);
-                        bitField0_ = (bitField0_ & ~0x00000040);
+                        bitField0_ = (bitField0_ & ~0x00000002);
                     }
                     result.deviceEndpoints_ = deviceEndpoints_;
                 } else {
                     result.deviceEndpoints_ = deviceEndpointsBuilder_.build();
                 }
                 if (componentsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000080) != 0)) {
+                    if (((bitField0_ & 0x00000004) != 0)) {
                         components_ = java.util.Collections.unmodifiableList(components_);
-                        bitField0_ = (bitField0_ & ~0x00000080);
+                        bitField0_ = (bitField0_ & ~0x00000004);
                     }
                     result.components_ = components_;
                 } else {
                     result.components_ = componentsBuilder_.build();
                 }
+                if (controllerIdBuilder_ == null) {
+                    result.controllerId_ = controllerId_;
+                } else {
+                    result.controllerId_ = controllerIdBuilder_.build();
+                }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Device result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.deviceId_ = deviceIdBuilder_ == null ? deviceId_ : deviceIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.name_ = name_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.deviceType_ = deviceType_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.deviceConfig_ = deviceConfigBuilder_ == null ? deviceConfig_ : deviceConfigBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.deviceOperationalStatus_ = deviceOperationalStatus_;
-                }
-                if (((from_bitField0_ & 0x00000100) != 0)) {
-                    result.controllerId_ = controllerIdBuilder_ == null ? controllerId_ : controllerIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -15336,12 +16124,10 @@ public final class ContextOuterClass {
                 }
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (!other.getDeviceType().isEmpty()) {
                     deviceType_ = other.deviceType_;
-                    bitField0_ |= 0x00000004;
                     onChanged();
                 }
                 if (other.hasDeviceConfig()) {
@@ -15353,7 +16139,7 @@ public final class ContextOuterClass {
                 if (!other.deviceDrivers_.isEmpty()) {
                     if (deviceDrivers_.isEmpty()) {
                         deviceDrivers_ = other.deviceDrivers_;
-                        bitField0_ = (bitField0_ & ~0x00000020);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     } else {
                         ensureDeviceDriversIsMutable();
                         deviceDrivers_.addAll(other.deviceDrivers_);
@@ -15364,7 +16150,7 @@ public final class ContextOuterClass {
                     if (!other.deviceEndpoints_.isEmpty()) {
                         if (deviceEndpoints_.isEmpty()) {
                             deviceEndpoints_ = other.deviceEndpoints_;
-                            bitField0_ = (bitField0_ & ~0x00000040);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                         } else {
                             ensureDeviceEndpointsIsMutable();
                             deviceEndpoints_.addAll(other.deviceEndpoints_);
@@ -15377,7 +16163,7 @@ public final class ContextOuterClass {
                             deviceEndpointsBuilder_.dispose();
                             deviceEndpointsBuilder_ = null;
                             deviceEndpoints_ = other.deviceEndpoints_;
-                            bitField0_ = (bitField0_ & ~0x00000040);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                             deviceEndpointsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getDeviceEndpointsFieldBuilder() : null;
                         } else {
                             deviceEndpointsBuilder_.addAllMessages(other.deviceEndpoints_);
@@ -15388,7 +16174,7 @@ public final class ContextOuterClass {
                     if (!other.components_.isEmpty()) {
                         if (components_.isEmpty()) {
                             components_ = other.components_;
-                            bitField0_ = (bitField0_ & ~0x00000080);
+                            bitField0_ = (bitField0_ & ~0x00000004);
                         } else {
                             ensureComponentsIsMutable();
                             components_.addAll(other.components_);
@@ -15401,7 +16187,7 @@ public final class ContextOuterClass {
                             componentsBuilder_.dispose();
                             componentsBuilder_ = null;
                             components_ = other.components_;
-                            bitField0_ = (bitField0_ & ~0x00000080);
+                            bitField0_ = (bitField0_ & ~0x00000004);
                             componentsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getComponentsFieldBuilder() : null;
                         } else {
                             componentsBuilder_.addAllMessages(other.components_);
@@ -15411,7 +16197,7 @@ public final class ContextOuterClass {
                 if (other.hasControllerId()) {
                     mergeControllerId(other.getControllerId());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -15423,122 +16209,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Device parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getDeviceIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    deviceType_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    input.readMessage(getDeviceConfigFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 34
-                            case 40:
-                                {
-                                    deviceOperationalStatus_ = input.readEnum();
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 40
-                            case 48:
-                                {
-                                    int tmpRaw = input.readEnum();
-                                    ensureDeviceDriversIsMutable();
-                                    deviceDrivers_.add(tmpRaw);
-                                    break;
-                                }
-                            // case 48
-                            case 50:
-                                {
-                                    int length = input.readRawVarint32();
-                                    int oldLimit = input.pushLimit(length);
-                                    while (input.getBytesUntilLimit() > 0) {
-                                        int tmpRaw = input.readEnum();
-                                        ensureDeviceDriversIsMutable();
-                                        deviceDrivers_.add(tmpRaw);
-                                    }
-                                    input.popLimit(oldLimit);
-                                    break;
-                                }
-                            // case 50
-                            case 58:
-                                {
-                                    context.ContextOuterClass.EndPoint m = input.readMessage(context.ContextOuterClass.EndPoint.parser(), extensionRegistry);
-                                    if (deviceEndpointsBuilder_ == null) {
-                                        ensureDeviceEndpointsIsMutable();
-                                        deviceEndpoints_.add(m);
-                                    } else {
-                                        deviceEndpointsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 58
-                            case 66:
-                                {
-                                    context.ContextOuterClass.Component m = input.readMessage(context.ContextOuterClass.Component.parser(), extensionRegistry);
-                                    if (componentsBuilder_ == null) {
-                                        ensureComponentsIsMutable();
-                                        components_.add(m);
-                                    } else {
-                                        componentsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 66
-                            case 74:
-                                {
-                                    input.readMessage(getControllerIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000100;
-                                    break;
-                                }
-                            // case 74
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Device) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -15553,7 +16234,7 @@ public final class ContextOuterClass {
              * @return Whether the deviceId field is set.
              */
             public boolean hasDeviceId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return deviceIdBuilder_ != null || deviceId_ != null;
             }
 
             /**
@@ -15577,11 +16258,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     deviceId_ = value;
+                    onChanged();
                 } else {
                     deviceIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -15591,11 +16271,10 @@ public final class ContextOuterClass {
             public Builder setDeviceId(context.ContextOuterClass.DeviceId.Builder builderForValue) {
                 if (deviceIdBuilder_ == null) {
                     deviceId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     deviceIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -15604,16 +16283,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeDeviceId(context.ContextOuterClass.DeviceId value) {
                 if (deviceIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && deviceId_ != null && deviceId_ != context.ContextOuterClass.DeviceId.getDefaultInstance()) {
-                        getDeviceIdBuilder().mergeFrom(value);
+                    if (deviceId_ != null) {
+                        deviceId_ = context.ContextOuterClass.DeviceId.newBuilder(deviceId_).mergeFrom(value).buildPartial();
                     } else {
                         deviceId_ = value;
                     }
+                    onChanged();
                 } else {
                     deviceIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -15621,13 +16299,13 @@ public final class ContextOuterClass {
              * .context.DeviceId device_id = 1;
              */
             public Builder clearDeviceId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                deviceId_ = null;
-                if (deviceIdBuilder_ != null) {
-                    deviceIdBuilder_.dispose();
+                if (deviceIdBuilder_ == null) {
+                    deviceId_ = null;
+                    onChanged();
+                } else {
+                    deviceId_ = null;
                     deviceIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -15635,7 +16313,6 @@ public final class ContextOuterClass {
              * .context.DeviceId device_id = 1;
              */
             public context.ContextOuterClass.DeviceId.Builder getDeviceIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getDeviceIdFieldBuilder().getBuilder();
             }
@@ -15705,7 +16382,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -15716,7 +16392,6 @@ public final class ContextOuterClass {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -15732,7 +16407,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -15780,7 +16454,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 deviceType_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -15791,7 +16464,6 @@ public final class ContextOuterClass {
              */
             public Builder clearDeviceType() {
                 deviceType_ = getDefaultInstance().getDeviceType();
-                bitField0_ = (bitField0_ & ~0x00000004);
                 onChanged();
                 return this;
             }
@@ -15807,7 +16479,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 deviceType_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -15821,7 +16492,7 @@ public final class ContextOuterClass {
              * @return Whether the deviceConfig field is set.
              */
             public boolean hasDeviceConfig() {
-                return ((bitField0_ & 0x00000008) != 0);
+                return deviceConfigBuilder_ != null || deviceConfig_ != null;
             }
 
             /**
@@ -15845,11 +16516,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     deviceConfig_ = value;
+                    onChanged();
                 } else {
                     deviceConfigBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -15859,11 +16529,10 @@ public final class ContextOuterClass {
             public Builder setDeviceConfig(context.ContextOuterClass.DeviceConfig.Builder builderForValue) {
                 if (deviceConfigBuilder_ == null) {
                     deviceConfig_ = builderForValue.build();
+                    onChanged();
                 } else {
                     deviceConfigBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -15872,16 +16541,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeDeviceConfig(context.ContextOuterClass.DeviceConfig value) {
                 if (deviceConfigBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0) && deviceConfig_ != null && deviceConfig_ != context.ContextOuterClass.DeviceConfig.getDefaultInstance()) {
-                        getDeviceConfigBuilder().mergeFrom(value);
+                    if (deviceConfig_ != null) {
+                        deviceConfig_ = context.ContextOuterClass.DeviceConfig.newBuilder(deviceConfig_).mergeFrom(value).buildPartial();
                     } else {
                         deviceConfig_ = value;
                     }
+                    onChanged();
                 } else {
                     deviceConfigBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -15889,13 +16557,13 @@ public final class ContextOuterClass {
              * .context.DeviceConfig device_config = 4;
              */
             public Builder clearDeviceConfig() {
-                bitField0_ = (bitField0_ & ~0x00000008);
-                deviceConfig_ = null;
-                if (deviceConfigBuilder_ != null) {
-                    deviceConfigBuilder_.dispose();
+                if (deviceConfigBuilder_ == null) {
+                    deviceConfig_ = null;
+                    onChanged();
+                } else {
+                    deviceConfig_ = null;
                     deviceConfigBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -15903,7 +16571,6 @@ public final class ContextOuterClass {
              * .context.DeviceConfig device_config = 4;
              */
             public context.ContextOuterClass.DeviceConfig.Builder getDeviceConfigBuilder() {
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return getDeviceConfigFieldBuilder().getBuilder();
             }
@@ -15948,7 +16615,6 @@ public final class ContextOuterClass {
              */
             public Builder setDeviceOperationalStatusValue(int value) {
                 deviceOperationalStatus_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -15959,7 +16625,8 @@ public final class ContextOuterClass {
              */
             @java.lang.Override
             public context.ContextOuterClass.DeviceOperationalStatusEnum getDeviceOperationalStatus() {
-                context.ContextOuterClass.DeviceOperationalStatusEnum result = context.ContextOuterClass.DeviceOperationalStatusEnum.forNumber(deviceOperationalStatus_);
+                @SuppressWarnings("deprecation")
+                context.ContextOuterClass.DeviceOperationalStatusEnum result = context.ContextOuterClass.DeviceOperationalStatusEnum.valueOf(deviceOperationalStatus_);
                 return result == null ? context.ContextOuterClass.DeviceOperationalStatusEnum.UNRECOGNIZED : result;
             }
 
@@ -15972,7 +16639,6 @@ public final class ContextOuterClass {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000010;
                 deviceOperationalStatus_ = value.getNumber();
                 onChanged();
                 return this;
@@ -15983,7 +16649,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearDeviceOperationalStatus() {
-                bitField0_ = (bitField0_ & ~0x00000010);
                 deviceOperationalStatus_ = 0;
                 onChanged();
                 return this;
@@ -15992,9 +16657,9 @@ public final class ContextOuterClass {
             private java.util.List deviceDrivers_ = java.util.Collections.emptyList();
 
             private void ensureDeviceDriversIsMutable() {
-                if (!((bitField0_ & 0x00000020) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     deviceDrivers_ = new java.util.ArrayList(deviceDrivers_);
-                    bitField0_ |= 0x00000020;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -16074,7 +16739,7 @@ public final class ContextOuterClass {
              */
             public Builder clearDeviceDrivers() {
                 deviceDrivers_ = java.util.Collections.emptyList();
-                bitField0_ = (bitField0_ & ~0x00000020);
+                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -16098,8 +16763,8 @@ public final class ContextOuterClass {
 
             /**
              * repeated .context.DeviceDriverEnum device_drivers = 6;
-             * @param index The index to set the value at.
-             * @param value The enum numeric value on the wire for deviceDrivers to set.
+             * @param index The index of the value to return.
+             * @return The enum numeric value on the wire of deviceDrivers at the given index.
              * @return This builder for chaining.
              */
             public Builder setDeviceDriversValue(int index, int value) {
@@ -16138,9 +16803,9 @@ public final class ContextOuterClass {
             private java.util.List deviceEndpoints_ = java.util.Collections.emptyList();
 
             private void ensureDeviceEndpointsIsMutable() {
-                if (!((bitField0_ & 0x00000040) != 0)) {
+                if (!((bitField0_ & 0x00000002) != 0)) {
                     deviceEndpoints_ = new java.util.ArrayList(deviceEndpoints_);
-                    bitField0_ |= 0x00000040;
+                    bitField0_ |= 0x00000002;
                 }
             }
 
@@ -16292,7 +16957,7 @@ public final class ContextOuterClass {
             public Builder clearDeviceEndpoints() {
                 if (deviceEndpointsBuilder_ == null) {
                     deviceEndpoints_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000040);
+                    bitField0_ = (bitField0_ & ~0x00000002);
                     onChanged();
                 } else {
                     deviceEndpointsBuilder_.clear();
@@ -16366,7 +17031,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getDeviceEndpointsFieldBuilder() {
                 if (deviceEndpointsBuilder_ == null) {
-                    deviceEndpointsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(deviceEndpoints_, ((bitField0_ & 0x00000040) != 0), getParentForChildren(), isClean());
+                    deviceEndpointsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(deviceEndpoints_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
                     deviceEndpoints_ = null;
                 }
                 return deviceEndpointsBuilder_;
@@ -16375,9 +17040,9 @@ public final class ContextOuterClass {
             private java.util.List components_ = java.util.Collections.emptyList();
 
             private void ensureComponentsIsMutable() {
-                if (!((bitField0_ & 0x00000080) != 0)) {
+                if (!((bitField0_ & 0x00000004) != 0)) {
                     components_ = new java.util.ArrayList(components_);
-                    bitField0_ |= 0x00000080;
+                    bitField0_ |= 0x00000004;
                 }
             }
 
@@ -16573,7 +17238,7 @@ public final class ContextOuterClass {
             public Builder clearComponents() {
                 if (componentsBuilder_ == null) {
                     components_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000080);
+                    bitField0_ = (bitField0_ & ~0x00000004);
                     onChanged();
                 } else {
                     componentsBuilder_.clear();
@@ -16675,7 +17340,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getComponentsFieldBuilder() {
                 if (componentsBuilder_ == null) {
-                    componentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(components_, ((bitField0_ & 0x00000080) != 0), getParentForChildren(), isClean());
+                    componentsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(components_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
                     components_ = null;
                 }
                 return componentsBuilder_;
@@ -16694,7 +17359,7 @@ public final class ContextOuterClass {
              * @return Whether the controllerId field is set.
              */
             public boolean hasControllerId() {
-                return ((bitField0_ & 0x00000100) != 0);
+                return controllerIdBuilder_ != null || controllerId_ != null;
             }
 
             /**
@@ -16726,11 +17391,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     controllerId_ = value;
+                    onChanged();
                 } else {
                     controllerIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000100;
-                onChanged();
                 return this;
             }
 
@@ -16744,11 +17408,10 @@ public final class ContextOuterClass {
             public Builder setControllerId(context.ContextOuterClass.DeviceId.Builder builderForValue) {
                 if (controllerIdBuilder_ == null) {
                     controllerId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     controllerIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000100;
-                onChanged();
                 return this;
             }
 
@@ -16761,16 +17424,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeControllerId(context.ContextOuterClass.DeviceId value) {
                 if (controllerIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000100) != 0) && controllerId_ != null && controllerId_ != context.ContextOuterClass.DeviceId.getDefaultInstance()) {
-                        getControllerIdBuilder().mergeFrom(value);
+                    if (controllerId_ != null) {
+                        controllerId_ = context.ContextOuterClass.DeviceId.newBuilder(controllerId_).mergeFrom(value).buildPartial();
                     } else {
                         controllerId_ = value;
                     }
+                    onChanged();
                 } else {
                     controllerIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000100;
-                onChanged();
                 return this;
             }
 
@@ -16782,13 +17444,13 @@ public final class ContextOuterClass {
              * .context.DeviceId controller_id = 9;
              */
             public Builder clearControllerId() {
-                bitField0_ = (bitField0_ & ~0x00000100);
-                controllerId_ = null;
-                if (controllerIdBuilder_ != null) {
-                    controllerIdBuilder_.dispose();
+                if (controllerIdBuilder_ == null) {
+                    controllerId_ = null;
+                    onChanged();
+                } else {
+                    controllerId_ = null;
                     controllerIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -16800,7 +17462,6 @@ public final class ContextOuterClass {
              * .context.DeviceId controller_id = 9;
              */
             public context.ContextOuterClass.DeviceId.Builder getControllerIdBuilder() {
-                bitField0_ |= 0x00000100;
                 onChanged();
                 return getControllerIdFieldBuilder().getBuilder();
             }
@@ -16862,17 +17523,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Device parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Device(input, extensionRegistry);
             }
         };
 
@@ -16975,9 +17626,7 @@ public final class ContextOuterClass {
          *
          * map<string, string> attributes = 4;
          */
-        /* nullable */
-        java.lang.String getAttributesOrDefault(java.lang.String key, /* nullable */
-        java.lang.String defaultValue);
+        java.lang.String getAttributesOrDefault(java.lang.String key, java.lang.String defaultValue);
 
         /**
          * 
@@ -17030,6 +17679,86 @@ public final class ContextOuterClass {
             return new Component();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Component(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (componentUuid_ != null) {
+                                    subBuilder = componentUuid_.toBuilder();
+                                }
+                                componentUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(componentUuid_);
+                                    componentUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                type_ = s;
+                                break;
+                            }
+                        case 34:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    attributes_ = com.google.protobuf.MapField.newMapField(AttributesDefaultEntryHolder.defaultEntry);
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                com.google.protobuf.MapEntry attributes__ = input.readMessage(AttributesDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
+                                attributes_.getMutableMap().put(attributes__.getKey(), attributes__.getValue());
+                                break;
+                            }
+                        case 42:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                parent_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Component_descriptor;
         }
@@ -17077,13 +17806,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getComponentUuidOrBuilder() {
-            return componentUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : componentUuid_;
+            return getComponentUuid();
         }
 
         public static final int NAME_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 2;
@@ -17120,8 +17848,7 @@ public final class ContextOuterClass {
 
         public static final int TYPE_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object type_ = "";
+        private volatile java.lang.Object type_;
 
         /**
          * string type = 3;
@@ -17163,7 +17890,6 @@ public final class ContextOuterClass {
             static final com.google.protobuf.MapEntry defaultEntry = com.google.protobuf.MapEntry.newDefaultInstance(context.ContextOuterClass.internal_static_context_Component_AttributesEntry_descriptor, com.google.protobuf.WireFormat.FieldType.STRING, "", com.google.protobuf.WireFormat.FieldType.STRING, "");
         }
 
-        @SuppressWarnings("serial")
         private com.google.protobuf.MapField attributes_;
 
         private com.google.protobuf.MapField internalGetAttributes() {
@@ -17187,7 +17913,7 @@ public final class ContextOuterClass {
         @java.lang.Override
         public boolean containsAttributes(java.lang.String key) {
             if (key == null) {
-                throw new NullPointerException("map key");
+                throw new java.lang.NullPointerException();
             }
             return internalGetAttributes().getMap().containsKey(key);
         }
@@ -17221,11 +17947,9 @@ public final class ContextOuterClass {
          * map<string, string> attributes = 4;
          */
         @java.lang.Override
-        public /* nullable */
-        java.lang.String getAttributesOrDefault(java.lang.String key, /* nullable */
-        java.lang.String defaultValue) {
+        public java.lang.String getAttributesOrDefault(java.lang.String key, java.lang.String defaultValue) {
             if (key == null) {
-                throw new NullPointerException("map key");
+                throw new java.lang.NullPointerException();
             }
             java.util.Map map = internalGetAttributes().getMap();
             return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -17241,7 +17965,7 @@ public final class ContextOuterClass {
         @java.lang.Override
         public java.lang.String getAttributesOrThrow(java.lang.String key) {
             if (key == null) {
-                throw new NullPointerException("map key");
+                throw new java.lang.NullPointerException();
             }
             java.util.Map map = internalGetAttributes().getMap();
             if (!map.containsKey(key)) {
@@ -17252,8 +17976,7 @@ public final class ContextOuterClass {
 
         public static final int PARENT_FIELD_NUMBER = 5;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object parent_ = "";
+        private volatile java.lang.Object parent_;
 
         /**
          * string parent = 5;
@@ -17306,17 +18029,17 @@ public final class ContextOuterClass {
             if (componentUuid_ != null) {
                 output.writeMessage(1, getComponentUuid());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(type_)) {
+            if (!getTypeBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 3, type_);
             }
             com.google.protobuf.GeneratedMessageV3.serializeStringMapTo(output, internalGetAttributes(), AttributesDefaultEntryHolder.defaultEntry, 4);
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parent_)) {
+            if (!getParentBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 5, parent_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -17328,20 +18051,20 @@ public final class ContextOuterClass {
             if (componentUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getComponentUuid());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(type_)) {
+            if (!getTypeBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, type_);
             }
             for (java.util.Map.Entry entry : internalGetAttributes().getMap().entrySet()) {
                 com.google.protobuf.MapEntry attributes__ = AttributesDefaultEntryHolder.defaultEntry.newBuilderForType().setKey(entry.getKey()).setValue(entry.getValue()).build();
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, attributes__);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parent_)) {
+            if (!getParentBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, parent_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -17369,7 +18092,7 @@ public final class ContextOuterClass {
                 return false;
             if (!getParent().equals(other.getParent()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -17395,7 +18118,7 @@ public final class ContextOuterClass {
             }
             hash = (37 * hash) + PARENT_FIELD_NUMBER;
             hash = (53 * hash) + getParent().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -17513,19 +18236,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Component.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                componentUuid_ = null;
-                if (componentUuidBuilder_ != null) {
-                    componentUuidBuilder_.dispose();
+                if (componentUuidBuilder_ == null) {
+                    componentUuid_ = null;
+                } else {
+                    componentUuid_ = null;
                     componentUuidBuilder_ = null;
                 }
                 name_ = "";
@@ -17557,31 +18287,49 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Component buildPartial() {
                 context.ContextOuterClass.Component result = new context.ContextOuterClass.Component(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (componentUuidBuilder_ == null) {
+                    result.componentUuid_ = componentUuid_;
+                } else {
+                    result.componentUuid_ = componentUuidBuilder_.build();
                 }
+                result.name_ = name_;
+                result.type_ = type_;
+                result.attributes_ = internalGetAttributes();
+                result.attributes_.makeImmutable();
+                result.parent_ = parent_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Component result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.componentUuid_ = componentUuidBuilder_ == null ? componentUuid_ : componentUuidBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.name_ = name_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.type_ = type_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.attributes_ = internalGetAttributes();
-                    result.attributes_.makeImmutable();
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.parent_ = parent_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -17602,22 +18350,18 @@ public final class ContextOuterClass {
                 }
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (!other.getType().isEmpty()) {
                     type_ = other.type_;
-                    bitField0_ |= 0x00000004;
                     onChanged();
                 }
                 internalGetMutableAttributes().mergeFrom(other.internalGetAttributes());
-                bitField0_ |= 0x00000008;
                 if (!other.getParent().isEmpty()) {
                     parent_ = other.parent_;
-                    bitField0_ |= 0x00000010;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -17629,71 +18373,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Component parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getComponentUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    type_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    com.google.protobuf.MapEntry attributes__ = input.readMessage(AttributesDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
-                                    internalGetMutableAttributes().getMutableMap().put(attributes__.getKey(), attributes__.getValue());
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    parent_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 42
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Component) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -17708,7 +18398,7 @@ public final class ContextOuterClass {
              * @return Whether the componentUuid field is set.
              */
             public boolean hasComponentUuid() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return componentUuidBuilder_ != null || componentUuid_ != null;
             }
 
             /**
@@ -17732,11 +18422,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     componentUuid_ = value;
+                    onChanged();
                 } else {
                     componentUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -17746,11 +18435,10 @@ public final class ContextOuterClass {
             public Builder setComponentUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (componentUuidBuilder_ == null) {
                     componentUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     componentUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -17759,16 +18447,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeComponentUuid(context.ContextOuterClass.Uuid value) {
                 if (componentUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && componentUuid_ != null && componentUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getComponentUuidBuilder().mergeFrom(value);
+                    if (componentUuid_ != null) {
+                        componentUuid_ = context.ContextOuterClass.Uuid.newBuilder(componentUuid_).mergeFrom(value).buildPartial();
                     } else {
                         componentUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     componentUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -17776,13 +18463,13 @@ public final class ContextOuterClass {
              * .context.Uuid component_uuid = 1;
              */
             public Builder clearComponentUuid() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                componentUuid_ = null;
-                if (componentUuidBuilder_ != null) {
-                    componentUuidBuilder_.dispose();
+                if (componentUuidBuilder_ == null) {
+                    componentUuid_ = null;
+                    onChanged();
+                } else {
+                    componentUuid_ = null;
                     componentUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -17790,7 +18477,6 @@ public final class ContextOuterClass {
              * .context.Uuid component_uuid = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getComponentUuidBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getComponentUuidFieldBuilder().getBuilder();
             }
@@ -17860,7 +18546,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -17871,7 +18556,6 @@ public final class ContextOuterClass {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -17887,7 +18571,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -17935,7 +18618,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 type_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -17946,7 +18628,6 @@ public final class ContextOuterClass {
              */
             public Builder clearType() {
                 type_ = getDefaultInstance().getType();
-                bitField0_ = (bitField0_ & ~0x00000004);
                 onChanged();
                 return this;
             }
@@ -17962,7 +18643,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 type_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -17977,14 +18657,14 @@ public final class ContextOuterClass {
             }
 
             private com.google.protobuf.MapField internalGetMutableAttributes() {
+                onChanged();
+                ;
                 if (attributes_ == null) {
                     attributes_ = com.google.protobuf.MapField.newMapField(AttributesDefaultEntryHolder.defaultEntry);
                 }
                 if (!attributes_.isMutable()) {
                     attributes_ = attributes_.copy();
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return attributes_;
             }
 
@@ -18002,7 +18682,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public boolean containsAttributes(java.lang.String key) {
                 if (key == null) {
-                    throw new NullPointerException("map key");
+                    throw new java.lang.NullPointerException();
                 }
                 return internalGetAttributes().getMap().containsKey(key);
             }
@@ -18036,11 +18716,9 @@ public final class ContextOuterClass {
              * map<string, string> attributes = 4;
              */
             @java.lang.Override
-            public /* nullable */
-            java.lang.String getAttributesOrDefault(java.lang.String key, /* nullable */
-            java.lang.String defaultValue) {
+            public java.lang.String getAttributesOrDefault(java.lang.String key, java.lang.String defaultValue) {
                 if (key == null) {
-                    throw new NullPointerException("map key");
+                    throw new java.lang.NullPointerException();
                 }
                 java.util.Map map = internalGetAttributes().getMap();
                 return map.containsKey(key) ? map.get(key) : defaultValue;
@@ -18056,7 +18734,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public java.lang.String getAttributesOrThrow(java.lang.String key) {
                 if (key == null) {
-                    throw new NullPointerException("map key");
+                    throw new java.lang.NullPointerException();
                 }
                 java.util.Map map = internalGetAttributes().getMap();
                 if (!map.containsKey(key)) {
@@ -18066,7 +18744,6 @@ public final class ContextOuterClass {
             }
 
             public Builder clearAttributes() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 internalGetMutableAttributes().getMutableMap().clear();
                 return this;
             }
@@ -18080,7 +18757,7 @@ public final class ContextOuterClass {
              */
             public Builder removeAttributes(java.lang.String key) {
                 if (key == null) {
-                    throw new NullPointerException("map key");
+                    throw new java.lang.NullPointerException();
                 }
                 internalGetMutableAttributes().getMutableMap().remove(key);
                 return this;
@@ -18091,7 +18768,6 @@ public final class ContextOuterClass {
              */
             @java.lang.Deprecated
             public java.util.Map getMutableAttributes() {
-                bitField0_ |= 0x00000008;
                 return internalGetMutableAttributes().getMutableMap();
             }
 
@@ -18104,13 +18780,12 @@ public final class ContextOuterClass {
              */
             public Builder putAttributes(java.lang.String key, java.lang.String value) {
                 if (key == null) {
-                    throw new NullPointerException("map key");
+                    throw new java.lang.NullPointerException();
                 }
                 if (value == null) {
-                    throw new NullPointerException("map value");
+                    throw new java.lang.NullPointerException();
                 }
                 internalGetMutableAttributes().getMutableMap().put(key, value);
-                bitField0_ |= 0x00000008;
                 return this;
             }
 
@@ -18123,7 +18798,6 @@ public final class ContextOuterClass {
              */
             public Builder putAllAttributes(java.util.Map values) {
                 internalGetMutableAttributes().getMutableMap().putAll(values);
-                bitField0_ |= 0x00000008;
                 return this;
             }
 
@@ -18170,7 +18844,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 parent_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -18181,7 +18854,6 @@ public final class ContextOuterClass {
              */
             public Builder clearParent() {
                 parent_ = getDefaultInstance().getParent();
-                bitField0_ = (bitField0_ & ~0x00000010);
                 onChanged();
                 return this;
             }
@@ -18197,7 +18869,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 parent_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -18229,17 +18900,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Component parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Component(input, extensionRegistry);
             }
         };
 
@@ -18310,6 +18971,57 @@ public final class ContextOuterClass {
             return new DeviceConfig();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private DeviceConfig(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    configRules_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                configRules_.add(input.readMessage(context.ContextOuterClass.ConfigRule.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    configRules_ = java.util.Collections.unmodifiableList(configRules_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_DeviceConfig_descriptor;
         }
@@ -18321,7 +19033,6 @@ public final class ContextOuterClass {
 
         public static final int CONFIG_RULES_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List configRules_;
 
         /**
@@ -18382,7 +19093,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < configRules_.size(); i++) {
                 output.writeMessage(1, configRules_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -18394,7 +19105,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < configRules_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, configRules_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -18410,7 +19121,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.DeviceConfig other = (context.ContextOuterClass.DeviceConfig) obj;
             if (!getConfigRulesList().equals(other.getConfigRulesList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -18426,7 +19137,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONFIG_RULES_FIELD_NUMBER;
                 hash = (53 * hash) + getConfigRulesList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -18520,23 +19231,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.DeviceConfig.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getConfigRulesFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (configRulesBuilder_ == null) {
                     configRules_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    configRules_ = null;
                     configRulesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -18562,15 +19279,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.DeviceConfig buildPartial() {
                 context.ContextOuterClass.DeviceConfig result = new context.ContextOuterClass.DeviceConfig(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.DeviceConfig result) {
+                int from_bitField0_ = bitField0_;
                 if (configRulesBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         configRules_ = java.util.Collections.unmodifiableList(configRules_);
@@ -18580,10 +19289,38 @@ public final class ContextOuterClass {
                 } else {
                     result.configRules_ = configRulesBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.DeviceConfig result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -18623,7 +19360,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -18635,47 +19372,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.DeviceConfig parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.ConfigRule m = input.readMessage(context.ContextOuterClass.ConfigRule.parser(), extensionRegistry);
-                                    if (configRulesBuilder_ == null) {
-                                        ensureConfigRulesIsMutable();
-                                        configRules_.add(m);
-                                    } else {
-                                        configRulesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.DeviceConfig) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -18945,17 +19652,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public DeviceConfig parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new DeviceConfig(input, extensionRegistry);
             }
         };
 
@@ -19026,6 +19723,57 @@ public final class ContextOuterClass {
             return new DeviceIdList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private DeviceIdList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    deviceIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                deviceIds_.add(input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_DeviceIdList_descriptor;
         }
@@ -19037,7 +19785,6 @@ public final class ContextOuterClass {
 
         public static final int DEVICE_IDS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List deviceIds_;
 
         /**
@@ -19098,7 +19845,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < deviceIds_.size(); i++) {
                 output.writeMessage(1, deviceIds_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -19110,7 +19857,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < deviceIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, deviceIds_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -19126,7 +19873,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.DeviceIdList other = (context.ContextOuterClass.DeviceIdList) obj;
             if (!getDeviceIdsList().equals(other.getDeviceIdsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -19142,7 +19889,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + DEVICE_IDS_FIELD_NUMBER;
                 hash = (53 * hash) + getDeviceIdsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -19236,23 +19983,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.DeviceIdList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getDeviceIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (deviceIdsBuilder_ == null) {
                     deviceIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    deviceIds_ = null;
                     deviceIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -19278,15 +20031,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.DeviceIdList buildPartial() {
                 context.ContextOuterClass.DeviceIdList result = new context.ContextOuterClass.DeviceIdList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.DeviceIdList result) {
+                int from_bitField0_ = bitField0_;
                 if (deviceIdsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_);
@@ -19296,10 +20041,38 @@ public final class ContextOuterClass {
                 } else {
                     result.deviceIds_ = deviceIdsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.DeviceIdList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -19339,7 +20112,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -19351,47 +20124,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.DeviceIdList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.DeviceId m = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry);
-                                    if (deviceIdsBuilder_ == null) {
-                                        ensureDeviceIdsIsMutable();
-                                        deviceIds_.add(m);
-                                    } else {
-                                        deviceIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.DeviceIdList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -19661,17 +20404,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public DeviceIdList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new DeviceIdList(input, extensionRegistry);
             }
         };
 
@@ -19742,6 +20475,57 @@ public final class ContextOuterClass {
             return new DeviceList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private DeviceList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    devices_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                devices_.add(input.readMessage(context.ContextOuterClass.Device.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    devices_ = java.util.Collections.unmodifiableList(devices_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_DeviceList_descriptor;
         }
@@ -19753,7 +20537,6 @@ public final class ContextOuterClass {
 
         public static final int DEVICES_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List devices_;
 
         /**
@@ -19814,7 +20597,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < devices_.size(); i++) {
                 output.writeMessage(1, devices_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -19826,7 +20609,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < devices_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, devices_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -19842,7 +20625,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.DeviceList other = (context.ContextOuterClass.DeviceList) obj;
             if (!getDevicesList().equals(other.getDevicesList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -19858,7 +20641,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + DEVICES_FIELD_NUMBER;
                 hash = (53 * hash) + getDevicesList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -19952,23 +20735,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.DeviceList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getDevicesFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (devicesBuilder_ == null) {
                     devices_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    devices_ = null;
                     devicesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -19994,15 +20783,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.DeviceList buildPartial() {
                 context.ContextOuterClass.DeviceList result = new context.ContextOuterClass.DeviceList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.DeviceList result) {
+                int from_bitField0_ = bitField0_;
                 if (devicesBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         devices_ = java.util.Collections.unmodifiableList(devices_);
@@ -20012,10 +20793,38 @@ public final class ContextOuterClass {
                 } else {
                     result.devices_ = devicesBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.DeviceList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -20055,7 +20864,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -20067,47 +20876,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.DeviceList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.Device m = input.readMessage(context.ContextOuterClass.Device.parser(), extensionRegistry);
-                                    if (devicesBuilder_ == null) {
-                                        ensureDevicesIsMutable();
-                                        devices_.add(m);
-                                    } else {
-                                        devicesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.DeviceList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -20377,17 +21156,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public DeviceList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new DeviceList(input, extensionRegistry);
             }
         };
 
@@ -20467,6 +21236,72 @@ public final class ContextOuterClass {
             return new DeviceFilter();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private DeviceFilter(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.DeviceIdList.Builder subBuilder = null;
+                                if (deviceIds_ != null) {
+                                    subBuilder = deviceIds_.toBuilder();
+                                }
+                                deviceIds_ = input.readMessage(context.ContextOuterClass.DeviceIdList.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(deviceIds_);
+                                    deviceIds_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 16:
+                            {
+                                includeEndpoints_ = input.readBool();
+                                break;
+                            }
+                        case 24:
+                            {
+                                includeConfigRules_ = input.readBool();
+                                break;
+                            }
+                        case 32:
+                            {
+                                includeComponents_ = input.readBool();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_DeviceFilter_descriptor;
         }
@@ -20503,12 +21338,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.DeviceIdListOrBuilder getDeviceIdsOrBuilder() {
-            return deviceIds_ == null ? context.ContextOuterClass.DeviceIdList.getDefaultInstance() : deviceIds_;
+            return getDeviceIds();
         }
 
         public static final int INCLUDE_ENDPOINTS_FIELD_NUMBER = 2;
 
-        private boolean includeEndpoints_ = false;
+        private boolean includeEndpoints_;
 
         /**
          * bool include_endpoints = 2;
@@ -20521,7 +21356,7 @@ public final class ContextOuterClass {
 
         public static final int INCLUDE_CONFIG_RULES_FIELD_NUMBER = 3;
 
-        private boolean includeConfigRules_ = false;
+        private boolean includeConfigRules_;
 
         /**
          * bool include_config_rules = 3;
@@ -20534,7 +21369,7 @@ public final class ContextOuterClass {
 
         public static final int INCLUDE_COMPONENTS_FIELD_NUMBER = 4;
 
-        private boolean includeComponents_ = false;
+        private boolean includeComponents_;
 
         /**
          * bool include_components = 4;
@@ -20572,7 +21407,7 @@ public final class ContextOuterClass {
             if (includeComponents_ != false) {
                 output.writeBool(4, includeComponents_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -20593,7 +21428,7 @@ public final class ContextOuterClass {
             if (includeComponents_ != false) {
                 size += com.google.protobuf.CodedOutputStream.computeBoolSize(4, includeComponents_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -20619,7 +21454,7 @@ public final class ContextOuterClass {
                 return false;
             if (getIncludeComponents() != other.getIncludeComponents())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -20641,7 +21476,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIncludeConfigRules());
             hash = (37 * hash) + INCLUDE_COMPONENTS_FIELD_NUMBER;
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIncludeComponents());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -20735,19 +21570,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.DeviceFilter.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                deviceIds_ = null;
-                if (deviceIdsBuilder_ != null) {
-                    deviceIdsBuilder_.dispose();
+                if (deviceIdsBuilder_ == null) {
+                    deviceIds_ = null;
+                } else {
+                    deviceIds_ = null;
                     deviceIdsBuilder_ = null;
                 }
                 includeEndpoints_ = false;
@@ -20778,27 +21620,46 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.DeviceFilter buildPartial() {
                 context.ContextOuterClass.DeviceFilter result = new context.ContextOuterClass.DeviceFilter(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (deviceIdsBuilder_ == null) {
+                    result.deviceIds_ = deviceIds_;
+                } else {
+                    result.deviceIds_ = deviceIdsBuilder_.build();
                 }
+                result.includeEndpoints_ = includeEndpoints_;
+                result.includeConfigRules_ = includeConfigRules_;
+                result.includeComponents_ = includeComponents_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.DeviceFilter result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.deviceIds_ = deviceIdsBuilder_ == null ? deviceIds_ : deviceIdsBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.includeEndpoints_ = includeEndpoints_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.includeConfigRules_ = includeConfigRules_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.includeComponents_ = includeComponents_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -20826,7 +21687,7 @@ public final class ContextOuterClass {
                 if (other.getIncludeComponents() != false) {
                     setIncludeComponents(other.getIncludeComponents());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -20838,68 +21699,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.DeviceFilter parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getDeviceIdsFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 16:
-                                {
-                                    includeEndpoints_ = input.readBool();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            case 24:
-                                {
-                                    includeConfigRules_ = input.readBool();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 32:
-                                {
-                                    includeComponents_ = input.readBool();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 32
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.DeviceFilter) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.DeviceIdList deviceIds_;
 
             private com.google.protobuf.SingleFieldBuilderV3 deviceIdsBuilder_;
@@ -20909,7 +21722,7 @@ public final class ContextOuterClass {
              * @return Whether the deviceIds field is set.
              */
             public boolean hasDeviceIds() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return deviceIdsBuilder_ != null || deviceIds_ != null;
             }
 
             /**
@@ -20933,11 +21746,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     deviceIds_ = value;
+                    onChanged();
                 } else {
                     deviceIdsBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -20947,11 +21759,10 @@ public final class ContextOuterClass {
             public Builder setDeviceIds(context.ContextOuterClass.DeviceIdList.Builder builderForValue) {
                 if (deviceIdsBuilder_ == null) {
                     deviceIds_ = builderForValue.build();
+                    onChanged();
                 } else {
                     deviceIdsBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -20960,16 +21771,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeDeviceIds(context.ContextOuterClass.DeviceIdList value) {
                 if (deviceIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && deviceIds_ != null && deviceIds_ != context.ContextOuterClass.DeviceIdList.getDefaultInstance()) {
-                        getDeviceIdsBuilder().mergeFrom(value);
+                    if (deviceIds_ != null) {
+                        deviceIds_ = context.ContextOuterClass.DeviceIdList.newBuilder(deviceIds_).mergeFrom(value).buildPartial();
                     } else {
                         deviceIds_ = value;
                     }
+                    onChanged();
                 } else {
                     deviceIdsBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -20977,13 +21787,13 @@ public final class ContextOuterClass {
              * .context.DeviceIdList device_ids = 1;
              */
             public Builder clearDeviceIds() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                deviceIds_ = null;
-                if (deviceIdsBuilder_ != null) {
-                    deviceIdsBuilder_.dispose();
+                if (deviceIdsBuilder_ == null) {
+                    deviceIds_ = null;
+                    onChanged();
+                } else {
+                    deviceIds_ = null;
                     deviceIdsBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -20991,7 +21801,6 @@ public final class ContextOuterClass {
              * .context.DeviceIdList device_ids = 1;
              */
             public context.ContextOuterClass.DeviceIdList.Builder getDeviceIdsBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getDeviceIdsFieldBuilder().getBuilder();
             }
@@ -21036,7 +21845,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeEndpoints(boolean value) {
                 includeEndpoints_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -21046,7 +21854,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeEndpoints() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 includeEndpoints_ = false;
                 onChanged();
                 return this;
@@ -21070,7 +21877,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeConfigRules(boolean value) {
                 includeConfigRules_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -21080,7 +21886,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeConfigRules() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 includeConfigRules_ = false;
                 onChanged();
                 return this;
@@ -21104,7 +21909,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeComponents(boolean value) {
                 includeComponents_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -21114,7 +21918,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeComponents() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 includeComponents_ = false;
                 onChanged();
                 return this;
@@ -21147,17 +21950,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public DeviceFilter parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new DeviceFilter(input, extensionRegistry);
             }
         };
 
@@ -21253,6 +22046,83 @@ public final class ContextOuterClass {
             return new DeviceEvent();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private DeviceEvent(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Event.Builder subBuilder = null;
+                                if (event_ != null) {
+                                    subBuilder = event_.toBuilder();
+                                }
+                                event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(event_);
+                                    event_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.DeviceId.Builder subBuilder = null;
+                                if (deviceId_ != null) {
+                                    subBuilder = deviceId_.toBuilder();
+                                }
+                                deviceId_ = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(deviceId_);
+                                    deviceId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 26:
+                            {
+                                context.ContextOuterClass.DeviceConfig.Builder subBuilder = null;
+                                if (deviceConfig_ != null) {
+                                    subBuilder = deviceConfig_.toBuilder();
+                                }
+                                deviceConfig_ = input.readMessage(context.ContextOuterClass.DeviceConfig.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(deviceConfig_);
+                                    deviceConfig_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_DeviceEvent_descriptor;
         }
@@ -21289,7 +22159,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() {
-            return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_;
+            return getEvent();
         }
 
         public static final int DEVICE_ID_FIELD_NUMBER = 2;
@@ -21319,7 +22189,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() {
-            return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_;
+            return getDeviceId();
         }
 
         public static final int DEVICE_CONFIG_FIELD_NUMBER = 3;
@@ -21349,7 +22219,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.DeviceConfigOrBuilder getDeviceConfigOrBuilder() {
-            return deviceConfig_ == null ? context.ContextOuterClass.DeviceConfig.getDefaultInstance() : deviceConfig_;
+            return getDeviceConfig();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -21376,7 +22246,7 @@ public final class ContextOuterClass {
             if (deviceConfig_ != null) {
                 output.writeMessage(3, getDeviceConfig());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -21394,7 +22264,7 @@ public final class ContextOuterClass {
             if (deviceConfig_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getDeviceConfig());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -21426,7 +22296,7 @@ public final class ContextOuterClass {
                 if (!getDeviceConfig().equals(other.getDeviceConfig()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -21450,7 +22320,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + DEVICE_CONFIG_FIELD_NUMBER;
                 hash = (53 * hash) + getDeviceConfig().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -21544,29 +22414,38 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.DeviceEvent.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                deviceId_ = null;
-                if (deviceIdBuilder_ != null) {
-                    deviceIdBuilder_.dispose();
+                if (deviceIdBuilder_ == null) {
+                    deviceId_ = null;
+                } else {
+                    deviceId_ = null;
                     deviceIdBuilder_ = null;
                 }
-                deviceConfig_ = null;
-                if (deviceConfigBuilder_ != null) {
-                    deviceConfigBuilder_.dispose();
+                if (deviceConfigBuilder_ == null) {
+                    deviceConfig_ = null;
+                } else {
+                    deviceConfig_ = null;
                     deviceConfigBuilder_ = null;
                 }
                 return this;
@@ -21594,24 +22473,53 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.DeviceEvent buildPartial() {
                 context.ContextOuterClass.DeviceEvent result = new context.ContextOuterClass.DeviceEvent(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (eventBuilder_ == null) {
+                    result.event_ = event_;
+                } else {
+                    result.event_ = eventBuilder_.build();
+                }
+                if (deviceIdBuilder_ == null) {
+                    result.deviceId_ = deviceId_;
+                } else {
+                    result.deviceId_ = deviceIdBuilder_.build();
+                }
+                if (deviceConfigBuilder_ == null) {
+                    result.deviceConfig_ = deviceConfig_;
+                } else {
+                    result.deviceConfig_ = deviceConfigBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.DeviceEvent result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.event_ = eventBuilder_ == null ? event_ : eventBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.deviceId_ = deviceIdBuilder_ == null ? deviceId_ : deviceIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.deviceConfig_ = deviceConfigBuilder_ == null ? deviceConfig_ : deviceConfigBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -21636,7 +22544,7 @@ public final class ContextOuterClass {
                 if (other.hasDeviceConfig()) {
                     mergeDeviceConfig(other.getDeviceConfig());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -21648,61 +22556,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.DeviceEvent parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEventFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getDeviceIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    input.readMessage(getDeviceConfigFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.DeviceEvent) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Event event_;
 
             private com.google.protobuf.SingleFieldBuilderV3 eventBuilder_;
@@ -21712,7 +22579,7 @@ public final class ContextOuterClass {
              * @return Whether the event field is set.
              */
             public boolean hasEvent() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return eventBuilder_ != null || event_ != null;
             }
 
             /**
@@ -21736,11 +22603,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     event_ = value;
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -21750,11 +22616,10 @@ public final class ContextOuterClass {
             public Builder setEvent(context.ContextOuterClass.Event.Builder builderForValue) {
                 if (eventBuilder_ == null) {
                     event_ = builderForValue.build();
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -21763,16 +22628,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEvent(context.ContextOuterClass.Event value) {
                 if (eventBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && event_ != null && event_ != context.ContextOuterClass.Event.getDefaultInstance()) {
-                        getEventBuilder().mergeFrom(value);
+                    if (event_ != null) {
+                        event_ = context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial();
                     } else {
                         event_ = value;
                     }
+                    onChanged();
                 } else {
                     eventBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -21780,13 +22644,13 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public Builder clearEvent() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                    onChanged();
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -21794,7 +22658,6 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public context.ContextOuterClass.Event.Builder getEventBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEventFieldBuilder().getBuilder();
             }
@@ -21830,7 +22693,7 @@ public final class ContextOuterClass {
              * @return Whether the deviceId field is set.
              */
             public boolean hasDeviceId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return deviceIdBuilder_ != null || deviceId_ != null;
             }
 
             /**
@@ -21854,11 +22717,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     deviceId_ = value;
+                    onChanged();
                 } else {
                     deviceIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -21868,11 +22730,10 @@ public final class ContextOuterClass {
             public Builder setDeviceId(context.ContextOuterClass.DeviceId.Builder builderForValue) {
                 if (deviceIdBuilder_ == null) {
                     deviceId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     deviceIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -21881,16 +22742,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeDeviceId(context.ContextOuterClass.DeviceId value) {
                 if (deviceIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && deviceId_ != null && deviceId_ != context.ContextOuterClass.DeviceId.getDefaultInstance()) {
-                        getDeviceIdBuilder().mergeFrom(value);
+                    if (deviceId_ != null) {
+                        deviceId_ = context.ContextOuterClass.DeviceId.newBuilder(deviceId_).mergeFrom(value).buildPartial();
                     } else {
                         deviceId_ = value;
                     }
+                    onChanged();
                 } else {
                     deviceIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -21898,13 +22758,13 @@ public final class ContextOuterClass {
              * .context.DeviceId device_id = 2;
              */
             public Builder clearDeviceId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                deviceId_ = null;
-                if (deviceIdBuilder_ != null) {
-                    deviceIdBuilder_.dispose();
+                if (deviceIdBuilder_ == null) {
+                    deviceId_ = null;
+                    onChanged();
+                } else {
+                    deviceId_ = null;
                     deviceIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -21912,7 +22772,6 @@ public final class ContextOuterClass {
              * .context.DeviceId device_id = 2;
              */
             public context.ContextOuterClass.DeviceId.Builder getDeviceIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getDeviceIdFieldBuilder().getBuilder();
             }
@@ -21948,7 +22807,7 @@ public final class ContextOuterClass {
              * @return Whether the deviceConfig field is set.
              */
             public boolean hasDeviceConfig() {
-                return ((bitField0_ & 0x00000004) != 0);
+                return deviceConfigBuilder_ != null || deviceConfig_ != null;
             }
 
             /**
@@ -21972,11 +22831,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     deviceConfig_ = value;
+                    onChanged();
                 } else {
                     deviceConfigBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -21986,11 +22844,10 @@ public final class ContextOuterClass {
             public Builder setDeviceConfig(context.ContextOuterClass.DeviceConfig.Builder builderForValue) {
                 if (deviceConfigBuilder_ == null) {
                     deviceConfig_ = builderForValue.build();
+                    onChanged();
                 } else {
                     deviceConfigBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -21999,16 +22856,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeDeviceConfig(context.ContextOuterClass.DeviceConfig value) {
                 if (deviceConfigBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0) && deviceConfig_ != null && deviceConfig_ != context.ContextOuterClass.DeviceConfig.getDefaultInstance()) {
-                        getDeviceConfigBuilder().mergeFrom(value);
+                    if (deviceConfig_ != null) {
+                        deviceConfig_ = context.ContextOuterClass.DeviceConfig.newBuilder(deviceConfig_).mergeFrom(value).buildPartial();
                     } else {
                         deviceConfig_ = value;
                     }
+                    onChanged();
                 } else {
                     deviceConfigBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -22016,13 +22872,13 @@ public final class ContextOuterClass {
              * .context.DeviceConfig device_config = 3;
              */
             public Builder clearDeviceConfig() {
-                bitField0_ = (bitField0_ & ~0x00000004);
-                deviceConfig_ = null;
-                if (deviceConfigBuilder_ != null) {
-                    deviceConfigBuilder_.dispose();
+                if (deviceConfigBuilder_ == null) {
+                    deviceConfig_ = null;
+                    onChanged();
+                } else {
+                    deviceConfig_ = null;
                     deviceConfigBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -22030,7 +22886,6 @@ public final class ContextOuterClass {
              * .context.DeviceConfig device_config = 3;
              */
             public context.ContextOuterClass.DeviceConfig.Builder getDeviceConfigBuilder() {
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return getDeviceConfigFieldBuilder().getBuilder();
             }
@@ -22084,17 +22939,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public DeviceEvent parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new DeviceEvent(input, extensionRegistry);
             }
         };
 
@@ -22160,6 +23005,57 @@ public final class ContextOuterClass {
             return new LinkId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private LinkId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (linkUuid_ != null) {
+                                    subBuilder = linkUuid_.toBuilder();
+                                }
+                                linkUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(linkUuid_);
+                                    linkUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_LinkId_descriptor;
         }
@@ -22196,7 +23092,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getLinkUuidOrBuilder() {
-            return linkUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : linkUuid_;
+            return getLinkUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -22217,7 +23113,7 @@ public final class ContextOuterClass {
             if (linkUuid_ != null) {
                 output.writeMessage(1, getLinkUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -22229,7 +23125,7 @@ public final class ContextOuterClass {
             if (linkUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getLinkUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -22249,7 +23145,7 @@ public final class ContextOuterClass {
                 if (!getLinkUuid().equals(other.getLinkUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -22265,7 +23161,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + LINK_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getLinkUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -22363,19 +23259,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.LinkId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                linkUuid_ = null;
-                if (linkUuidBuilder_ != null) {
-                    linkUuidBuilder_.dispose();
+                if (linkUuidBuilder_ == null) {
+                    linkUuid_ = null;
+                } else {
+                    linkUuid_ = null;
                     linkUuidBuilder_ = null;
                 }
                 return this;
@@ -22403,18 +23306,43 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.LinkId buildPartial() {
                 context.ContextOuterClass.LinkId result = new context.ContextOuterClass.LinkId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (linkUuidBuilder_ == null) {
+                    result.linkUuid_ = linkUuid_;
+                } else {
+                    result.linkUuid_ = linkUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.LinkId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.linkUuid_ = linkUuidBuilder_ == null ? linkUuid_ : linkUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -22433,7 +23361,7 @@ public final class ContextOuterClass {
                 if (other.hasLinkUuid()) {
                     mergeLinkUuid(other.getLinkUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -22445,47 +23373,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.LinkId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getLinkUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.LinkId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid linkUuid_;
 
             private com.google.protobuf.SingleFieldBuilderV3 linkUuidBuilder_;
@@ -22495,7 +23396,7 @@ public final class ContextOuterClass {
              * @return Whether the linkUuid field is set.
              */
             public boolean hasLinkUuid() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return linkUuidBuilder_ != null || linkUuid_ != null;
             }
 
             /**
@@ -22519,11 +23420,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     linkUuid_ = value;
+                    onChanged();
                 } else {
                     linkUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -22533,11 +23433,10 @@ public final class ContextOuterClass {
             public Builder setLinkUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (linkUuidBuilder_ == null) {
                     linkUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     linkUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -22546,16 +23445,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeLinkUuid(context.ContextOuterClass.Uuid value) {
                 if (linkUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && linkUuid_ != null && linkUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getLinkUuidBuilder().mergeFrom(value);
+                    if (linkUuid_ != null) {
+                        linkUuid_ = context.ContextOuterClass.Uuid.newBuilder(linkUuid_).mergeFrom(value).buildPartial();
                     } else {
                         linkUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     linkUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -22563,13 +23461,13 @@ public final class ContextOuterClass {
              * .context.Uuid link_uuid = 1;
              */
             public Builder clearLinkUuid() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                linkUuid_ = null;
-                if (linkUuidBuilder_ != null) {
-                    linkUuidBuilder_.dispose();
+                if (linkUuidBuilder_ == null) {
+                    linkUuid_ = null;
+                    onChanged();
+                } else {
+                    linkUuid_ = null;
                     linkUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -22577,7 +23475,6 @@ public final class ContextOuterClass {
              * .context.Uuid link_uuid = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getLinkUuidBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getLinkUuidFieldBuilder().getBuilder();
             }
@@ -22631,17 +23528,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public LinkId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new LinkId(input, extensionRegistry);
             }
         };
 
@@ -22698,6 +23585,54 @@ public final class ContextOuterClass {
             return new LinkAttributes();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private LinkAttributes(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 13:
+                            {
+                                totalCapacityGbps_ = input.readFloat();
+                                break;
+                            }
+                        case 21:
+                            {
+                                usedCapacityGbps_ = input.readFloat();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_LinkAttributes_descriptor;
         }
@@ -22709,7 +23644,7 @@ public final class ContextOuterClass {
 
         public static final int TOTAL_CAPACITY_GBPS_FIELD_NUMBER = 1;
 
-        private float totalCapacityGbps_ = 0F;
+        private float totalCapacityGbps_;
 
         /**
          * float total_capacity_gbps = 1;
@@ -22722,7 +23657,7 @@ public final class ContextOuterClass {
 
         public static final int USED_CAPACITY_GBPS_FIELD_NUMBER = 2;
 
-        private float usedCapacityGbps_ = 0F;
+        private float usedCapacityGbps_;
 
         /**
          * float used_capacity_gbps = 2;
@@ -22748,13 +23683,13 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (java.lang.Float.floatToRawIntBits(totalCapacityGbps_) != 0) {
+            if (totalCapacityGbps_ != 0F) {
                 output.writeFloat(1, totalCapacityGbps_);
             }
-            if (java.lang.Float.floatToRawIntBits(usedCapacityGbps_) != 0) {
+            if (usedCapacityGbps_ != 0F) {
                 output.writeFloat(2, usedCapacityGbps_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -22763,13 +23698,13 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (java.lang.Float.floatToRawIntBits(totalCapacityGbps_) != 0) {
+            if (totalCapacityGbps_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(1, totalCapacityGbps_);
             }
-            if (java.lang.Float.floatToRawIntBits(usedCapacityGbps_) != 0) {
+            if (usedCapacityGbps_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(2, usedCapacityGbps_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -22787,7 +23722,7 @@ public final class ContextOuterClass {
                 return false;
             if (java.lang.Float.floatToIntBits(getUsedCapacityGbps()) != java.lang.Float.floatToIntBits(other.getUsedCapacityGbps()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -22803,7 +23738,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getTotalCapacityGbps());
             hash = (37 * hash) + USED_CAPACITY_GBPS_FIELD_NUMBER;
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getUsedCapacityGbps());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -22897,16 +23832,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.LinkAttributes.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 totalCapacityGbps_ = 0F;
                 usedCapacityGbps_ = 0F;
                 return this;
@@ -22934,21 +23875,40 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.LinkAttributes buildPartial() {
                 context.ContextOuterClass.LinkAttributes result = new context.ContextOuterClass.LinkAttributes(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.totalCapacityGbps_ = totalCapacityGbps_;
+                result.usedCapacityGbps_ = usedCapacityGbps_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.LinkAttributes result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.totalCapacityGbps_ = totalCapacityGbps_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.usedCapacityGbps_ = usedCapacityGbps_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -22970,7 +23930,7 @@ public final class ContextOuterClass {
                 if (other.getUsedCapacityGbps() != 0F) {
                     setUsedCapacityGbps(other.getUsedCapacityGbps());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -22982,54 +23942,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.LinkAttributes parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 13:
-                                {
-                                    totalCapacityGbps_ = input.readFloat();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 13
-                            case 21:
-                                {
-                                    usedCapacityGbps_ = input.readFloat();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 21
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.LinkAttributes) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private float totalCapacityGbps_;
 
             /**
@@ -23048,7 +23974,6 @@ public final class ContextOuterClass {
              */
             public Builder setTotalCapacityGbps(float value) {
                 totalCapacityGbps_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -23058,7 +23983,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearTotalCapacityGbps() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 totalCapacityGbps_ = 0F;
                 onChanged();
                 return this;
@@ -23082,7 +24006,6 @@ public final class ContextOuterClass {
              */
             public Builder setUsedCapacityGbps(float value) {
                 usedCapacityGbps_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -23092,7 +24015,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearUsedCapacityGbps() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 usedCapacityGbps_ = 0F;
                 onChanged();
                 return this;
@@ -23125,17 +24047,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public LinkAttributes parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new LinkAttributes(input, extensionRegistry);
             }
         };
 
@@ -23253,6 +24165,89 @@ public final class ContextOuterClass {
             return new Link();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Link(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.LinkId.Builder subBuilder = null;
+                                if (linkId_ != null) {
+                                    subBuilder = linkId_.toBuilder();
+                                }
+                                linkId_ = input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(linkId_);
+                                    linkId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    linkEndpointIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                linkEndpointIds_.add(input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 34:
+                            {
+                                context.ContextOuterClass.LinkAttributes.Builder subBuilder = null;
+                                if (attributes_ != null) {
+                                    subBuilder = attributes_.toBuilder();
+                                }
+                                attributes_ = input.readMessage(context.ContextOuterClass.LinkAttributes.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(attributes_);
+                                    attributes_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    linkEndpointIds_ = java.util.Collections.unmodifiableList(linkEndpointIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Link_descriptor;
         }
@@ -23289,13 +24284,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder() {
-            return linkId_ == null ? context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_;
+            return getLinkId();
         }
 
         public static final int NAME_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 2;
@@ -23332,7 +24326,6 @@ public final class ContextOuterClass {
 
         public static final int LINK_ENDPOINT_IDS_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
         private java.util.List linkEndpointIds_;
 
         /**
@@ -23402,7 +24395,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.LinkAttributesOrBuilder getAttributesOrBuilder() {
-            return attributes_ == null ? context.ContextOuterClass.LinkAttributes.getDefaultInstance() : attributes_;
+            return getAttributes();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -23423,7 +24416,7 @@ public final class ContextOuterClass {
             if (linkId_ != null) {
                 output.writeMessage(1, getLinkId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
             }
             for (int i = 0; i < linkEndpointIds_.size(); i++) {
@@ -23432,7 +24425,7 @@ public final class ContextOuterClass {
             if (attributes_ != null) {
                 output.writeMessage(4, getAttributes());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -23444,7 +24437,7 @@ public final class ContextOuterClass {
             if (linkId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getLinkId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
             }
             for (int i = 0; i < linkEndpointIds_.size(); i++) {
@@ -23453,7 +24446,7 @@ public final class ContextOuterClass {
             if (attributes_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getAttributes());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -23483,7 +24476,7 @@ public final class ContextOuterClass {
                 if (!getAttributes().equals(other.getAttributes()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -23509,7 +24502,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + ATTRIBUTES_FIELD_NUMBER;
                 hash = (53 * hash) + getAttributes().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -23603,32 +24596,40 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Link.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getLinkEndpointIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                linkId_ = null;
-                if (linkIdBuilder_ != null) {
-                    linkIdBuilder_.dispose();
+                if (linkIdBuilder_ == null) {
+                    linkId_ = null;
+                } else {
+                    linkId_ = null;
                     linkIdBuilder_ = null;
                 }
                 name_ = "";
                 if (linkEndpointIdsBuilder_ == null) {
                     linkEndpointIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    linkEndpointIds_ = null;
                     linkEndpointIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000004);
-                attributes_ = null;
-                if (attributesBuilder_ != null) {
-                    attributesBuilder_.dispose();
+                if (attributesBuilder_ == null) {
+                    attributes_ = null;
+                } else {
+                    attributes_ = null;
                     attributesBuilder_ = null;
                 }
                 return this;
@@ -23656,37 +24657,59 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Link buildPartial() {
                 context.ContextOuterClass.Link result = new context.ContextOuterClass.Link(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (linkIdBuilder_ == null) {
+                    result.linkId_ = linkId_;
+                } else {
+                    result.linkId_ = linkIdBuilder_.build();
                 }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.Link result) {
+                result.name_ = name_;
                 if (linkEndpointIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         linkEndpointIds_ = java.util.Collections.unmodifiableList(linkEndpointIds_);
-                        bitField0_ = (bitField0_ & ~0x00000004);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.linkEndpointIds_ = linkEndpointIds_;
                 } else {
                     result.linkEndpointIds_ = linkEndpointIdsBuilder_.build();
                 }
+                if (attributesBuilder_ == null) {
+                    result.attributes_ = attributes_;
+                } else {
+                    result.attributes_ = attributesBuilder_.build();
+                }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Link result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.linkId_ = linkIdBuilder_ == null ? linkId_ : linkIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.name_ = name_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.attributes_ = attributesBuilder_ == null ? attributes_ : attributesBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -23707,14 +24730,13 @@ public final class ContextOuterClass {
                 }
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (linkEndpointIdsBuilder_ == null) {
                     if (!other.linkEndpointIds_.isEmpty()) {
                         if (linkEndpointIds_.isEmpty()) {
                             linkEndpointIds_ = other.linkEndpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureLinkEndpointIdsIsMutable();
                             linkEndpointIds_.addAll(other.linkEndpointIds_);
@@ -23727,7 +24749,7 @@ public final class ContextOuterClass {
                             linkEndpointIdsBuilder_.dispose();
                             linkEndpointIdsBuilder_ = null;
                             linkEndpointIds_ = other.linkEndpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             linkEndpointIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getLinkEndpointIdsFieldBuilder() : null;
                         } else {
                             linkEndpointIdsBuilder_.addAllMessages(other.linkEndpointIds_);
@@ -23737,7 +24759,7 @@ public final class ContextOuterClass {
                 if (other.hasAttributes()) {
                     mergeAttributes(other.getAttributes());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -23749,68 +24771,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Link parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getLinkIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    context.ContextOuterClass.EndPointId m = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
-                                    if (linkEndpointIdsBuilder_ == null) {
-                                        ensureLinkEndpointIdsIsMutable();
-                                        linkEndpointIds_.add(m);
-                                    } else {
-                                        linkEndpointIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    input.readMessage(getAttributesFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 34
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Link) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -23825,7 +24796,7 @@ public final class ContextOuterClass {
              * @return Whether the linkId field is set.
              */
             public boolean hasLinkId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return linkIdBuilder_ != null || linkId_ != null;
             }
 
             /**
@@ -23849,11 +24820,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     linkId_ = value;
+                    onChanged();
                 } else {
                     linkIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -23863,11 +24833,10 @@ public final class ContextOuterClass {
             public Builder setLinkId(context.ContextOuterClass.LinkId.Builder builderForValue) {
                 if (linkIdBuilder_ == null) {
                     linkId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     linkIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -23876,16 +24845,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeLinkId(context.ContextOuterClass.LinkId value) {
                 if (linkIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && linkId_ != null && linkId_ != context.ContextOuterClass.LinkId.getDefaultInstance()) {
-                        getLinkIdBuilder().mergeFrom(value);
+                    if (linkId_ != null) {
+                        linkId_ = context.ContextOuterClass.LinkId.newBuilder(linkId_).mergeFrom(value).buildPartial();
                     } else {
                         linkId_ = value;
                     }
+                    onChanged();
                 } else {
                     linkIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -23893,13 +24861,13 @@ public final class ContextOuterClass {
              * .context.LinkId link_id = 1;
              */
             public Builder clearLinkId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                linkId_ = null;
-                if (linkIdBuilder_ != null) {
-                    linkIdBuilder_.dispose();
+                if (linkIdBuilder_ == null) {
+                    linkId_ = null;
+                    onChanged();
+                } else {
+                    linkId_ = null;
                     linkIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -23907,7 +24875,6 @@ public final class ContextOuterClass {
              * .context.LinkId link_id = 1;
              */
             public context.ContextOuterClass.LinkId.Builder getLinkIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getLinkIdFieldBuilder().getBuilder();
             }
@@ -23977,7 +24944,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -23988,7 +24954,6 @@ public final class ContextOuterClass {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -24004,7 +24969,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -24012,9 +24976,9 @@ public final class ContextOuterClass {
             private java.util.List linkEndpointIds_ = java.util.Collections.emptyList();
 
             private void ensureLinkEndpointIdsIsMutable() {
-                if (!((bitField0_ & 0x00000004) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     linkEndpointIds_ = new java.util.ArrayList(linkEndpointIds_);
-                    bitField0_ |= 0x00000004;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -24166,7 +25130,7 @@ public final class ContextOuterClass {
             public Builder clearLinkEndpointIds() {
                 if (linkEndpointIdsBuilder_ == null) {
                     linkEndpointIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000004);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     linkEndpointIdsBuilder_.clear();
@@ -24240,7 +25204,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getLinkEndpointIdsFieldBuilder() {
                 if (linkEndpointIdsBuilder_ == null) {
-                    linkEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(linkEndpointIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
+                    linkEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(linkEndpointIds_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     linkEndpointIds_ = null;
                 }
                 return linkEndpointIdsBuilder_;
@@ -24255,7 +25219,7 @@ public final class ContextOuterClass {
              * @return Whether the attributes field is set.
              */
             public boolean hasAttributes() {
-                return ((bitField0_ & 0x00000008) != 0);
+                return attributesBuilder_ != null || attributes_ != null;
             }
 
             /**
@@ -24279,11 +25243,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     attributes_ = value;
+                    onChanged();
                 } else {
                     attributesBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -24293,11 +25256,10 @@ public final class ContextOuterClass {
             public Builder setAttributes(context.ContextOuterClass.LinkAttributes.Builder builderForValue) {
                 if (attributesBuilder_ == null) {
                     attributes_ = builderForValue.build();
+                    onChanged();
                 } else {
                     attributesBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -24306,16 +25268,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeAttributes(context.ContextOuterClass.LinkAttributes value) {
                 if (attributesBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0) && attributes_ != null && attributes_ != context.ContextOuterClass.LinkAttributes.getDefaultInstance()) {
-                        getAttributesBuilder().mergeFrom(value);
+                    if (attributes_ != null) {
+                        attributes_ = context.ContextOuterClass.LinkAttributes.newBuilder(attributes_).mergeFrom(value).buildPartial();
                     } else {
                         attributes_ = value;
                     }
+                    onChanged();
                 } else {
                     attributesBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -24323,13 +25284,13 @@ public final class ContextOuterClass {
              * .context.LinkAttributes attributes = 4;
              */
             public Builder clearAttributes() {
-                bitField0_ = (bitField0_ & ~0x00000008);
-                attributes_ = null;
-                if (attributesBuilder_ != null) {
-                    attributesBuilder_.dispose();
+                if (attributesBuilder_ == null) {
+                    attributes_ = null;
+                    onChanged();
+                } else {
+                    attributes_ = null;
                     attributesBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -24337,7 +25298,6 @@ public final class ContextOuterClass {
              * .context.LinkAttributes attributes = 4;
              */
             public context.ContextOuterClass.LinkAttributes.Builder getAttributesBuilder() {
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return getAttributesFieldBuilder().getBuilder();
             }
@@ -24391,17 +25351,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Link parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Link(input, extensionRegistry);
             }
         };
 
@@ -24472,6 +25422,57 @@ public final class ContextOuterClass {
             return new LinkIdList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private LinkIdList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    linkIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                linkIds_.add(input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    linkIds_ = java.util.Collections.unmodifiableList(linkIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_LinkIdList_descriptor;
         }
@@ -24483,7 +25484,6 @@ public final class ContextOuterClass {
 
         public static final int LINK_IDS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List linkIds_;
 
         /**
@@ -24544,7 +25544,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < linkIds_.size(); i++) {
                 output.writeMessage(1, linkIds_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -24556,7 +25556,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < linkIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, linkIds_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -24572,7 +25572,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.LinkIdList other = (context.ContextOuterClass.LinkIdList) obj;
             if (!getLinkIdsList().equals(other.getLinkIdsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -24588,7 +25588,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + LINK_IDS_FIELD_NUMBER;
                 hash = (53 * hash) + getLinkIdsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -24682,23 +25682,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.LinkIdList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getLinkIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (linkIdsBuilder_ == null) {
                     linkIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    linkIds_ = null;
                     linkIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -24724,15 +25730,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.LinkIdList buildPartial() {
                 context.ContextOuterClass.LinkIdList result = new context.ContextOuterClass.LinkIdList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.LinkIdList result) {
+                int from_bitField0_ = bitField0_;
                 if (linkIdsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         linkIds_ = java.util.Collections.unmodifiableList(linkIds_);
@@ -24742,10 +25740,38 @@ public final class ContextOuterClass {
                 } else {
                     result.linkIds_ = linkIdsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.LinkIdList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -24785,7 +25811,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -24797,47 +25823,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.LinkIdList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.LinkId m = input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry);
-                                    if (linkIdsBuilder_ == null) {
-                                        ensureLinkIdsIsMutable();
-                                        linkIds_.add(m);
-                                    } else {
-                                        linkIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.LinkIdList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -25107,17 +26103,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public LinkIdList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new LinkIdList(input, extensionRegistry);
             }
         };
 
@@ -25188,6 +26174,57 @@ public final class ContextOuterClass {
             return new LinkList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private LinkList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    links_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                links_.add(input.readMessage(context.ContextOuterClass.Link.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    links_ = java.util.Collections.unmodifiableList(links_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_LinkList_descriptor;
         }
@@ -25199,7 +26236,6 @@ public final class ContextOuterClass {
 
         public static final int LINKS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List links_;
 
         /**
@@ -25260,7 +26296,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < links_.size(); i++) {
                 output.writeMessage(1, links_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -25272,7 +26308,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < links_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, links_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -25288,7 +26324,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.LinkList other = (context.ContextOuterClass.LinkList) obj;
             if (!getLinksList().equals(other.getLinksList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -25304,7 +26340,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + LINKS_FIELD_NUMBER;
                 hash = (53 * hash) + getLinksList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -25398,23 +26434,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.LinkList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getLinksFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (linksBuilder_ == null) {
                     links_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    links_ = null;
                     linksBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -25440,15 +26482,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.LinkList buildPartial() {
                 context.ContextOuterClass.LinkList result = new context.ContextOuterClass.LinkList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.LinkList result) {
+                int from_bitField0_ = bitField0_;
                 if (linksBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         links_ = java.util.Collections.unmodifiableList(links_);
@@ -25458,10 +26492,38 @@ public final class ContextOuterClass {
                 } else {
                     result.links_ = linksBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.LinkList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -25501,7 +26563,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -25513,47 +26575,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.LinkList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.Link m = input.readMessage(context.ContextOuterClass.Link.parser(), extensionRegistry);
-                                    if (linksBuilder_ == null) {
-                                        ensureLinksIsMutable();
-                                        links_.add(m);
-                                    } else {
-                                        linksBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.LinkList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -25823,17 +26855,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public LinkList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new LinkList(input, extensionRegistry);
             }
         };
 
@@ -25912,6 +26934,70 @@ public final class ContextOuterClass {
             return new LinkEvent();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private LinkEvent(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Event.Builder subBuilder = null;
+                                if (event_ != null) {
+                                    subBuilder = event_.toBuilder();
+                                }
+                                event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(event_);
+                                    event_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.LinkId.Builder subBuilder = null;
+                                if (linkId_ != null) {
+                                    subBuilder = linkId_.toBuilder();
+                                }
+                                linkId_ = input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(linkId_);
+                                    linkId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_LinkEvent_descriptor;
         }
@@ -25948,7 +27034,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() {
-            return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_;
+            return getEvent();
         }
 
         public static final int LINK_ID_FIELD_NUMBER = 2;
@@ -25978,7 +27064,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder() {
-            return linkId_ == null ? context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_;
+            return getLinkId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -26002,7 +27088,7 @@ public final class ContextOuterClass {
             if (linkId_ != null) {
                 output.writeMessage(2, getLinkId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -26017,7 +27103,7 @@ public final class ContextOuterClass {
             if (linkId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getLinkId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -26043,7 +27129,7 @@ public final class ContextOuterClass {
                 if (!getLinkId().equals(other.getLinkId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -26063,7 +27149,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + LINK_ID_FIELD_NUMBER;
                 hash = (53 * hash) + getLinkId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -26157,24 +27243,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.LinkEvent.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                linkId_ = null;
-                if (linkIdBuilder_ != null) {
-                    linkIdBuilder_.dispose();
+                if (linkIdBuilder_ == null) {
+                    linkId_ = null;
+                } else {
+                    linkId_ = null;
                     linkIdBuilder_ = null;
                 }
                 return this;
@@ -26202,21 +27296,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.LinkEvent buildPartial() {
                 context.ContextOuterClass.LinkEvent result = new context.ContextOuterClass.LinkEvent(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (eventBuilder_ == null) {
+                    result.event_ = event_;
+                } else {
+                    result.event_ = eventBuilder_.build();
+                }
+                if (linkIdBuilder_ == null) {
+                    result.linkId_ = linkId_;
+                } else {
+                    result.linkId_ = linkIdBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.LinkEvent result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.event_ = eventBuilder_ == null ? event_ : eventBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.linkId_ = linkIdBuilder_ == null ? linkId_ : linkIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -26238,7 +27359,7 @@ public final class ContextOuterClass {
                 if (other.hasLinkId()) {
                     mergeLinkId(other.getLinkId());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -26250,54 +27371,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.LinkEvent parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEventFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getLinkIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.LinkEvent) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Event event_;
 
             private com.google.protobuf.SingleFieldBuilderV3 eventBuilder_;
@@ -26307,7 +27394,7 @@ public final class ContextOuterClass {
              * @return Whether the event field is set.
              */
             public boolean hasEvent() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return eventBuilder_ != null || event_ != null;
             }
 
             /**
@@ -26331,11 +27418,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     event_ = value;
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -26345,11 +27431,10 @@ public final class ContextOuterClass {
             public Builder setEvent(context.ContextOuterClass.Event.Builder builderForValue) {
                 if (eventBuilder_ == null) {
                     event_ = builderForValue.build();
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -26358,16 +27443,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEvent(context.ContextOuterClass.Event value) {
                 if (eventBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && event_ != null && event_ != context.ContextOuterClass.Event.getDefaultInstance()) {
-                        getEventBuilder().mergeFrom(value);
+                    if (event_ != null) {
+                        event_ = context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial();
                     } else {
                         event_ = value;
                     }
+                    onChanged();
                 } else {
                     eventBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -26375,13 +27459,13 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public Builder clearEvent() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                    onChanged();
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -26389,7 +27473,6 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public context.ContextOuterClass.Event.Builder getEventBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEventFieldBuilder().getBuilder();
             }
@@ -26425,7 +27508,7 @@ public final class ContextOuterClass {
              * @return Whether the linkId field is set.
              */
             public boolean hasLinkId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return linkIdBuilder_ != null || linkId_ != null;
             }
 
             /**
@@ -26449,11 +27532,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     linkId_ = value;
+                    onChanged();
                 } else {
                     linkIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -26463,11 +27545,10 @@ public final class ContextOuterClass {
             public Builder setLinkId(context.ContextOuterClass.LinkId.Builder builderForValue) {
                 if (linkIdBuilder_ == null) {
                     linkId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     linkIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -26476,16 +27557,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeLinkId(context.ContextOuterClass.LinkId value) {
                 if (linkIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && linkId_ != null && linkId_ != context.ContextOuterClass.LinkId.getDefaultInstance()) {
-                        getLinkIdBuilder().mergeFrom(value);
+                    if (linkId_ != null) {
+                        linkId_ = context.ContextOuterClass.LinkId.newBuilder(linkId_).mergeFrom(value).buildPartial();
                     } else {
                         linkId_ = value;
                     }
+                    onChanged();
                 } else {
                     linkIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -26493,13 +27573,13 @@ public final class ContextOuterClass {
              * .context.LinkId link_id = 2;
              */
             public Builder clearLinkId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                linkId_ = null;
-                if (linkIdBuilder_ != null) {
-                    linkIdBuilder_.dispose();
+                if (linkIdBuilder_ == null) {
+                    linkId_ = null;
+                    onChanged();
+                } else {
+                    linkId_ = null;
                     linkIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -26507,7 +27587,6 @@ public final class ContextOuterClass {
              * .context.LinkId link_id = 2;
              */
             public context.ContextOuterClass.LinkId.Builder getLinkIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getLinkIdFieldBuilder().getBuilder();
             }
@@ -26561,17 +27640,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public LinkEvent parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new LinkEvent(input, extensionRegistry);
             }
         };
 
@@ -26654,6 +27723,70 @@ public final class ContextOuterClass {
             return new ServiceId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ServiceId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ContextId.Builder subBuilder = null;
+                                if (contextId_ != null) {
+                                    subBuilder = contextId_.toBuilder();
+                                }
+                                contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(contextId_);
+                                    contextId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (serviceUuid_ != null) {
+                                    subBuilder = serviceUuid_.toBuilder();
+                                }
+                                serviceUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(serviceUuid_);
+                                    serviceUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ServiceId_descriptor;
         }
@@ -26690,7 +27823,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() {
-            return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_;
+            return getContextId();
         }
 
         public static final int SERVICE_UUID_FIELD_NUMBER = 2;
@@ -26720,7 +27853,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getServiceUuidOrBuilder() {
-            return serviceUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : serviceUuid_;
+            return getServiceUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -26744,7 +27877,7 @@ public final class ContextOuterClass {
             if (serviceUuid_ != null) {
                 output.writeMessage(2, getServiceUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -26759,7 +27892,7 @@ public final class ContextOuterClass {
             if (serviceUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getServiceUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -26785,7 +27918,7 @@ public final class ContextOuterClass {
                 if (!getServiceUuid().equals(other.getServiceUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -26805,7 +27938,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SERVICE_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getServiceUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -26903,24 +28036,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ServiceId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
-                serviceUuid_ = null;
-                if (serviceUuidBuilder_ != null) {
-                    serviceUuidBuilder_.dispose();
+                if (serviceUuidBuilder_ == null) {
+                    serviceUuid_ = null;
+                } else {
+                    serviceUuid_ = null;
                     serviceUuidBuilder_ = null;
                 }
                 return this;
@@ -26948,21 +28089,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ServiceId buildPartial() {
                 context.ContextOuterClass.ServiceId result = new context.ContextOuterClass.ServiceId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (contextIdBuilder_ == null) {
+                    result.contextId_ = contextId_;
+                } else {
+                    result.contextId_ = contextIdBuilder_.build();
+                }
+                if (serviceUuidBuilder_ == null) {
+                    result.serviceUuid_ = serviceUuid_;
+                } else {
+                    result.serviceUuid_ = serviceUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ServiceId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.contextId_ = contextIdBuilder_ == null ? contextId_ : contextIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.serviceUuid_ = serviceUuidBuilder_ == null ? serviceUuid_ : serviceUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -26984,7 +28152,7 @@ public final class ContextOuterClass {
                 if (other.hasServiceUuid()) {
                     mergeServiceUuid(other.getServiceUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -26996,54 +28164,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ServiceId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getContextIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getServiceUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ServiceId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.ContextId contextId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 contextIdBuilder_;
@@ -27053,7 +28187,7 @@ public final class ContextOuterClass {
              * @return Whether the contextId field is set.
              */
             public boolean hasContextId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return contextIdBuilder_ != null || contextId_ != null;
             }
 
             /**
@@ -27077,11 +28211,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     contextId_ = value;
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -27091,11 +28224,10 @@ public final class ContextOuterClass {
             public Builder setContextId(context.ContextOuterClass.ContextId.Builder builderForValue) {
                 if (contextIdBuilder_ == null) {
                     contextId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -27104,16 +28236,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeContextId(context.ContextOuterClass.ContextId value) {
                 if (contextIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && contextId_ != null && contextId_ != context.ContextOuterClass.ContextId.getDefaultInstance()) {
-                        getContextIdBuilder().mergeFrom(value);
+                    if (contextId_ != null) {
+                        contextId_ = context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial();
                     } else {
                         contextId_ = value;
                     }
+                    onChanged();
                 } else {
                     contextIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -27121,13 +28252,13 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public Builder clearContextId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                    onChanged();
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -27135,7 +28266,6 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getContextIdFieldBuilder().getBuilder();
             }
@@ -27171,7 +28301,7 @@ public final class ContextOuterClass {
              * @return Whether the serviceUuid field is set.
              */
             public boolean hasServiceUuid() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return serviceUuidBuilder_ != null || serviceUuid_ != null;
             }
 
             /**
@@ -27195,11 +28325,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     serviceUuid_ = value;
+                    onChanged();
                 } else {
                     serviceUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -27209,11 +28338,10 @@ public final class ContextOuterClass {
             public Builder setServiceUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (serviceUuidBuilder_ == null) {
                     serviceUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     serviceUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -27222,16 +28350,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeServiceUuid(context.ContextOuterClass.Uuid value) {
                 if (serviceUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && serviceUuid_ != null && serviceUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getServiceUuidBuilder().mergeFrom(value);
+                    if (serviceUuid_ != null) {
+                        serviceUuid_ = context.ContextOuterClass.Uuid.newBuilder(serviceUuid_).mergeFrom(value).buildPartial();
                     } else {
                         serviceUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     serviceUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -27239,13 +28366,13 @@ public final class ContextOuterClass {
              * .context.Uuid service_uuid = 2;
              */
             public Builder clearServiceUuid() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                serviceUuid_ = null;
-                if (serviceUuidBuilder_ != null) {
-                    serviceUuidBuilder_.dispose();
+                if (serviceUuidBuilder_ == null) {
+                    serviceUuid_ = null;
+                    onChanged();
+                } else {
+                    serviceUuid_ = null;
                     serviceUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -27253,7 +28380,6 @@ public final class ContextOuterClass {
              * .context.Uuid service_uuid = 2;
              */
             public context.ContextOuterClass.Uuid.Builder getServiceUuidBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getServiceUuidFieldBuilder().getBuilder();
             }
@@ -27307,17 +28433,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ServiceId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ServiceId(input, extensionRegistry);
             }
         };
 
@@ -27508,6 +28624,133 @@ public final class ContextOuterClass {
             return new Service();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Service(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ServiceId.Builder subBuilder = null;
+                                if (serviceId_ != null) {
+                                    subBuilder = serviceId_.toBuilder();
+                                }
+                                serviceId_ = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(serviceId_);
+                                    serviceId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 24:
+                            {
+                                int rawValue = input.readEnum();
+                                serviceType_ = rawValue;
+                                break;
+                            }
+                        case 34:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    serviceEndpointIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                serviceEndpointIds_.add(input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 42:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+                                    serviceConstraints_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000002;
+                                }
+                                serviceConstraints_.add(input.readMessage(context.ContextOuterClass.Constraint.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 50:
+                            {
+                                context.ContextOuterClass.ServiceStatus.Builder subBuilder = null;
+                                if (serviceStatus_ != null) {
+                                    subBuilder = serviceStatus_.toBuilder();
+                                }
+                                serviceStatus_ = input.readMessage(context.ContextOuterClass.ServiceStatus.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(serviceStatus_);
+                                    serviceStatus_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 58:
+                            {
+                                context.ContextOuterClass.ServiceConfig.Builder subBuilder = null;
+                                if (serviceConfig_ != null) {
+                                    subBuilder = serviceConfig_.toBuilder();
+                                }
+                                serviceConfig_ = input.readMessage(context.ContextOuterClass.ServiceConfig.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(serviceConfig_);
+                                    serviceConfig_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 66:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (timestamp_ != null) {
+                                    subBuilder = timestamp_.toBuilder();
+                                }
+                                timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(timestamp_);
+                                    timestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    serviceEndpointIds_ = java.util.Collections.unmodifiableList(serviceEndpointIds_);
+                }
+                if (((mutable_bitField0_ & 0x00000002) != 0)) {
+                    serviceConstraints_ = java.util.Collections.unmodifiableList(serviceConstraints_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Service_descriptor;
         }
@@ -27544,13 +28787,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() {
-            return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_;
+            return getServiceId();
         }
 
         public static final int NAME_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 2;
@@ -27587,7 +28829,7 @@ public final class ContextOuterClass {
 
         public static final int SERVICE_TYPE_FIELD_NUMBER = 3;
 
-        private int serviceType_ = 0;
+        private int serviceType_;
 
         /**
          * .context.ServiceTypeEnum service_type = 3;
@@ -27604,13 +28846,13 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ServiceTypeEnum getServiceType() {
-            context.ContextOuterClass.ServiceTypeEnum result = context.ContextOuterClass.ServiceTypeEnum.forNumber(serviceType_);
+            @SuppressWarnings("deprecation")
+            context.ContextOuterClass.ServiceTypeEnum result = context.ContextOuterClass.ServiceTypeEnum.valueOf(serviceType_);
             return result == null ? context.ContextOuterClass.ServiceTypeEnum.UNRECOGNIZED : result;
         }
 
         public static final int SERVICE_ENDPOINT_IDS_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
         private java.util.List serviceEndpointIds_;
 
         /**
@@ -27655,7 +28897,6 @@ public final class ContextOuterClass {
 
         public static final int SERVICE_CONSTRAINTS_FIELD_NUMBER = 5;
 
-        @SuppressWarnings("serial")
         private java.util.List serviceConstraints_;
 
         /**
@@ -27725,7 +28966,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ServiceStatusOrBuilder getServiceStatusOrBuilder() {
-            return serviceStatus_ == null ? context.ContextOuterClass.ServiceStatus.getDefaultInstance() : serviceStatus_;
+            return getServiceStatus();
         }
 
         public static final int SERVICE_CONFIG_FIELD_NUMBER = 7;
@@ -27755,7 +28996,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ServiceConfigOrBuilder getServiceConfigOrBuilder() {
-            return serviceConfig_ == null ? context.ContextOuterClass.ServiceConfig.getDefaultInstance() : serviceConfig_;
+            return getServiceConfig();
         }
 
         public static final int TIMESTAMP_FIELD_NUMBER = 8;
@@ -27785,7 +29026,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() {
-            return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_;
+            return getTimestamp();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -27806,7 +29047,7 @@ public final class ContextOuterClass {
             if (serviceId_ != null) {
                 output.writeMessage(1, getServiceId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
             }
             if (serviceType_ != context.ContextOuterClass.ServiceTypeEnum.SERVICETYPE_UNKNOWN.getNumber()) {
@@ -27827,7 +29068,7 @@ public final class ContextOuterClass {
             if (timestamp_ != null) {
                 output.writeMessage(8, getTimestamp());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -27839,7 +29080,7 @@ public final class ContextOuterClass {
             if (serviceId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getServiceId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
             }
             if (serviceType_ != context.ContextOuterClass.ServiceTypeEnum.SERVICETYPE_UNKNOWN.getNumber()) {
@@ -27860,7 +29101,7 @@ public final class ContextOuterClass {
             if (timestamp_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, getTimestamp());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -27906,7 +29147,7 @@ public final class ContextOuterClass {
                 if (!getTimestamp().equals(other.getTimestamp()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -27946,7 +29187,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
                 hash = (53 * hash) + getTimestamp().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -28040,50 +29281,60 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Service.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getServiceEndpointIdsFieldBuilder();
+                    getServiceConstraintsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                serviceId_ = null;
-                if (serviceIdBuilder_ != null) {
-                    serviceIdBuilder_.dispose();
+                if (serviceIdBuilder_ == null) {
+                    serviceId_ = null;
+                } else {
+                    serviceId_ = null;
                     serviceIdBuilder_ = null;
                 }
                 name_ = "";
                 serviceType_ = 0;
                 if (serviceEndpointIdsBuilder_ == null) {
                     serviceEndpointIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    serviceEndpointIds_ = null;
                     serviceEndpointIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000008);
                 if (serviceConstraintsBuilder_ == null) {
                     serviceConstraints_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000002);
                 } else {
-                    serviceConstraints_ = null;
                     serviceConstraintsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000010);
-                serviceStatus_ = null;
-                if (serviceStatusBuilder_ != null) {
-                    serviceStatusBuilder_.dispose();
+                if (serviceStatusBuilder_ == null) {
+                    serviceStatus_ = null;
+                } else {
+                    serviceStatus_ = null;
                     serviceStatusBuilder_ = null;
                 }
-                serviceConfig_ = null;
-                if (serviceConfigBuilder_ != null) {
-                    serviceConfigBuilder_.dispose();
+                if (serviceConfigBuilder_ == null) {
+                    serviceConfig_ = null;
+                } else {
+                    serviceConfig_ = null;
                     serviceConfigBuilder_ = null;
                 }
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
                 return this;
@@ -28111,55 +29362,79 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Service buildPartial() {
                 context.ContextOuterClass.Service result = new context.ContextOuterClass.Service(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (serviceIdBuilder_ == null) {
+                    result.serviceId_ = serviceId_;
+                } else {
+                    result.serviceId_ = serviceIdBuilder_.build();
                 }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.Service result) {
+                result.name_ = name_;
+                result.serviceType_ = serviceType_;
                 if (serviceEndpointIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         serviceEndpointIds_ = java.util.Collections.unmodifiableList(serviceEndpointIds_);
-                        bitField0_ = (bitField0_ & ~0x00000008);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.serviceEndpointIds_ = serviceEndpointIds_;
                 } else {
                     result.serviceEndpointIds_ = serviceEndpointIdsBuilder_.build();
                 }
                 if (serviceConstraintsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000010) != 0)) {
+                    if (((bitField0_ & 0x00000002) != 0)) {
                         serviceConstraints_ = java.util.Collections.unmodifiableList(serviceConstraints_);
-                        bitField0_ = (bitField0_ & ~0x00000010);
+                        bitField0_ = (bitField0_ & ~0x00000002);
                     }
                     result.serviceConstraints_ = serviceConstraints_;
                 } else {
                     result.serviceConstraints_ = serviceConstraintsBuilder_.build();
                 }
-            }
-
-            private void buildPartial0(context.ContextOuterClass.Service result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.serviceId_ = serviceIdBuilder_ == null ? serviceId_ : serviceIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.name_ = name_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.serviceType_ = serviceType_;
-                }
-                if (((from_bitField0_ & 0x00000020) != 0)) {
-                    result.serviceStatus_ = serviceStatusBuilder_ == null ? serviceStatus_ : serviceStatusBuilder_.build();
+                if (serviceStatusBuilder_ == null) {
+                    result.serviceStatus_ = serviceStatus_;
+                } else {
+                    result.serviceStatus_ = serviceStatusBuilder_.build();
                 }
-                if (((from_bitField0_ & 0x00000040) != 0)) {
-                    result.serviceConfig_ = serviceConfigBuilder_ == null ? serviceConfig_ : serviceConfigBuilder_.build();
+                if (serviceConfigBuilder_ == null) {
+                    result.serviceConfig_ = serviceConfig_;
+                } else {
+                    result.serviceConfig_ = serviceConfigBuilder_.build();
                 }
-                if (((from_bitField0_ & 0x00000080) != 0)) {
-                    result.timestamp_ = timestampBuilder_ == null ? timestamp_ : timestampBuilder_.build();
+                if (timestampBuilder_ == null) {
+                    result.timestamp_ = timestamp_;
+                } else {
+                    result.timestamp_ = timestampBuilder_.build();
                 }
+                onBuilt();
+                return result;
+            }
+
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -28180,7 +29455,6 @@ public final class ContextOuterClass {
                 }
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (other.serviceType_ != 0) {
@@ -28190,7 +29464,7 @@ public final class ContextOuterClass {
                     if (!other.serviceEndpointIds_.isEmpty()) {
                         if (serviceEndpointIds_.isEmpty()) {
                             serviceEndpointIds_ = other.serviceEndpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureServiceEndpointIdsIsMutable();
                             serviceEndpointIds_.addAll(other.serviceEndpointIds_);
@@ -28203,7 +29477,7 @@ public final class ContextOuterClass {
                             serviceEndpointIdsBuilder_.dispose();
                             serviceEndpointIdsBuilder_ = null;
                             serviceEndpointIds_ = other.serviceEndpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             serviceEndpointIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getServiceEndpointIdsFieldBuilder() : null;
                         } else {
                             serviceEndpointIdsBuilder_.addAllMessages(other.serviceEndpointIds_);
@@ -28214,7 +29488,7 @@ public final class ContextOuterClass {
                     if (!other.serviceConstraints_.isEmpty()) {
                         if (serviceConstraints_.isEmpty()) {
                             serviceConstraints_ = other.serviceConstraints_;
-                            bitField0_ = (bitField0_ & ~0x00000010);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                         } else {
                             ensureServiceConstraintsIsMutable();
                             serviceConstraints_.addAll(other.serviceConstraints_);
@@ -28227,7 +29501,7 @@ public final class ContextOuterClass {
                             serviceConstraintsBuilder_.dispose();
                             serviceConstraintsBuilder_ = null;
                             serviceConstraints_ = other.serviceConstraints_;
-                            bitField0_ = (bitField0_ & ~0x00000010);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                             serviceConstraintsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getServiceConstraintsFieldBuilder() : null;
                         } else {
                             serviceConstraintsBuilder_.addAllMessages(other.serviceConstraints_);
@@ -28243,7 +29517,7 @@ public final class ContextOuterClass {
                 if (other.hasTimestamp()) {
                     mergeTimestamp(other.getTimestamp());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -28255,101 +29529,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Service parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getServiceIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 24:
-                                {
-                                    serviceType_ = input.readEnum();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 34:
-                                {
-                                    context.ContextOuterClass.EndPointId m = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
-                                    if (serviceEndpointIdsBuilder_ == null) {
-                                        ensureServiceEndpointIdsIsMutable();
-                                        serviceEndpointIds_.add(m);
-                                    } else {
-                                        serviceEndpointIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    context.ContextOuterClass.Constraint m = input.readMessage(context.ContextOuterClass.Constraint.parser(), extensionRegistry);
-                                    if (serviceConstraintsBuilder_ == null) {
-                                        ensureServiceConstraintsIsMutable();
-                                        serviceConstraints_.add(m);
-                                    } else {
-                                        serviceConstraintsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 42
-                            case 50:
-                                {
-                                    input.readMessage(getServiceStatusFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000020;
-                                    break;
-                                }
-                            // case 50
-                            case 58:
-                                {
-                                    input.readMessage(getServiceConfigFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000040;
-                                    break;
-                                }
-                            // case 58
-                            case 66:
-                                {
-                                    input.readMessage(getTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000080;
-                                    break;
-                                }
-                            // case 66
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Service) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -28364,7 +29554,7 @@ public final class ContextOuterClass {
              * @return Whether the serviceId field is set.
              */
             public boolean hasServiceId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return serviceIdBuilder_ != null || serviceId_ != null;
             }
 
             /**
@@ -28388,11 +29578,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     serviceId_ = value;
+                    onChanged();
                 } else {
                     serviceIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -28402,11 +29591,10 @@ public final class ContextOuterClass {
             public Builder setServiceId(context.ContextOuterClass.ServiceId.Builder builderForValue) {
                 if (serviceIdBuilder_ == null) {
                     serviceId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     serviceIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -28415,16 +29603,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeServiceId(context.ContextOuterClass.ServiceId value) {
                 if (serviceIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && serviceId_ != null && serviceId_ != context.ContextOuterClass.ServiceId.getDefaultInstance()) {
-                        getServiceIdBuilder().mergeFrom(value);
+                    if (serviceId_ != null) {
+                        serviceId_ = context.ContextOuterClass.ServiceId.newBuilder(serviceId_).mergeFrom(value).buildPartial();
                     } else {
                         serviceId_ = value;
                     }
+                    onChanged();
                 } else {
                     serviceIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -28432,13 +29619,13 @@ public final class ContextOuterClass {
              * .context.ServiceId service_id = 1;
              */
             public Builder clearServiceId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                serviceId_ = null;
-                if (serviceIdBuilder_ != null) {
-                    serviceIdBuilder_.dispose();
+                if (serviceIdBuilder_ == null) {
+                    serviceId_ = null;
+                    onChanged();
+                } else {
+                    serviceId_ = null;
                     serviceIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -28446,7 +29633,6 @@ public final class ContextOuterClass {
              * .context.ServiceId service_id = 1;
              */
             public context.ContextOuterClass.ServiceId.Builder getServiceIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getServiceIdFieldBuilder().getBuilder();
             }
@@ -28516,7 +29702,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -28527,7 +29712,6 @@ public final class ContextOuterClass {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -28543,7 +29727,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -28566,7 +29749,6 @@ public final class ContextOuterClass {
              */
             public Builder setServiceTypeValue(int value) {
                 serviceType_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -28577,7 +29759,8 @@ public final class ContextOuterClass {
              */
             @java.lang.Override
             public context.ContextOuterClass.ServiceTypeEnum getServiceType() {
-                context.ContextOuterClass.ServiceTypeEnum result = context.ContextOuterClass.ServiceTypeEnum.forNumber(serviceType_);
+                @SuppressWarnings("deprecation")
+                context.ContextOuterClass.ServiceTypeEnum result = context.ContextOuterClass.ServiceTypeEnum.valueOf(serviceType_);
                 return result == null ? context.ContextOuterClass.ServiceTypeEnum.UNRECOGNIZED : result;
             }
 
@@ -28590,7 +29773,6 @@ public final class ContextOuterClass {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000004;
                 serviceType_ = value.getNumber();
                 onChanged();
                 return this;
@@ -28601,7 +29783,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearServiceType() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 serviceType_ = 0;
                 onChanged();
                 return this;
@@ -28610,9 +29791,9 @@ public final class ContextOuterClass {
             private java.util.List serviceEndpointIds_ = java.util.Collections.emptyList();
 
             private void ensureServiceEndpointIdsIsMutable() {
-                if (!((bitField0_ & 0x00000008) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     serviceEndpointIds_ = new java.util.ArrayList(serviceEndpointIds_);
-                    bitField0_ |= 0x00000008;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -28764,7 +29945,7 @@ public final class ContextOuterClass {
             public Builder clearServiceEndpointIds() {
                 if (serviceEndpointIdsBuilder_ == null) {
                     serviceEndpointIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000008);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     serviceEndpointIdsBuilder_.clear();
@@ -28838,7 +30019,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getServiceEndpointIdsFieldBuilder() {
                 if (serviceEndpointIdsBuilder_ == null) {
-                    serviceEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(serviceEndpointIds_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
+                    serviceEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(serviceEndpointIds_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     serviceEndpointIds_ = null;
                 }
                 return serviceEndpointIdsBuilder_;
@@ -28847,9 +30028,9 @@ public final class ContextOuterClass {
             private java.util.List serviceConstraints_ = java.util.Collections.emptyList();
 
             private void ensureServiceConstraintsIsMutable() {
-                if (!((bitField0_ & 0x00000010) != 0)) {
+                if (!((bitField0_ & 0x00000002) != 0)) {
                     serviceConstraints_ = new java.util.ArrayList(serviceConstraints_);
-                    bitField0_ |= 0x00000010;
+                    bitField0_ |= 0x00000002;
                 }
             }
 
@@ -29001,7 +30182,7 @@ public final class ContextOuterClass {
             public Builder clearServiceConstraints() {
                 if (serviceConstraintsBuilder_ == null) {
                     serviceConstraints_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000010);
+                    bitField0_ = (bitField0_ & ~0x00000002);
                     onChanged();
                 } else {
                     serviceConstraintsBuilder_.clear();
@@ -29075,7 +30256,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getServiceConstraintsFieldBuilder() {
                 if (serviceConstraintsBuilder_ == null) {
-                    serviceConstraintsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(serviceConstraints_, ((bitField0_ & 0x00000010) != 0), getParentForChildren(), isClean());
+                    serviceConstraintsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(serviceConstraints_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
                     serviceConstraints_ = null;
                 }
                 return serviceConstraintsBuilder_;
@@ -29090,7 +30271,7 @@ public final class ContextOuterClass {
              * @return Whether the serviceStatus field is set.
              */
             public boolean hasServiceStatus() {
-                return ((bitField0_ & 0x00000020) != 0);
+                return serviceStatusBuilder_ != null || serviceStatus_ != null;
             }
 
             /**
@@ -29114,11 +30295,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     serviceStatus_ = value;
+                    onChanged();
                 } else {
                     serviceStatusBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -29128,11 +30308,10 @@ public final class ContextOuterClass {
             public Builder setServiceStatus(context.ContextOuterClass.ServiceStatus.Builder builderForValue) {
                 if (serviceStatusBuilder_ == null) {
                     serviceStatus_ = builderForValue.build();
+                    onChanged();
                 } else {
                     serviceStatusBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -29141,16 +30320,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeServiceStatus(context.ContextOuterClass.ServiceStatus value) {
                 if (serviceStatusBuilder_ == null) {
-                    if (((bitField0_ & 0x00000020) != 0) && serviceStatus_ != null && serviceStatus_ != context.ContextOuterClass.ServiceStatus.getDefaultInstance()) {
-                        getServiceStatusBuilder().mergeFrom(value);
+                    if (serviceStatus_ != null) {
+                        serviceStatus_ = context.ContextOuterClass.ServiceStatus.newBuilder(serviceStatus_).mergeFrom(value).buildPartial();
                     } else {
                         serviceStatus_ = value;
                     }
+                    onChanged();
                 } else {
                     serviceStatusBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -29158,13 +30336,13 @@ public final class ContextOuterClass {
              * .context.ServiceStatus service_status = 6;
              */
             public Builder clearServiceStatus() {
-                bitField0_ = (bitField0_ & ~0x00000020);
-                serviceStatus_ = null;
-                if (serviceStatusBuilder_ != null) {
-                    serviceStatusBuilder_.dispose();
+                if (serviceStatusBuilder_ == null) {
+                    serviceStatus_ = null;
+                    onChanged();
+                } else {
+                    serviceStatus_ = null;
                     serviceStatusBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -29172,7 +30350,6 @@ public final class ContextOuterClass {
              * .context.ServiceStatus service_status = 6;
              */
             public context.ContextOuterClass.ServiceStatus.Builder getServiceStatusBuilder() {
-                bitField0_ |= 0x00000020;
                 onChanged();
                 return getServiceStatusFieldBuilder().getBuilder();
             }
@@ -29208,7 +30385,7 @@ public final class ContextOuterClass {
              * @return Whether the serviceConfig field is set.
              */
             public boolean hasServiceConfig() {
-                return ((bitField0_ & 0x00000040) != 0);
+                return serviceConfigBuilder_ != null || serviceConfig_ != null;
             }
 
             /**
@@ -29232,11 +30409,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     serviceConfig_ = value;
+                    onChanged();
                 } else {
                     serviceConfigBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000040;
-                onChanged();
                 return this;
             }
 
@@ -29246,11 +30422,10 @@ public final class ContextOuterClass {
             public Builder setServiceConfig(context.ContextOuterClass.ServiceConfig.Builder builderForValue) {
                 if (serviceConfigBuilder_ == null) {
                     serviceConfig_ = builderForValue.build();
+                    onChanged();
                 } else {
                     serviceConfigBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000040;
-                onChanged();
                 return this;
             }
 
@@ -29259,16 +30434,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeServiceConfig(context.ContextOuterClass.ServiceConfig value) {
                 if (serviceConfigBuilder_ == null) {
-                    if (((bitField0_ & 0x00000040) != 0) && serviceConfig_ != null && serviceConfig_ != context.ContextOuterClass.ServiceConfig.getDefaultInstance()) {
-                        getServiceConfigBuilder().mergeFrom(value);
+                    if (serviceConfig_ != null) {
+                        serviceConfig_ = context.ContextOuterClass.ServiceConfig.newBuilder(serviceConfig_).mergeFrom(value).buildPartial();
                     } else {
                         serviceConfig_ = value;
                     }
+                    onChanged();
                 } else {
                     serviceConfigBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000040;
-                onChanged();
                 return this;
             }
 
@@ -29276,13 +30450,13 @@ public final class ContextOuterClass {
              * .context.ServiceConfig service_config = 7;
              */
             public Builder clearServiceConfig() {
-                bitField0_ = (bitField0_ & ~0x00000040);
-                serviceConfig_ = null;
-                if (serviceConfigBuilder_ != null) {
-                    serviceConfigBuilder_.dispose();
+                if (serviceConfigBuilder_ == null) {
+                    serviceConfig_ = null;
+                    onChanged();
+                } else {
+                    serviceConfig_ = null;
                     serviceConfigBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -29290,7 +30464,6 @@ public final class ContextOuterClass {
              * .context.ServiceConfig service_config = 7;
              */
             public context.ContextOuterClass.ServiceConfig.Builder getServiceConfigBuilder() {
-                bitField0_ |= 0x00000040;
                 onChanged();
                 return getServiceConfigFieldBuilder().getBuilder();
             }
@@ -29326,7 +30499,7 @@ public final class ContextOuterClass {
              * @return Whether the timestamp field is set.
              */
             public boolean hasTimestamp() {
-                return ((bitField0_ & 0x00000080) != 0);
+                return timestampBuilder_ != null || timestamp_ != null;
             }
 
             /**
@@ -29350,11 +30523,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     timestamp_ = value;
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000080;
-                onChanged();
                 return this;
             }
 
@@ -29364,11 +30536,10 @@ public final class ContextOuterClass {
             public Builder setTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (timestampBuilder_ == null) {
                     timestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000080;
-                onChanged();
                 return this;
             }
 
@@ -29377,16 +30548,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (timestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000080) != 0) && timestamp_ != null && timestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getTimestampBuilder().mergeFrom(value);
+                    if (timestamp_ != null) {
+                        timestamp_ = context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial();
                     } else {
                         timestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     timestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000080;
-                onChanged();
                 return this;
             }
 
@@ -29394,13 +30564,13 @@ public final class ContextOuterClass {
              * .context.Timestamp timestamp = 8;
              */
             public Builder clearTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000080);
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                    onChanged();
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -29408,7 +30578,6 @@ public final class ContextOuterClass {
              * .context.Timestamp timestamp = 8;
              */
             public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() {
-                bitField0_ |= 0x00000080;
                 onChanged();
                 return getTimestampFieldBuilder().getBuilder();
             }
@@ -29462,17 +30631,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Service parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Service(input, extensionRegistry);
             }
         };
 
@@ -29530,6 +30689,50 @@ public final class ContextOuterClass {
             return new ServiceStatus();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ServiceStatus(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                int rawValue = input.readEnum();
+                                serviceStatus_ = rawValue;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ServiceStatus_descriptor;
         }
@@ -29541,7 +30744,7 @@ public final class ContextOuterClass {
 
         public static final int SERVICE_STATUS_FIELD_NUMBER = 1;
 
-        private int serviceStatus_ = 0;
+        private int serviceStatus_;
 
         /**
          * .context.ServiceStatusEnum service_status = 1;
@@ -29558,7 +30761,8 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ServiceStatusEnum getServiceStatus() {
-            context.ContextOuterClass.ServiceStatusEnum result = context.ContextOuterClass.ServiceStatusEnum.forNumber(serviceStatus_);
+            @SuppressWarnings("deprecation")
+            context.ContextOuterClass.ServiceStatusEnum result = context.ContextOuterClass.ServiceStatusEnum.valueOf(serviceStatus_);
             return result == null ? context.ContextOuterClass.ServiceStatusEnum.UNRECOGNIZED : result;
         }
 
@@ -29580,7 +30784,7 @@ public final class ContextOuterClass {
             if (serviceStatus_ != context.ContextOuterClass.ServiceStatusEnum.SERVICESTATUS_UNDEFINED.getNumber()) {
                 output.writeEnum(1, serviceStatus_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -29592,7 +30796,7 @@ public final class ContextOuterClass {
             if (serviceStatus_ != context.ContextOuterClass.ServiceStatusEnum.SERVICESTATUS_UNDEFINED.getNumber()) {
                 size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, serviceStatus_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -29608,7 +30812,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.ServiceStatus other = (context.ContextOuterClass.ServiceStatus) obj;
             if (serviceStatus_ != other.serviceStatus_)
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -29622,7 +30826,7 @@ public final class ContextOuterClass {
             hash = (19 * hash) + getDescriptor().hashCode();
             hash = (37 * hash) + SERVICE_STATUS_FIELD_NUMBER;
             hash = (53 * hash) + serviceStatus_;
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -29716,16 +30920,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ServiceStatus.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 serviceStatus_ = 0;
                 return this;
             }
@@ -29752,18 +30962,39 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ServiceStatus buildPartial() {
                 context.ContextOuterClass.ServiceStatus result = new context.ContextOuterClass.ServiceStatus(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.serviceStatus_ = serviceStatus_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ServiceStatus result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.serviceStatus_ = serviceStatus_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -29782,7 +31013,7 @@ public final class ContextOuterClass {
                 if (other.serviceStatus_ != 0) {
                     setServiceStatusValue(other.getServiceStatusValue());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -29794,47 +31025,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ServiceStatus parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    serviceStatus_ = input.readEnum();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ServiceStatus) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private int serviceStatus_ = 0;
 
             /**
@@ -29853,7 +31057,6 @@ public final class ContextOuterClass {
              */
             public Builder setServiceStatusValue(int value) {
                 serviceStatus_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -29864,7 +31067,8 @@ public final class ContextOuterClass {
              */
             @java.lang.Override
             public context.ContextOuterClass.ServiceStatusEnum getServiceStatus() {
-                context.ContextOuterClass.ServiceStatusEnum result = context.ContextOuterClass.ServiceStatusEnum.forNumber(serviceStatus_);
+                @SuppressWarnings("deprecation")
+                context.ContextOuterClass.ServiceStatusEnum result = context.ContextOuterClass.ServiceStatusEnum.valueOf(serviceStatus_);
                 return result == null ? context.ContextOuterClass.ServiceStatusEnum.UNRECOGNIZED : result;
             }
 
@@ -29877,7 +31081,6 @@ public final class ContextOuterClass {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000001;
                 serviceStatus_ = value.getNumber();
                 onChanged();
                 return this;
@@ -29888,7 +31091,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearServiceStatus() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 serviceStatus_ = 0;
                 onChanged();
                 return this;
@@ -29921,17 +31123,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ServiceStatus parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ServiceStatus(input, extensionRegistry);
             }
         };
 
@@ -30002,6 +31194,57 @@ public final class ContextOuterClass {
             return new ServiceConfig();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ServiceConfig(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    configRules_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                configRules_.add(input.readMessage(context.ContextOuterClass.ConfigRule.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    configRules_ = java.util.Collections.unmodifiableList(configRules_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ServiceConfig_descriptor;
         }
@@ -30013,7 +31256,6 @@ public final class ContextOuterClass {
 
         public static final int CONFIG_RULES_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List configRules_;
 
         /**
@@ -30074,7 +31316,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < configRules_.size(); i++) {
                 output.writeMessage(1, configRules_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -30086,7 +31328,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < configRules_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, configRules_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -30102,7 +31344,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.ServiceConfig other = (context.ContextOuterClass.ServiceConfig) obj;
             if (!getConfigRulesList().equals(other.getConfigRulesList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -30118,7 +31360,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONFIG_RULES_FIELD_NUMBER;
                 hash = (53 * hash) + getConfigRulesList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -30212,23 +31454,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ServiceConfig.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getConfigRulesFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (configRulesBuilder_ == null) {
                     configRules_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    configRules_ = null;
                     configRulesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -30254,15 +31502,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ServiceConfig buildPartial() {
                 context.ContextOuterClass.ServiceConfig result = new context.ContextOuterClass.ServiceConfig(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.ServiceConfig result) {
+                int from_bitField0_ = bitField0_;
                 if (configRulesBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         configRules_ = java.util.Collections.unmodifiableList(configRules_);
@@ -30272,10 +31512,38 @@ public final class ContextOuterClass {
                 } else {
                     result.configRules_ = configRulesBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ServiceConfig result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -30315,7 +31583,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -30327,47 +31595,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ServiceConfig parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.ConfigRule m = input.readMessage(context.ContextOuterClass.ConfigRule.parser(), extensionRegistry);
-                                    if (configRulesBuilder_ == null) {
-                                        ensureConfigRulesIsMutable();
-                                        configRules_.add(m);
-                                    } else {
-                                        configRulesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ServiceConfig) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -30637,17 +31875,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ServiceConfig parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ServiceConfig(input, extensionRegistry);
             }
         };
 
@@ -30718,6 +31946,57 @@ public final class ContextOuterClass {
             return new ServiceIdList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ServiceIdList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    serviceIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                serviceIds_.add(input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    serviceIds_ = java.util.Collections.unmodifiableList(serviceIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ServiceIdList_descriptor;
         }
@@ -30729,7 +32008,6 @@ public final class ContextOuterClass {
 
         public static final int SERVICE_IDS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List serviceIds_;
 
         /**
@@ -30790,7 +32068,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < serviceIds_.size(); i++) {
                 output.writeMessage(1, serviceIds_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -30802,7 +32080,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < serviceIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, serviceIds_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -30818,7 +32096,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.ServiceIdList other = (context.ContextOuterClass.ServiceIdList) obj;
             if (!getServiceIdsList().equals(other.getServiceIdsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -30834,7 +32112,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SERVICE_IDS_FIELD_NUMBER;
                 hash = (53 * hash) + getServiceIdsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -30928,23 +32206,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ServiceIdList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getServiceIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (serviceIdsBuilder_ == null) {
                     serviceIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    serviceIds_ = null;
                     serviceIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -30970,15 +32254,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ServiceIdList buildPartial() {
                 context.ContextOuterClass.ServiceIdList result = new context.ContextOuterClass.ServiceIdList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.ServiceIdList result) {
+                int from_bitField0_ = bitField0_;
                 if (serviceIdsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         serviceIds_ = java.util.Collections.unmodifiableList(serviceIds_);
@@ -30988,10 +32264,38 @@ public final class ContextOuterClass {
                 } else {
                     result.serviceIds_ = serviceIdsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ServiceIdList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -31031,7 +32335,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -31043,47 +32347,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ServiceIdList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.ServiceId m = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry);
-                                    if (serviceIdsBuilder_ == null) {
-                                        ensureServiceIdsIsMutable();
-                                        serviceIds_.add(m);
-                                    } else {
-                                        serviceIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ServiceIdList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -31353,17 +32627,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ServiceIdList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ServiceIdList(input, extensionRegistry);
             }
         };
 
@@ -31434,6 +32698,57 @@ public final class ContextOuterClass {
             return new ServiceList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ServiceList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    services_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                services_.add(input.readMessage(context.ContextOuterClass.Service.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    services_ = java.util.Collections.unmodifiableList(services_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ServiceList_descriptor;
         }
@@ -31445,7 +32760,6 @@ public final class ContextOuterClass {
 
         public static final int SERVICES_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List services_;
 
         /**
@@ -31506,7 +32820,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < services_.size(); i++) {
                 output.writeMessage(1, services_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -31518,7 +32832,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < services_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, services_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -31534,7 +32848,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.ServiceList other = (context.ContextOuterClass.ServiceList) obj;
             if (!getServicesList().equals(other.getServicesList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -31550,7 +32864,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SERVICES_FIELD_NUMBER;
                 hash = (53 * hash) + getServicesList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -31644,23 +32958,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ServiceList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getServicesFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (servicesBuilder_ == null) {
                     services_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    services_ = null;
                     servicesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -31686,15 +33006,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ServiceList buildPartial() {
                 context.ContextOuterClass.ServiceList result = new context.ContextOuterClass.ServiceList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.ServiceList result) {
+                int from_bitField0_ = bitField0_;
                 if (servicesBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         services_ = java.util.Collections.unmodifiableList(services_);
@@ -31704,10 +33016,38 @@ public final class ContextOuterClass {
                 } else {
                     result.services_ = servicesBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ServiceList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -31747,7 +33087,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -31759,47 +33099,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ServiceList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.Service m = input.readMessage(context.ContextOuterClass.Service.parser(), extensionRegistry);
-                                    if (servicesBuilder_ == null) {
-                                        ensureServicesIsMutable();
-                                        services_.add(m);
-                                    } else {
-                                        servicesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ServiceList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -32069,17 +33379,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ServiceList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ServiceList(input, extensionRegistry);
             }
         };
 
@@ -32159,6 +33459,72 @@ public final class ContextOuterClass {
             return new ServiceFilter();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ServiceFilter(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ServiceIdList.Builder subBuilder = null;
+                                if (serviceIds_ != null) {
+                                    subBuilder = serviceIds_.toBuilder();
+                                }
+                                serviceIds_ = input.readMessage(context.ContextOuterClass.ServiceIdList.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(serviceIds_);
+                                    serviceIds_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 16:
+                            {
+                                includeEndpointIds_ = input.readBool();
+                                break;
+                            }
+                        case 24:
+                            {
+                                includeConstraints_ = input.readBool();
+                                break;
+                            }
+                        case 32:
+                            {
+                                includeConfigRules_ = input.readBool();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ServiceFilter_descriptor;
         }
@@ -32195,12 +33561,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ServiceIdListOrBuilder getServiceIdsOrBuilder() {
-            return serviceIds_ == null ? context.ContextOuterClass.ServiceIdList.getDefaultInstance() : serviceIds_;
+            return getServiceIds();
         }
 
         public static final int INCLUDE_ENDPOINT_IDS_FIELD_NUMBER = 2;
 
-        private boolean includeEndpointIds_ = false;
+        private boolean includeEndpointIds_;
 
         /**
          * bool include_endpoint_ids = 2;
@@ -32213,7 +33579,7 @@ public final class ContextOuterClass {
 
         public static final int INCLUDE_CONSTRAINTS_FIELD_NUMBER = 3;
 
-        private boolean includeConstraints_ = false;
+        private boolean includeConstraints_;
 
         /**
          * bool include_constraints = 3;
@@ -32226,7 +33592,7 @@ public final class ContextOuterClass {
 
         public static final int INCLUDE_CONFIG_RULES_FIELD_NUMBER = 4;
 
-        private boolean includeConfigRules_ = false;
+        private boolean includeConfigRules_;
 
         /**
          * bool include_config_rules = 4;
@@ -32264,7 +33630,7 @@ public final class ContextOuterClass {
             if (includeConfigRules_ != false) {
                 output.writeBool(4, includeConfigRules_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -32285,7 +33651,7 @@ public final class ContextOuterClass {
             if (includeConfigRules_ != false) {
                 size += com.google.protobuf.CodedOutputStream.computeBoolSize(4, includeConfigRules_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -32311,7 +33677,7 @@ public final class ContextOuterClass {
                 return false;
             if (getIncludeConfigRules() != other.getIncludeConfigRules())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -32333,7 +33699,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIncludeConstraints());
             hash = (37 * hash) + INCLUDE_CONFIG_RULES_FIELD_NUMBER;
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIncludeConfigRules());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -32427,19 +33793,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ServiceFilter.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                serviceIds_ = null;
-                if (serviceIdsBuilder_ != null) {
-                    serviceIdsBuilder_.dispose();
+                if (serviceIdsBuilder_ == null) {
+                    serviceIds_ = null;
+                } else {
+                    serviceIds_ = null;
                     serviceIdsBuilder_ = null;
                 }
                 includeEndpointIds_ = false;
@@ -32470,27 +33843,46 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ServiceFilter buildPartial() {
                 context.ContextOuterClass.ServiceFilter result = new context.ContextOuterClass.ServiceFilter(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (serviceIdsBuilder_ == null) {
+                    result.serviceIds_ = serviceIds_;
+                } else {
+                    result.serviceIds_ = serviceIdsBuilder_.build();
                 }
+                result.includeEndpointIds_ = includeEndpointIds_;
+                result.includeConstraints_ = includeConstraints_;
+                result.includeConfigRules_ = includeConfigRules_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ServiceFilter result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.serviceIds_ = serviceIdsBuilder_ == null ? serviceIds_ : serviceIdsBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.includeEndpointIds_ = includeEndpointIds_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.includeConstraints_ = includeConstraints_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.includeConfigRules_ = includeConfigRules_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -32518,7 +33910,7 @@ public final class ContextOuterClass {
                 if (other.getIncludeConfigRules() != false) {
                     setIncludeConfigRules(other.getIncludeConfigRules());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -32530,68 +33922,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ServiceFilter parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getServiceIdsFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 16:
-                                {
-                                    includeEndpointIds_ = input.readBool();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            case 24:
-                                {
-                                    includeConstraints_ = input.readBool();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 32:
-                                {
-                                    includeConfigRules_ = input.readBool();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 32
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ServiceFilter) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.ServiceIdList serviceIds_;
 
             private com.google.protobuf.SingleFieldBuilderV3 serviceIdsBuilder_;
@@ -32601,7 +33945,7 @@ public final class ContextOuterClass {
              * @return Whether the serviceIds field is set.
              */
             public boolean hasServiceIds() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return serviceIdsBuilder_ != null || serviceIds_ != null;
             }
 
             /**
@@ -32625,11 +33969,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     serviceIds_ = value;
+                    onChanged();
                 } else {
                     serviceIdsBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -32639,11 +33982,10 @@ public final class ContextOuterClass {
             public Builder setServiceIds(context.ContextOuterClass.ServiceIdList.Builder builderForValue) {
                 if (serviceIdsBuilder_ == null) {
                     serviceIds_ = builderForValue.build();
+                    onChanged();
                 } else {
                     serviceIdsBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -32652,16 +33994,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeServiceIds(context.ContextOuterClass.ServiceIdList value) {
                 if (serviceIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && serviceIds_ != null && serviceIds_ != context.ContextOuterClass.ServiceIdList.getDefaultInstance()) {
-                        getServiceIdsBuilder().mergeFrom(value);
+                    if (serviceIds_ != null) {
+                        serviceIds_ = context.ContextOuterClass.ServiceIdList.newBuilder(serviceIds_).mergeFrom(value).buildPartial();
                     } else {
                         serviceIds_ = value;
                     }
+                    onChanged();
                 } else {
                     serviceIdsBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -32669,13 +34010,13 @@ public final class ContextOuterClass {
              * .context.ServiceIdList service_ids = 1;
              */
             public Builder clearServiceIds() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                serviceIds_ = null;
-                if (serviceIdsBuilder_ != null) {
-                    serviceIdsBuilder_.dispose();
+                if (serviceIdsBuilder_ == null) {
+                    serviceIds_ = null;
+                    onChanged();
+                } else {
+                    serviceIds_ = null;
                     serviceIdsBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -32683,7 +34024,6 @@ public final class ContextOuterClass {
              * .context.ServiceIdList service_ids = 1;
              */
             public context.ContextOuterClass.ServiceIdList.Builder getServiceIdsBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getServiceIdsFieldBuilder().getBuilder();
             }
@@ -32728,7 +34068,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeEndpointIds(boolean value) {
                 includeEndpointIds_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -32738,7 +34077,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeEndpointIds() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 includeEndpointIds_ = false;
                 onChanged();
                 return this;
@@ -32762,7 +34100,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeConstraints(boolean value) {
                 includeConstraints_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -32772,7 +34109,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeConstraints() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 includeConstraints_ = false;
                 onChanged();
                 return this;
@@ -32796,7 +34132,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeConfigRules(boolean value) {
                 includeConfigRules_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -32806,7 +34141,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeConfigRules() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 includeConfigRules_ = false;
                 onChanged();
                 return this;
@@ -32839,17 +34173,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ServiceFilter parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ServiceFilter(input, extensionRegistry);
             }
         };
 
@@ -32928,6 +34252,70 @@ public final class ContextOuterClass {
             return new ServiceEvent();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ServiceEvent(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Event.Builder subBuilder = null;
+                                if (event_ != null) {
+                                    subBuilder = event_.toBuilder();
+                                }
+                                event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(event_);
+                                    event_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.ServiceId.Builder subBuilder = null;
+                                if (serviceId_ != null) {
+                                    subBuilder = serviceId_.toBuilder();
+                                }
+                                serviceId_ = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(serviceId_);
+                                    serviceId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ServiceEvent_descriptor;
         }
@@ -32964,7 +34352,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() {
-            return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_;
+            return getEvent();
         }
 
         public static final int SERVICE_ID_FIELD_NUMBER = 2;
@@ -32994,7 +34382,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() {
-            return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_;
+            return getServiceId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -33018,7 +34406,7 @@ public final class ContextOuterClass {
             if (serviceId_ != null) {
                 output.writeMessage(2, getServiceId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -33033,7 +34421,7 @@ public final class ContextOuterClass {
             if (serviceId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getServiceId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -33059,7 +34447,7 @@ public final class ContextOuterClass {
                 if (!getServiceId().equals(other.getServiceId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -33079,7 +34467,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SERVICE_ID_FIELD_NUMBER;
                 hash = (53 * hash) + getServiceId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -33173,24 +34561,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ServiceEvent.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                serviceId_ = null;
-                if (serviceIdBuilder_ != null) {
-                    serviceIdBuilder_.dispose();
+                if (serviceIdBuilder_ == null) {
+                    serviceId_ = null;
+                } else {
+                    serviceId_ = null;
                     serviceIdBuilder_ = null;
                 }
                 return this;
@@ -33218,21 +34614,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ServiceEvent buildPartial() {
                 context.ContextOuterClass.ServiceEvent result = new context.ContextOuterClass.ServiceEvent(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (eventBuilder_ == null) {
+                    result.event_ = event_;
+                } else {
+                    result.event_ = eventBuilder_.build();
+                }
+                if (serviceIdBuilder_ == null) {
+                    result.serviceId_ = serviceId_;
+                } else {
+                    result.serviceId_ = serviceIdBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ServiceEvent result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.event_ = eventBuilder_ == null ? event_ : eventBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.serviceId_ = serviceIdBuilder_ == null ? serviceId_ : serviceIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -33254,7 +34677,7 @@ public final class ContextOuterClass {
                 if (other.hasServiceId()) {
                     mergeServiceId(other.getServiceId());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -33266,54 +34689,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ServiceEvent parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEventFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getServiceIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ServiceEvent) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Event event_;
 
             private com.google.protobuf.SingleFieldBuilderV3 eventBuilder_;
@@ -33323,7 +34712,7 @@ public final class ContextOuterClass {
              * @return Whether the event field is set.
              */
             public boolean hasEvent() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return eventBuilder_ != null || event_ != null;
             }
 
             /**
@@ -33347,11 +34736,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     event_ = value;
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -33361,11 +34749,10 @@ public final class ContextOuterClass {
             public Builder setEvent(context.ContextOuterClass.Event.Builder builderForValue) {
                 if (eventBuilder_ == null) {
                     event_ = builderForValue.build();
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -33374,16 +34761,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEvent(context.ContextOuterClass.Event value) {
                 if (eventBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && event_ != null && event_ != context.ContextOuterClass.Event.getDefaultInstance()) {
-                        getEventBuilder().mergeFrom(value);
+                    if (event_ != null) {
+                        event_ = context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial();
                     } else {
                         event_ = value;
                     }
+                    onChanged();
                 } else {
                     eventBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -33391,13 +34777,13 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public Builder clearEvent() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                    onChanged();
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -33405,7 +34791,6 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public context.ContextOuterClass.Event.Builder getEventBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEventFieldBuilder().getBuilder();
             }
@@ -33441,7 +34826,7 @@ public final class ContextOuterClass {
              * @return Whether the serviceId field is set.
              */
             public boolean hasServiceId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return serviceIdBuilder_ != null || serviceId_ != null;
             }
 
             /**
@@ -33465,11 +34850,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     serviceId_ = value;
+                    onChanged();
                 } else {
                     serviceIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -33479,11 +34863,10 @@ public final class ContextOuterClass {
             public Builder setServiceId(context.ContextOuterClass.ServiceId.Builder builderForValue) {
                 if (serviceIdBuilder_ == null) {
                     serviceId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     serviceIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -33492,16 +34875,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeServiceId(context.ContextOuterClass.ServiceId value) {
                 if (serviceIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && serviceId_ != null && serviceId_ != context.ContextOuterClass.ServiceId.getDefaultInstance()) {
-                        getServiceIdBuilder().mergeFrom(value);
+                    if (serviceId_ != null) {
+                        serviceId_ = context.ContextOuterClass.ServiceId.newBuilder(serviceId_).mergeFrom(value).buildPartial();
                     } else {
                         serviceId_ = value;
                     }
+                    onChanged();
                 } else {
                     serviceIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -33509,13 +34891,13 @@ public final class ContextOuterClass {
              * .context.ServiceId service_id = 2;
              */
             public Builder clearServiceId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                serviceId_ = null;
-                if (serviceIdBuilder_ != null) {
-                    serviceIdBuilder_.dispose();
+                if (serviceIdBuilder_ == null) {
+                    serviceId_ = null;
+                    onChanged();
+                } else {
+                    serviceId_ = null;
                     serviceIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -33523,7 +34905,6 @@ public final class ContextOuterClass {
              * .context.ServiceId service_id = 2;
              */
             public context.ContextOuterClass.ServiceId.Builder getServiceIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getServiceIdFieldBuilder().getBuilder();
             }
@@ -33577,17 +34958,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ServiceEvent parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ServiceEvent(input, extensionRegistry);
             }
         };
 
@@ -33670,6 +35041,70 @@ public final class ContextOuterClass {
             return new SliceId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SliceId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ContextId.Builder subBuilder = null;
+                                if (contextId_ != null) {
+                                    subBuilder = contextId_.toBuilder();
+                                }
+                                contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(contextId_);
+                                    contextId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (sliceUuid_ != null) {
+                                    subBuilder = sliceUuid_.toBuilder();
+                                }
+                                sliceUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(sliceUuid_);
+                                    sliceUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_SliceId_descriptor;
         }
@@ -33706,7 +35141,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() {
-            return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_;
+            return getContextId();
         }
 
         public static final int SLICE_UUID_FIELD_NUMBER = 2;
@@ -33736,7 +35171,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getSliceUuidOrBuilder() {
-            return sliceUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : sliceUuid_;
+            return getSliceUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -33760,7 +35195,7 @@ public final class ContextOuterClass {
             if (sliceUuid_ != null) {
                 output.writeMessage(2, getSliceUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -33775,7 +35210,7 @@ public final class ContextOuterClass {
             if (sliceUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getSliceUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -33801,7 +35236,7 @@ public final class ContextOuterClass {
                 if (!getSliceUuid().equals(other.getSliceUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -33821,7 +35256,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SLICE_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getSliceUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -33919,24 +35354,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.SliceId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
-                sliceUuid_ = null;
-                if (sliceUuidBuilder_ != null) {
-                    sliceUuidBuilder_.dispose();
+                if (sliceUuidBuilder_ == null) {
+                    sliceUuid_ = null;
+                } else {
+                    sliceUuid_ = null;
                     sliceUuidBuilder_ = null;
                 }
                 return this;
@@ -33964,21 +35407,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.SliceId buildPartial() {
                 context.ContextOuterClass.SliceId result = new context.ContextOuterClass.SliceId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (contextIdBuilder_ == null) {
+                    result.contextId_ = contextId_;
+                } else {
+                    result.contextId_ = contextIdBuilder_.build();
+                }
+                if (sliceUuidBuilder_ == null) {
+                    result.sliceUuid_ = sliceUuid_;
+                } else {
+                    result.sliceUuid_ = sliceUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.SliceId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.contextId_ = contextIdBuilder_ == null ? contextId_ : contextIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.sliceUuid_ = sliceUuidBuilder_ == null ? sliceUuid_ : sliceUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -34000,7 +35470,7 @@ public final class ContextOuterClass {
                 if (other.hasSliceUuid()) {
                     mergeSliceUuid(other.getSliceUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -34012,54 +35482,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.SliceId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getContextIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getSliceUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.SliceId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.ContextId contextId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 contextIdBuilder_;
@@ -34069,7 +35505,7 @@ public final class ContextOuterClass {
              * @return Whether the contextId field is set.
              */
             public boolean hasContextId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return contextIdBuilder_ != null || contextId_ != null;
             }
 
             /**
@@ -34093,11 +35529,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     contextId_ = value;
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -34107,11 +35542,10 @@ public final class ContextOuterClass {
             public Builder setContextId(context.ContextOuterClass.ContextId.Builder builderForValue) {
                 if (contextIdBuilder_ == null) {
                     contextId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -34120,16 +35554,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeContextId(context.ContextOuterClass.ContextId value) {
                 if (contextIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && contextId_ != null && contextId_ != context.ContextOuterClass.ContextId.getDefaultInstance()) {
-                        getContextIdBuilder().mergeFrom(value);
+                    if (contextId_ != null) {
+                        contextId_ = context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial();
                     } else {
                         contextId_ = value;
                     }
+                    onChanged();
                 } else {
                     contextIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -34137,13 +35570,13 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public Builder clearContextId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                    onChanged();
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -34151,7 +35584,6 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getContextIdFieldBuilder().getBuilder();
             }
@@ -34187,7 +35619,7 @@ public final class ContextOuterClass {
              * @return Whether the sliceUuid field is set.
              */
             public boolean hasSliceUuid() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return sliceUuidBuilder_ != null || sliceUuid_ != null;
             }
 
             /**
@@ -34211,11 +35643,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     sliceUuid_ = value;
+                    onChanged();
                 } else {
                     sliceUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -34225,11 +35656,10 @@ public final class ContextOuterClass {
             public Builder setSliceUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (sliceUuidBuilder_ == null) {
                     sliceUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     sliceUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -34238,16 +35668,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeSliceUuid(context.ContextOuterClass.Uuid value) {
                 if (sliceUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && sliceUuid_ != null && sliceUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getSliceUuidBuilder().mergeFrom(value);
+                    if (sliceUuid_ != null) {
+                        sliceUuid_ = context.ContextOuterClass.Uuid.newBuilder(sliceUuid_).mergeFrom(value).buildPartial();
                     } else {
                         sliceUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     sliceUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -34255,13 +35684,13 @@ public final class ContextOuterClass {
              * .context.Uuid slice_uuid = 2;
              */
             public Builder clearSliceUuid() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                sliceUuid_ = null;
-                if (sliceUuidBuilder_ != null) {
-                    sliceUuidBuilder_.dispose();
+                if (sliceUuidBuilder_ == null) {
+                    sliceUuid_ = null;
+                    onChanged();
+                } else {
+                    sliceUuid_ = null;
                     sliceUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -34269,7 +35698,6 @@ public final class ContextOuterClass {
              * .context.Uuid slice_uuid = 2;
              */
             public context.ContextOuterClass.Uuid.Builder getSliceUuidBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getSliceUuidFieldBuilder().getBuilder();
             }
@@ -34323,17 +35751,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public SliceId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SliceId(input, extensionRegistry);
             }
         };
 
@@ -34580,6 +35998,164 @@ public final class ContextOuterClass {
             return new Slice();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Slice(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.SliceId.Builder subBuilder = null;
+                                if (sliceId_ != null) {
+                                    subBuilder = sliceId_.toBuilder();
+                                }
+                                sliceId_ = input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(sliceId_);
+                                    sliceId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    sliceEndpointIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                sliceEndpointIds_.add(input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 34:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+                                    sliceConstraints_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000002;
+                                }
+                                sliceConstraints_.add(input.readMessage(context.ContextOuterClass.Constraint.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 42:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000004) != 0)) {
+                                    sliceServiceIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000004;
+                                }
+                                sliceServiceIds_.add(input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 50:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000008) != 0)) {
+                                    sliceSubsliceIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000008;
+                                }
+                                sliceSubsliceIds_.add(input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 58:
+                            {
+                                context.ContextOuterClass.SliceStatus.Builder subBuilder = null;
+                                if (sliceStatus_ != null) {
+                                    subBuilder = sliceStatus_.toBuilder();
+                                }
+                                sliceStatus_ = input.readMessage(context.ContextOuterClass.SliceStatus.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(sliceStatus_);
+                                    sliceStatus_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 66:
+                            {
+                                context.ContextOuterClass.SliceConfig.Builder subBuilder = null;
+                                if (sliceConfig_ != null) {
+                                    subBuilder = sliceConfig_.toBuilder();
+                                }
+                                sliceConfig_ = input.readMessage(context.ContextOuterClass.SliceConfig.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(sliceConfig_);
+                                    sliceConfig_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 74:
+                            {
+                                context.ContextOuterClass.SliceOwner.Builder subBuilder = null;
+                                if (sliceOwner_ != null) {
+                                    subBuilder = sliceOwner_.toBuilder();
+                                }
+                                sliceOwner_ = input.readMessage(context.ContextOuterClass.SliceOwner.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(sliceOwner_);
+                                    sliceOwner_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 82:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (timestamp_ != null) {
+                                    subBuilder = timestamp_.toBuilder();
+                                }
+                                timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(timestamp_);
+                                    timestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    sliceEndpointIds_ = java.util.Collections.unmodifiableList(sliceEndpointIds_);
+                }
+                if (((mutable_bitField0_ & 0x00000002) != 0)) {
+                    sliceConstraints_ = java.util.Collections.unmodifiableList(sliceConstraints_);
+                }
+                if (((mutable_bitField0_ & 0x00000004) != 0)) {
+                    sliceServiceIds_ = java.util.Collections.unmodifiableList(sliceServiceIds_);
+                }
+                if (((mutable_bitField0_ & 0x00000008) != 0)) {
+                    sliceSubsliceIds_ = java.util.Collections.unmodifiableList(sliceSubsliceIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Slice_descriptor;
         }
@@ -34616,13 +36192,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.SliceIdOrBuilder getSliceIdOrBuilder() {
-            return sliceId_ == null ? context.ContextOuterClass.SliceId.getDefaultInstance() : sliceId_;
+            return getSliceId();
         }
 
         public static final int NAME_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 2;
@@ -34659,7 +36234,6 @@ public final class ContextOuterClass {
 
         public static final int SLICE_ENDPOINT_IDS_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
         private java.util.List sliceEndpointIds_;
 
         /**
@@ -34704,7 +36278,6 @@ public final class ContextOuterClass {
 
         public static final int SLICE_CONSTRAINTS_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
         private java.util.List sliceConstraints_;
 
         /**
@@ -34749,7 +36322,6 @@ public final class ContextOuterClass {
 
         public static final int SLICE_SERVICE_IDS_FIELD_NUMBER = 5;
 
-        @SuppressWarnings("serial")
         private java.util.List sliceServiceIds_;
 
         /**
@@ -34794,7 +36366,6 @@ public final class ContextOuterClass {
 
         public static final int SLICE_SUBSLICE_IDS_FIELD_NUMBER = 6;
 
-        @SuppressWarnings("serial")
         private java.util.List sliceSubsliceIds_;
 
         /**
@@ -34864,7 +36435,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.SliceStatusOrBuilder getSliceStatusOrBuilder() {
-            return sliceStatus_ == null ? context.ContextOuterClass.SliceStatus.getDefaultInstance() : sliceStatus_;
+            return getSliceStatus();
         }
 
         public static final int SLICE_CONFIG_FIELD_NUMBER = 8;
@@ -34894,7 +36465,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.SliceConfigOrBuilder getSliceConfigOrBuilder() {
-            return sliceConfig_ == null ? context.ContextOuterClass.SliceConfig.getDefaultInstance() : sliceConfig_;
+            return getSliceConfig();
         }
 
         public static final int SLICE_OWNER_FIELD_NUMBER = 9;
@@ -34924,7 +36495,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.SliceOwnerOrBuilder getSliceOwnerOrBuilder() {
-            return sliceOwner_ == null ? context.ContextOuterClass.SliceOwner.getDefaultInstance() : sliceOwner_;
+            return getSliceOwner();
         }
 
         public static final int TIMESTAMP_FIELD_NUMBER = 10;
@@ -34954,7 +36525,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() {
-            return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_;
+            return getTimestamp();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -34975,7 +36546,7 @@ public final class ContextOuterClass {
             if (sliceId_ != null) {
                 output.writeMessage(1, getSliceId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
             }
             for (int i = 0; i < sliceEndpointIds_.size(); i++) {
@@ -35002,7 +36573,7 @@ public final class ContextOuterClass {
             if (timestamp_ != null) {
                 output.writeMessage(10, getTimestamp());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -35014,7 +36585,7 @@ public final class ContextOuterClass {
             if (sliceId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getSliceId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
             }
             for (int i = 0; i < sliceEndpointIds_.size(); i++) {
@@ -35041,7 +36612,7 @@ public final class ContextOuterClass {
             if (timestamp_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, getTimestamp());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -35095,7 +36666,7 @@ public final class ContextOuterClass {
                 if (!getTimestamp().equals(other.getTimestamp()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -35145,7 +36716,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
                 hash = (53 * hash) + getTimestamp().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -35239,68 +36810,79 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Slice.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getSliceEndpointIdsFieldBuilder();
+                    getSliceConstraintsFieldBuilder();
+                    getSliceServiceIdsFieldBuilder();
+                    getSliceSubsliceIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                sliceId_ = null;
-                if (sliceIdBuilder_ != null) {
-                    sliceIdBuilder_.dispose();
+                if (sliceIdBuilder_ == null) {
+                    sliceId_ = null;
+                } else {
+                    sliceId_ = null;
                     sliceIdBuilder_ = null;
                 }
                 name_ = "";
                 if (sliceEndpointIdsBuilder_ == null) {
                     sliceEndpointIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    sliceEndpointIds_ = null;
                     sliceEndpointIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000004);
                 if (sliceConstraintsBuilder_ == null) {
                     sliceConstraints_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000002);
                 } else {
-                    sliceConstraints_ = null;
                     sliceConstraintsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000008);
                 if (sliceServiceIdsBuilder_ == null) {
                     sliceServiceIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000004);
                 } else {
-                    sliceServiceIds_ = null;
                     sliceServiceIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000010);
                 if (sliceSubsliceIdsBuilder_ == null) {
                     sliceSubsliceIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000008);
                 } else {
-                    sliceSubsliceIds_ = null;
                     sliceSubsliceIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000020);
-                sliceStatus_ = null;
-                if (sliceStatusBuilder_ != null) {
-                    sliceStatusBuilder_.dispose();
+                if (sliceStatusBuilder_ == null) {
+                    sliceStatus_ = null;
+                } else {
+                    sliceStatus_ = null;
                     sliceStatusBuilder_ = null;
                 }
-                sliceConfig_ = null;
-                if (sliceConfigBuilder_ != null) {
-                    sliceConfigBuilder_.dispose();
+                if (sliceConfigBuilder_ == null) {
+                    sliceConfig_ = null;
+                } else {
+                    sliceConfig_ = null;
                     sliceConfigBuilder_ = null;
                 }
-                sliceOwner_ = null;
-                if (sliceOwnerBuilder_ != null) {
-                    sliceOwnerBuilder_.dispose();
+                if (sliceOwnerBuilder_ == null) {
+                    sliceOwner_ = null;
+                } else {
+                    sliceOwner_ = null;
                     sliceOwnerBuilder_ = null;
                 }
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
                 return this;
@@ -35328,73 +36910,101 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Slice buildPartial() {
                 context.ContextOuterClass.Slice result = new context.ContextOuterClass.Slice(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (sliceIdBuilder_ == null) {
+                    result.sliceId_ = sliceId_;
+                } else {
+                    result.sliceId_ = sliceIdBuilder_.build();
                 }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.Slice result) {
+                result.name_ = name_;
                 if (sliceEndpointIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         sliceEndpointIds_ = java.util.Collections.unmodifiableList(sliceEndpointIds_);
-                        bitField0_ = (bitField0_ & ~0x00000004);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.sliceEndpointIds_ = sliceEndpointIds_;
                 } else {
                     result.sliceEndpointIds_ = sliceEndpointIdsBuilder_.build();
                 }
                 if (sliceConstraintsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0)) {
+                    if (((bitField0_ & 0x00000002) != 0)) {
                         sliceConstraints_ = java.util.Collections.unmodifiableList(sliceConstraints_);
-                        bitField0_ = (bitField0_ & ~0x00000008);
+                        bitField0_ = (bitField0_ & ~0x00000002);
                     }
                     result.sliceConstraints_ = sliceConstraints_;
                 } else {
                     result.sliceConstraints_ = sliceConstraintsBuilder_.build();
                 }
                 if (sliceServiceIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000010) != 0)) {
+                    if (((bitField0_ & 0x00000004) != 0)) {
                         sliceServiceIds_ = java.util.Collections.unmodifiableList(sliceServiceIds_);
-                        bitField0_ = (bitField0_ & ~0x00000010);
+                        bitField0_ = (bitField0_ & ~0x00000004);
                     }
                     result.sliceServiceIds_ = sliceServiceIds_;
                 } else {
                     result.sliceServiceIds_ = sliceServiceIdsBuilder_.build();
                 }
                 if (sliceSubsliceIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000020) != 0)) {
+                    if (((bitField0_ & 0x00000008) != 0)) {
                         sliceSubsliceIds_ = java.util.Collections.unmodifiableList(sliceSubsliceIds_);
-                        bitField0_ = (bitField0_ & ~0x00000020);
+                        bitField0_ = (bitField0_ & ~0x00000008);
                     }
                     result.sliceSubsliceIds_ = sliceSubsliceIds_;
                 } else {
                     result.sliceSubsliceIds_ = sliceSubsliceIdsBuilder_.build();
                 }
-            }
-
-            private void buildPartial0(context.ContextOuterClass.Slice result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.sliceId_ = sliceIdBuilder_ == null ? sliceId_ : sliceIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.name_ = name_;
-                }
-                if (((from_bitField0_ & 0x00000040) != 0)) {
-                    result.sliceStatus_ = sliceStatusBuilder_ == null ? sliceStatus_ : sliceStatusBuilder_.build();
+                if (sliceStatusBuilder_ == null) {
+                    result.sliceStatus_ = sliceStatus_;
+                } else {
+                    result.sliceStatus_ = sliceStatusBuilder_.build();
                 }
-                if (((from_bitField0_ & 0x00000080) != 0)) {
-                    result.sliceConfig_ = sliceConfigBuilder_ == null ? sliceConfig_ : sliceConfigBuilder_.build();
+                if (sliceConfigBuilder_ == null) {
+                    result.sliceConfig_ = sliceConfig_;
+                } else {
+                    result.sliceConfig_ = sliceConfigBuilder_.build();
                 }
-                if (((from_bitField0_ & 0x00000100) != 0)) {
-                    result.sliceOwner_ = sliceOwnerBuilder_ == null ? sliceOwner_ : sliceOwnerBuilder_.build();
+                if (sliceOwnerBuilder_ == null) {
+                    result.sliceOwner_ = sliceOwner_;
+                } else {
+                    result.sliceOwner_ = sliceOwnerBuilder_.build();
                 }
-                if (((from_bitField0_ & 0x00000200) != 0)) {
-                    result.timestamp_ = timestampBuilder_ == null ? timestamp_ : timestampBuilder_.build();
+                if (timestampBuilder_ == null) {
+                    result.timestamp_ = timestamp_;
+                } else {
+                    result.timestamp_ = timestampBuilder_.build();
                 }
+                onBuilt();
+                return result;
+            }
+
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -35415,14 +37025,13 @@ public final class ContextOuterClass {
                 }
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (sliceEndpointIdsBuilder_ == null) {
                     if (!other.sliceEndpointIds_.isEmpty()) {
                         if (sliceEndpointIds_.isEmpty()) {
                             sliceEndpointIds_ = other.sliceEndpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureSliceEndpointIdsIsMutable();
                             sliceEndpointIds_.addAll(other.sliceEndpointIds_);
@@ -35435,7 +37044,7 @@ public final class ContextOuterClass {
                             sliceEndpointIdsBuilder_.dispose();
                             sliceEndpointIdsBuilder_ = null;
                             sliceEndpointIds_ = other.sliceEndpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             sliceEndpointIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getSliceEndpointIdsFieldBuilder() : null;
                         } else {
                             sliceEndpointIdsBuilder_.addAllMessages(other.sliceEndpointIds_);
@@ -35446,7 +37055,7 @@ public final class ContextOuterClass {
                     if (!other.sliceConstraints_.isEmpty()) {
                         if (sliceConstraints_.isEmpty()) {
                             sliceConstraints_ = other.sliceConstraints_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                         } else {
                             ensureSliceConstraintsIsMutable();
                             sliceConstraints_.addAll(other.sliceConstraints_);
@@ -35459,7 +37068,7 @@ public final class ContextOuterClass {
                             sliceConstraintsBuilder_.dispose();
                             sliceConstraintsBuilder_ = null;
                             sliceConstraints_ = other.sliceConstraints_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                             sliceConstraintsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getSliceConstraintsFieldBuilder() : null;
                         } else {
                             sliceConstraintsBuilder_.addAllMessages(other.sliceConstraints_);
@@ -35470,7 +37079,7 @@ public final class ContextOuterClass {
                     if (!other.sliceServiceIds_.isEmpty()) {
                         if (sliceServiceIds_.isEmpty()) {
                             sliceServiceIds_ = other.sliceServiceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000010);
+                            bitField0_ = (bitField0_ & ~0x00000004);
                         } else {
                             ensureSliceServiceIdsIsMutable();
                             sliceServiceIds_.addAll(other.sliceServiceIds_);
@@ -35483,7 +37092,7 @@ public final class ContextOuterClass {
                             sliceServiceIdsBuilder_.dispose();
                             sliceServiceIdsBuilder_ = null;
                             sliceServiceIds_ = other.sliceServiceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000010);
+                            bitField0_ = (bitField0_ & ~0x00000004);
                             sliceServiceIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getSliceServiceIdsFieldBuilder() : null;
                         } else {
                             sliceServiceIdsBuilder_.addAllMessages(other.sliceServiceIds_);
@@ -35494,7 +37103,7 @@ public final class ContextOuterClass {
                     if (!other.sliceSubsliceIds_.isEmpty()) {
                         if (sliceSubsliceIds_.isEmpty()) {
                             sliceSubsliceIds_ = other.sliceSubsliceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000020);
+                            bitField0_ = (bitField0_ & ~0x00000008);
                         } else {
                             ensureSliceSubsliceIdsIsMutable();
                             sliceSubsliceIds_.addAll(other.sliceSubsliceIds_);
@@ -35507,7 +37116,7 @@ public final class ContextOuterClass {
                             sliceSubsliceIdsBuilder_.dispose();
                             sliceSubsliceIdsBuilder_ = null;
                             sliceSubsliceIds_ = other.sliceSubsliceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000020);
+                            bitField0_ = (bitField0_ & ~0x00000008);
                             sliceSubsliceIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getSliceSubsliceIdsFieldBuilder() : null;
                         } else {
                             sliceSubsliceIdsBuilder_.addAllMessages(other.sliceSubsliceIds_);
@@ -35526,7 +37135,7 @@ public final class ContextOuterClass {
                 if (other.hasTimestamp()) {
                     mergeTimestamp(other.getTimestamp());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -35538,125 +37147,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Slice parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getSliceIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    context.ContextOuterClass.EndPointId m = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
-                                    if (sliceEndpointIdsBuilder_ == null) {
-                                        ensureSliceEndpointIdsIsMutable();
-                                        sliceEndpointIds_.add(m);
-                                    } else {
-                                        sliceEndpointIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    context.ContextOuterClass.Constraint m = input.readMessage(context.ContextOuterClass.Constraint.parser(), extensionRegistry);
-                                    if (sliceConstraintsBuilder_ == null) {
-                                        ensureSliceConstraintsIsMutable();
-                                        sliceConstraints_.add(m);
-                                    } else {
-                                        sliceConstraintsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    context.ContextOuterClass.ServiceId m = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry);
-                                    if (sliceServiceIdsBuilder_ == null) {
-                                        ensureSliceServiceIdsIsMutable();
-                                        sliceServiceIds_.add(m);
-                                    } else {
-                                        sliceServiceIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 42
-                            case 50:
-                                {
-                                    context.ContextOuterClass.SliceId m = input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry);
-                                    if (sliceSubsliceIdsBuilder_ == null) {
-                                        ensureSliceSubsliceIdsIsMutable();
-                                        sliceSubsliceIds_.add(m);
-                                    } else {
-                                        sliceSubsliceIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 50
-                            case 58:
-                                {
-                                    input.readMessage(getSliceStatusFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000040;
-                                    break;
-                                }
-                            // case 58
-                            case 66:
-                                {
-                                    input.readMessage(getSliceConfigFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000080;
-                                    break;
-                                }
-                            // case 66
-                            case 74:
-                                {
-                                    input.readMessage(getSliceOwnerFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000100;
-                                    break;
-                                }
-                            // case 74
-                            case 82:
-                                {
-                                    input.readMessage(getTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000200;
-                                    break;
-                                }
-                            // case 82
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Slice) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -35671,7 +37172,7 @@ public final class ContextOuterClass {
              * @return Whether the sliceId field is set.
              */
             public boolean hasSliceId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return sliceIdBuilder_ != null || sliceId_ != null;
             }
 
             /**
@@ -35695,11 +37196,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     sliceId_ = value;
+                    onChanged();
                 } else {
                     sliceIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -35709,11 +37209,10 @@ public final class ContextOuterClass {
             public Builder setSliceId(context.ContextOuterClass.SliceId.Builder builderForValue) {
                 if (sliceIdBuilder_ == null) {
                     sliceId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     sliceIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -35722,16 +37221,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeSliceId(context.ContextOuterClass.SliceId value) {
                 if (sliceIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && sliceId_ != null && sliceId_ != context.ContextOuterClass.SliceId.getDefaultInstance()) {
-                        getSliceIdBuilder().mergeFrom(value);
+                    if (sliceId_ != null) {
+                        sliceId_ = context.ContextOuterClass.SliceId.newBuilder(sliceId_).mergeFrom(value).buildPartial();
                     } else {
                         sliceId_ = value;
                     }
+                    onChanged();
                 } else {
                     sliceIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -35739,13 +37237,13 @@ public final class ContextOuterClass {
              * .context.SliceId slice_id = 1;
              */
             public Builder clearSliceId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                sliceId_ = null;
-                if (sliceIdBuilder_ != null) {
-                    sliceIdBuilder_.dispose();
+                if (sliceIdBuilder_ == null) {
+                    sliceId_ = null;
+                    onChanged();
+                } else {
+                    sliceId_ = null;
                     sliceIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -35753,7 +37251,6 @@ public final class ContextOuterClass {
              * .context.SliceId slice_id = 1;
              */
             public context.ContextOuterClass.SliceId.Builder getSliceIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getSliceIdFieldBuilder().getBuilder();
             }
@@ -35823,7 +37320,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -35834,7 +37330,6 @@ public final class ContextOuterClass {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -35850,7 +37345,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -35858,9 +37352,9 @@ public final class ContextOuterClass {
             private java.util.List sliceEndpointIds_ = java.util.Collections.emptyList();
 
             private void ensureSliceEndpointIdsIsMutable() {
-                if (!((bitField0_ & 0x00000004) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     sliceEndpointIds_ = new java.util.ArrayList(sliceEndpointIds_);
-                    bitField0_ |= 0x00000004;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -36012,7 +37506,7 @@ public final class ContextOuterClass {
             public Builder clearSliceEndpointIds() {
                 if (sliceEndpointIdsBuilder_ == null) {
                     sliceEndpointIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000004);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     sliceEndpointIdsBuilder_.clear();
@@ -36086,7 +37580,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getSliceEndpointIdsFieldBuilder() {
                 if (sliceEndpointIdsBuilder_ == null) {
-                    sliceEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceEndpointIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
+                    sliceEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceEndpointIds_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     sliceEndpointIds_ = null;
                 }
                 return sliceEndpointIdsBuilder_;
@@ -36095,9 +37589,9 @@ public final class ContextOuterClass {
             private java.util.List sliceConstraints_ = java.util.Collections.emptyList();
 
             private void ensureSliceConstraintsIsMutable() {
-                if (!((bitField0_ & 0x00000008) != 0)) {
+                if (!((bitField0_ & 0x00000002) != 0)) {
                     sliceConstraints_ = new java.util.ArrayList(sliceConstraints_);
-                    bitField0_ |= 0x00000008;
+                    bitField0_ |= 0x00000002;
                 }
             }
 
@@ -36249,7 +37743,7 @@ public final class ContextOuterClass {
             public Builder clearSliceConstraints() {
                 if (sliceConstraintsBuilder_ == null) {
                     sliceConstraints_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000008);
+                    bitField0_ = (bitField0_ & ~0x00000002);
                     onChanged();
                 } else {
                     sliceConstraintsBuilder_.clear();
@@ -36323,7 +37817,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getSliceConstraintsFieldBuilder() {
                 if (sliceConstraintsBuilder_ == null) {
-                    sliceConstraintsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceConstraints_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
+                    sliceConstraintsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceConstraints_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
                     sliceConstraints_ = null;
                 }
                 return sliceConstraintsBuilder_;
@@ -36332,9 +37826,9 @@ public final class ContextOuterClass {
             private java.util.List sliceServiceIds_ = java.util.Collections.emptyList();
 
             private void ensureSliceServiceIdsIsMutable() {
-                if (!((bitField0_ & 0x00000010) != 0)) {
+                if (!((bitField0_ & 0x00000004) != 0)) {
                     sliceServiceIds_ = new java.util.ArrayList(sliceServiceIds_);
-                    bitField0_ |= 0x00000010;
+                    bitField0_ |= 0x00000004;
                 }
             }
 
@@ -36486,7 +37980,7 @@ public final class ContextOuterClass {
             public Builder clearSliceServiceIds() {
                 if (sliceServiceIdsBuilder_ == null) {
                     sliceServiceIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000010);
+                    bitField0_ = (bitField0_ & ~0x00000004);
                     onChanged();
                 } else {
                     sliceServiceIdsBuilder_.clear();
@@ -36560,7 +38054,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getSliceServiceIdsFieldBuilder() {
                 if (sliceServiceIdsBuilder_ == null) {
-                    sliceServiceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceServiceIds_, ((bitField0_ & 0x00000010) != 0), getParentForChildren(), isClean());
+                    sliceServiceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceServiceIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
                     sliceServiceIds_ = null;
                 }
                 return sliceServiceIdsBuilder_;
@@ -36569,9 +38063,9 @@ public final class ContextOuterClass {
             private java.util.List sliceSubsliceIds_ = java.util.Collections.emptyList();
 
             private void ensureSliceSubsliceIdsIsMutable() {
-                if (!((bitField0_ & 0x00000020) != 0)) {
+                if (!((bitField0_ & 0x00000008) != 0)) {
                     sliceSubsliceIds_ = new java.util.ArrayList(sliceSubsliceIds_);
-                    bitField0_ |= 0x00000020;
+                    bitField0_ |= 0x00000008;
                 }
             }
 
@@ -36723,7 +38217,7 @@ public final class ContextOuterClass {
             public Builder clearSliceSubsliceIds() {
                 if (sliceSubsliceIdsBuilder_ == null) {
                     sliceSubsliceIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000020);
+                    bitField0_ = (bitField0_ & ~0x00000008);
                     onChanged();
                 } else {
                     sliceSubsliceIdsBuilder_.clear();
@@ -36797,7 +38291,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getSliceSubsliceIdsFieldBuilder() {
                 if (sliceSubsliceIdsBuilder_ == null) {
-                    sliceSubsliceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceSubsliceIds_, ((bitField0_ & 0x00000020) != 0), getParentForChildren(), isClean());
+                    sliceSubsliceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(sliceSubsliceIds_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
                     sliceSubsliceIds_ = null;
                 }
                 return sliceSubsliceIdsBuilder_;
@@ -36812,7 +38306,7 @@ public final class ContextOuterClass {
              * @return Whether the sliceStatus field is set.
              */
             public boolean hasSliceStatus() {
-                return ((bitField0_ & 0x00000040) != 0);
+                return sliceStatusBuilder_ != null || sliceStatus_ != null;
             }
 
             /**
@@ -36836,11 +38330,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     sliceStatus_ = value;
+                    onChanged();
                 } else {
                     sliceStatusBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000040;
-                onChanged();
                 return this;
             }
 
@@ -36850,11 +38343,10 @@ public final class ContextOuterClass {
             public Builder setSliceStatus(context.ContextOuterClass.SliceStatus.Builder builderForValue) {
                 if (sliceStatusBuilder_ == null) {
                     sliceStatus_ = builderForValue.build();
+                    onChanged();
                 } else {
                     sliceStatusBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000040;
-                onChanged();
                 return this;
             }
 
@@ -36863,16 +38355,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeSliceStatus(context.ContextOuterClass.SliceStatus value) {
                 if (sliceStatusBuilder_ == null) {
-                    if (((bitField0_ & 0x00000040) != 0) && sliceStatus_ != null && sliceStatus_ != context.ContextOuterClass.SliceStatus.getDefaultInstance()) {
-                        getSliceStatusBuilder().mergeFrom(value);
+                    if (sliceStatus_ != null) {
+                        sliceStatus_ = context.ContextOuterClass.SliceStatus.newBuilder(sliceStatus_).mergeFrom(value).buildPartial();
                     } else {
                         sliceStatus_ = value;
                     }
+                    onChanged();
                 } else {
                     sliceStatusBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000040;
-                onChanged();
                 return this;
             }
 
@@ -36880,13 +38371,13 @@ public final class ContextOuterClass {
              * .context.SliceStatus slice_status = 7;
              */
             public Builder clearSliceStatus() {
-                bitField0_ = (bitField0_ & ~0x00000040);
-                sliceStatus_ = null;
-                if (sliceStatusBuilder_ != null) {
-                    sliceStatusBuilder_.dispose();
+                if (sliceStatusBuilder_ == null) {
+                    sliceStatus_ = null;
+                    onChanged();
+                } else {
+                    sliceStatus_ = null;
                     sliceStatusBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -36894,7 +38385,6 @@ public final class ContextOuterClass {
              * .context.SliceStatus slice_status = 7;
              */
             public context.ContextOuterClass.SliceStatus.Builder getSliceStatusBuilder() {
-                bitField0_ |= 0x00000040;
                 onChanged();
                 return getSliceStatusFieldBuilder().getBuilder();
             }
@@ -36930,7 +38420,7 @@ public final class ContextOuterClass {
              * @return Whether the sliceConfig field is set.
              */
             public boolean hasSliceConfig() {
-                return ((bitField0_ & 0x00000080) != 0);
+                return sliceConfigBuilder_ != null || sliceConfig_ != null;
             }
 
             /**
@@ -36954,11 +38444,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     sliceConfig_ = value;
+                    onChanged();
                 } else {
                     sliceConfigBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000080;
-                onChanged();
                 return this;
             }
 
@@ -36968,11 +38457,10 @@ public final class ContextOuterClass {
             public Builder setSliceConfig(context.ContextOuterClass.SliceConfig.Builder builderForValue) {
                 if (sliceConfigBuilder_ == null) {
                     sliceConfig_ = builderForValue.build();
+                    onChanged();
                 } else {
                     sliceConfigBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000080;
-                onChanged();
                 return this;
             }
 
@@ -36981,16 +38469,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeSliceConfig(context.ContextOuterClass.SliceConfig value) {
                 if (sliceConfigBuilder_ == null) {
-                    if (((bitField0_ & 0x00000080) != 0) && sliceConfig_ != null && sliceConfig_ != context.ContextOuterClass.SliceConfig.getDefaultInstance()) {
-                        getSliceConfigBuilder().mergeFrom(value);
+                    if (sliceConfig_ != null) {
+                        sliceConfig_ = context.ContextOuterClass.SliceConfig.newBuilder(sliceConfig_).mergeFrom(value).buildPartial();
                     } else {
                         sliceConfig_ = value;
                     }
+                    onChanged();
                 } else {
                     sliceConfigBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000080;
-                onChanged();
                 return this;
             }
 
@@ -36998,13 +38485,13 @@ public final class ContextOuterClass {
              * .context.SliceConfig slice_config = 8;
              */
             public Builder clearSliceConfig() {
-                bitField0_ = (bitField0_ & ~0x00000080);
-                sliceConfig_ = null;
-                if (sliceConfigBuilder_ != null) {
-                    sliceConfigBuilder_.dispose();
+                if (sliceConfigBuilder_ == null) {
+                    sliceConfig_ = null;
+                    onChanged();
+                } else {
+                    sliceConfig_ = null;
                     sliceConfigBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -37012,7 +38499,6 @@ public final class ContextOuterClass {
              * .context.SliceConfig slice_config = 8;
              */
             public context.ContextOuterClass.SliceConfig.Builder getSliceConfigBuilder() {
-                bitField0_ |= 0x00000080;
                 onChanged();
                 return getSliceConfigFieldBuilder().getBuilder();
             }
@@ -37048,7 +38534,7 @@ public final class ContextOuterClass {
              * @return Whether the sliceOwner field is set.
              */
             public boolean hasSliceOwner() {
-                return ((bitField0_ & 0x00000100) != 0);
+                return sliceOwnerBuilder_ != null || sliceOwner_ != null;
             }
 
             /**
@@ -37072,11 +38558,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     sliceOwner_ = value;
+                    onChanged();
                 } else {
                     sliceOwnerBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000100;
-                onChanged();
                 return this;
             }
 
@@ -37086,11 +38571,10 @@ public final class ContextOuterClass {
             public Builder setSliceOwner(context.ContextOuterClass.SliceOwner.Builder builderForValue) {
                 if (sliceOwnerBuilder_ == null) {
                     sliceOwner_ = builderForValue.build();
+                    onChanged();
                 } else {
                     sliceOwnerBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000100;
-                onChanged();
                 return this;
             }
 
@@ -37099,16 +38583,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeSliceOwner(context.ContextOuterClass.SliceOwner value) {
                 if (sliceOwnerBuilder_ == null) {
-                    if (((bitField0_ & 0x00000100) != 0) && sliceOwner_ != null && sliceOwner_ != context.ContextOuterClass.SliceOwner.getDefaultInstance()) {
-                        getSliceOwnerBuilder().mergeFrom(value);
+                    if (sliceOwner_ != null) {
+                        sliceOwner_ = context.ContextOuterClass.SliceOwner.newBuilder(sliceOwner_).mergeFrom(value).buildPartial();
                     } else {
                         sliceOwner_ = value;
                     }
+                    onChanged();
                 } else {
                     sliceOwnerBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000100;
-                onChanged();
                 return this;
             }
 
@@ -37116,13 +38599,13 @@ public final class ContextOuterClass {
              * .context.SliceOwner slice_owner = 9;
              */
             public Builder clearSliceOwner() {
-                bitField0_ = (bitField0_ & ~0x00000100);
-                sliceOwner_ = null;
-                if (sliceOwnerBuilder_ != null) {
-                    sliceOwnerBuilder_.dispose();
+                if (sliceOwnerBuilder_ == null) {
+                    sliceOwner_ = null;
+                    onChanged();
+                } else {
+                    sliceOwner_ = null;
                     sliceOwnerBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -37130,7 +38613,6 @@ public final class ContextOuterClass {
              * .context.SliceOwner slice_owner = 9;
              */
             public context.ContextOuterClass.SliceOwner.Builder getSliceOwnerBuilder() {
-                bitField0_ |= 0x00000100;
                 onChanged();
                 return getSliceOwnerFieldBuilder().getBuilder();
             }
@@ -37166,7 +38648,7 @@ public final class ContextOuterClass {
              * @return Whether the timestamp field is set.
              */
             public boolean hasTimestamp() {
-                return ((bitField0_ & 0x00000200) != 0);
+                return timestampBuilder_ != null || timestamp_ != null;
             }
 
             /**
@@ -37190,11 +38672,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     timestamp_ = value;
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000200;
-                onChanged();
                 return this;
             }
 
@@ -37204,11 +38685,10 @@ public final class ContextOuterClass {
             public Builder setTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (timestampBuilder_ == null) {
                     timestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000200;
-                onChanged();
                 return this;
             }
 
@@ -37217,16 +38697,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (timestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000200) != 0) && timestamp_ != null && timestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getTimestampBuilder().mergeFrom(value);
+                    if (timestamp_ != null) {
+                        timestamp_ = context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial();
                     } else {
                         timestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     timestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000200;
-                onChanged();
                 return this;
             }
 
@@ -37234,13 +38713,13 @@ public final class ContextOuterClass {
              * .context.Timestamp timestamp = 10;
              */
             public Builder clearTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000200);
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                    onChanged();
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -37248,7 +38727,6 @@ public final class ContextOuterClass {
              * .context.Timestamp timestamp = 10;
              */
             public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() {
-                bitField0_ |= 0x00000200;
                 onChanged();
                 return getTimestampFieldBuilder().getBuilder();
             }
@@ -37302,17 +38780,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Slice parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Slice(input, extensionRegistry);
             }
         };
 
@@ -37387,6 +38855,63 @@ public final class ContextOuterClass {
             return new SliceOwner();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SliceOwner(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (ownerUuid_ != null) {
+                                    subBuilder = ownerUuid_.toBuilder();
+                                }
+                                ownerUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(ownerUuid_);
+                                    ownerUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                ownerString_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_SliceOwner_descriptor;
         }
@@ -37423,13 +38948,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getOwnerUuidOrBuilder() {
-            return ownerUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : ownerUuid_;
+            return getOwnerUuid();
         }
 
         public static final int OWNER_STRING_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object ownerString_ = "";
+        private volatile java.lang.Object ownerString_;
 
         /**
          * string owner_string = 2;
@@ -37482,10 +39006,10 @@ public final class ContextOuterClass {
             if (ownerUuid_ != null) {
                 output.writeMessage(1, getOwnerUuid());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(ownerString_)) {
+            if (!getOwnerStringBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, ownerString_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -37497,10 +39021,10 @@ public final class ContextOuterClass {
             if (ownerUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getOwnerUuid());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(ownerString_)) {
+            if (!getOwnerStringBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, ownerString_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -37522,7 +39046,7 @@ public final class ContextOuterClass {
             }
             if (!getOwnerString().equals(other.getOwnerString()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -37540,7 +39064,7 @@ public final class ContextOuterClass {
             }
             hash = (37 * hash) + OWNER_STRING_FIELD_NUMBER;
             hash = (53 * hash) + getOwnerString().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -37634,19 +39158,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.SliceOwner.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                ownerUuid_ = null;
-                if (ownerUuidBuilder_ != null) {
-                    ownerUuidBuilder_.dispose();
+                if (ownerUuidBuilder_ == null) {
+                    ownerUuid_ = null;
+                } else {
+                    ownerUuid_ = null;
                     ownerUuidBuilder_ = null;
                 }
                 ownerString_ = "";
@@ -37675,21 +39206,44 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.SliceOwner buildPartial() {
                 context.ContextOuterClass.SliceOwner result = new context.ContextOuterClass.SliceOwner(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (ownerUuidBuilder_ == null) {
+                    result.ownerUuid_ = ownerUuid_;
+                } else {
+                    result.ownerUuid_ = ownerUuidBuilder_.build();
                 }
+                result.ownerString_ = ownerString_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.SliceOwner result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.ownerUuid_ = ownerUuidBuilder_ == null ? ownerUuid_ : ownerUuidBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.ownerString_ = ownerString_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -37710,10 +39264,9 @@ public final class ContextOuterClass {
                 }
                 if (!other.getOwnerString().isEmpty()) {
                     ownerString_ = other.ownerString_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -37725,54 +39278,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.SliceOwner parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getOwnerUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    ownerString_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.SliceOwner) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid ownerUuid_;
 
             private com.google.protobuf.SingleFieldBuilderV3 ownerUuidBuilder_;
@@ -37782,7 +39301,7 @@ public final class ContextOuterClass {
              * @return Whether the ownerUuid field is set.
              */
             public boolean hasOwnerUuid() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return ownerUuidBuilder_ != null || ownerUuid_ != null;
             }
 
             /**
@@ -37806,11 +39325,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     ownerUuid_ = value;
+                    onChanged();
                 } else {
                     ownerUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -37820,11 +39338,10 @@ public final class ContextOuterClass {
             public Builder setOwnerUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (ownerUuidBuilder_ == null) {
                     ownerUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     ownerUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -37833,16 +39350,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeOwnerUuid(context.ContextOuterClass.Uuid value) {
                 if (ownerUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && ownerUuid_ != null && ownerUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getOwnerUuidBuilder().mergeFrom(value);
+                    if (ownerUuid_ != null) {
+                        ownerUuid_ = context.ContextOuterClass.Uuid.newBuilder(ownerUuid_).mergeFrom(value).buildPartial();
                     } else {
                         ownerUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     ownerUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -37850,13 +39366,13 @@ public final class ContextOuterClass {
              * .context.Uuid owner_uuid = 1;
              */
             public Builder clearOwnerUuid() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                ownerUuid_ = null;
-                if (ownerUuidBuilder_ != null) {
-                    ownerUuidBuilder_.dispose();
+                if (ownerUuidBuilder_ == null) {
+                    ownerUuid_ = null;
+                    onChanged();
+                } else {
+                    ownerUuid_ = null;
                     ownerUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -37864,7 +39380,6 @@ public final class ContextOuterClass {
              * .context.Uuid owner_uuid = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getOwnerUuidBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getOwnerUuidFieldBuilder().getBuilder();
             }
@@ -37934,7 +39449,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 ownerString_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -37945,7 +39459,6 @@ public final class ContextOuterClass {
              */
             public Builder clearOwnerString() {
                 ownerString_ = getDefaultInstance().getOwnerString();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -37961,7 +39474,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 ownerString_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -37993,17 +39505,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public SliceOwner parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SliceOwner(input, extensionRegistry);
             }
         };
 
@@ -38061,6 +39563,50 @@ public final class ContextOuterClass {
             return new SliceStatus();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SliceStatus(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                int rawValue = input.readEnum();
+                                sliceStatus_ = rawValue;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_SliceStatus_descriptor;
         }
@@ -38072,7 +39618,7 @@ public final class ContextOuterClass {
 
         public static final int SLICE_STATUS_FIELD_NUMBER = 1;
 
-        private int sliceStatus_ = 0;
+        private int sliceStatus_;
 
         /**
          * .context.SliceStatusEnum slice_status = 1;
@@ -38089,7 +39635,8 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.SliceStatusEnum getSliceStatus() {
-            context.ContextOuterClass.SliceStatusEnum result = context.ContextOuterClass.SliceStatusEnum.forNumber(sliceStatus_);
+            @SuppressWarnings("deprecation")
+            context.ContextOuterClass.SliceStatusEnum result = context.ContextOuterClass.SliceStatusEnum.valueOf(sliceStatus_);
             return result == null ? context.ContextOuterClass.SliceStatusEnum.UNRECOGNIZED : result;
         }
 
@@ -38111,7 +39658,7 @@ public final class ContextOuterClass {
             if (sliceStatus_ != context.ContextOuterClass.SliceStatusEnum.SLICESTATUS_UNDEFINED.getNumber()) {
                 output.writeEnum(1, sliceStatus_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -38123,7 +39670,7 @@ public final class ContextOuterClass {
             if (sliceStatus_ != context.ContextOuterClass.SliceStatusEnum.SLICESTATUS_UNDEFINED.getNumber()) {
                 size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, sliceStatus_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -38139,7 +39686,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.SliceStatus other = (context.ContextOuterClass.SliceStatus) obj;
             if (sliceStatus_ != other.sliceStatus_)
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -38153,7 +39700,7 @@ public final class ContextOuterClass {
             hash = (19 * hash) + getDescriptor().hashCode();
             hash = (37 * hash) + SLICE_STATUS_FIELD_NUMBER;
             hash = (53 * hash) + sliceStatus_;
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -38247,16 +39794,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.SliceStatus.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 sliceStatus_ = 0;
                 return this;
             }
@@ -38283,18 +39836,39 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.SliceStatus buildPartial() {
                 context.ContextOuterClass.SliceStatus result = new context.ContextOuterClass.SliceStatus(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.sliceStatus_ = sliceStatus_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.SliceStatus result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.sliceStatus_ = sliceStatus_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -38313,7 +39887,7 @@ public final class ContextOuterClass {
                 if (other.sliceStatus_ != 0) {
                     setSliceStatusValue(other.getSliceStatusValue());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -38325,47 +39899,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.SliceStatus parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    sliceStatus_ = input.readEnum();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.SliceStatus) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private int sliceStatus_ = 0;
 
             /**
@@ -38384,7 +39931,6 @@ public final class ContextOuterClass {
              */
             public Builder setSliceStatusValue(int value) {
                 sliceStatus_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -38395,7 +39941,8 @@ public final class ContextOuterClass {
              */
             @java.lang.Override
             public context.ContextOuterClass.SliceStatusEnum getSliceStatus() {
-                context.ContextOuterClass.SliceStatusEnum result = context.ContextOuterClass.SliceStatusEnum.forNumber(sliceStatus_);
+                @SuppressWarnings("deprecation")
+                context.ContextOuterClass.SliceStatusEnum result = context.ContextOuterClass.SliceStatusEnum.valueOf(sliceStatus_);
                 return result == null ? context.ContextOuterClass.SliceStatusEnum.UNRECOGNIZED : result;
             }
 
@@ -38408,7 +39955,6 @@ public final class ContextOuterClass {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000001;
                 sliceStatus_ = value.getNumber();
                 onChanged();
                 return this;
@@ -38419,7 +39965,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearSliceStatus() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 sliceStatus_ = 0;
                 onChanged();
                 return this;
@@ -38452,17 +39997,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public SliceStatus parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SliceStatus(input, extensionRegistry);
             }
         };
 
@@ -38533,6 +40068,57 @@ public final class ContextOuterClass {
             return new SliceConfig();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SliceConfig(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    configRules_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                configRules_.add(input.readMessage(context.ContextOuterClass.ConfigRule.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    configRules_ = java.util.Collections.unmodifiableList(configRules_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_SliceConfig_descriptor;
         }
@@ -38544,7 +40130,6 @@ public final class ContextOuterClass {
 
         public static final int CONFIG_RULES_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List configRules_;
 
         /**
@@ -38605,7 +40190,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < configRules_.size(); i++) {
                 output.writeMessage(1, configRules_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -38617,7 +40202,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < configRules_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, configRules_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -38633,7 +40218,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.SliceConfig other = (context.ContextOuterClass.SliceConfig) obj;
             if (!getConfigRulesList().equals(other.getConfigRulesList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -38649,7 +40234,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONFIG_RULES_FIELD_NUMBER;
                 hash = (53 * hash) + getConfigRulesList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -38743,23 +40328,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.SliceConfig.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getConfigRulesFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (configRulesBuilder_ == null) {
                     configRules_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    configRules_ = null;
                     configRulesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -38785,15 +40376,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.SliceConfig buildPartial() {
                 context.ContextOuterClass.SliceConfig result = new context.ContextOuterClass.SliceConfig(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.SliceConfig result) {
+                int from_bitField0_ = bitField0_;
                 if (configRulesBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         configRules_ = java.util.Collections.unmodifiableList(configRules_);
@@ -38803,10 +40386,38 @@ public final class ContextOuterClass {
                 } else {
                     result.configRules_ = configRulesBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.SliceConfig result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -38846,7 +40457,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -38858,47 +40469,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.SliceConfig parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.ConfigRule m = input.readMessage(context.ContextOuterClass.ConfigRule.parser(), extensionRegistry);
-                                    if (configRulesBuilder_ == null) {
-                                        ensureConfigRulesIsMutable();
-                                        configRules_.add(m);
-                                    } else {
-                                        configRulesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.SliceConfig) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -39168,17 +40749,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public SliceConfig parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SliceConfig(input, extensionRegistry);
             }
         };
 
@@ -39249,6 +40820,57 @@ public final class ContextOuterClass {
             return new SliceIdList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SliceIdList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    sliceIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                sliceIds_.add(input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    sliceIds_ = java.util.Collections.unmodifiableList(sliceIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_SliceIdList_descriptor;
         }
@@ -39260,7 +40882,6 @@ public final class ContextOuterClass {
 
         public static final int SLICE_IDS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List sliceIds_;
 
         /**
@@ -39321,7 +40942,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < sliceIds_.size(); i++) {
                 output.writeMessage(1, sliceIds_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -39333,7 +40954,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < sliceIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, sliceIds_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -39349,7 +40970,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.SliceIdList other = (context.ContextOuterClass.SliceIdList) obj;
             if (!getSliceIdsList().equals(other.getSliceIdsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -39365,7 +40986,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SLICE_IDS_FIELD_NUMBER;
                 hash = (53 * hash) + getSliceIdsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -39459,23 +41080,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.SliceIdList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getSliceIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (sliceIdsBuilder_ == null) {
                     sliceIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    sliceIds_ = null;
                     sliceIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -39501,15 +41128,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.SliceIdList buildPartial() {
                 context.ContextOuterClass.SliceIdList result = new context.ContextOuterClass.SliceIdList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.SliceIdList result) {
+                int from_bitField0_ = bitField0_;
                 if (sliceIdsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         sliceIds_ = java.util.Collections.unmodifiableList(sliceIds_);
@@ -39519,10 +41138,38 @@ public final class ContextOuterClass {
                 } else {
                     result.sliceIds_ = sliceIdsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.SliceIdList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -39562,7 +41209,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -39574,47 +41221,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.SliceIdList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.SliceId m = input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry);
-                                    if (sliceIdsBuilder_ == null) {
-                                        ensureSliceIdsIsMutable();
-                                        sliceIds_.add(m);
-                                    } else {
-                                        sliceIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.SliceIdList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -39884,17 +41501,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public SliceIdList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SliceIdList(input, extensionRegistry);
             }
         };
 
@@ -39965,6 +41572,57 @@ public final class ContextOuterClass {
             return new SliceList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SliceList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    slices_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                slices_.add(input.readMessage(context.ContextOuterClass.Slice.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    slices_ = java.util.Collections.unmodifiableList(slices_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_SliceList_descriptor;
         }
@@ -39976,7 +41634,6 @@ public final class ContextOuterClass {
 
         public static final int SLICES_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List slices_;
 
         /**
@@ -40037,7 +41694,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < slices_.size(); i++) {
                 output.writeMessage(1, slices_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -40049,7 +41706,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < slices_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, slices_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -40065,7 +41722,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.SliceList other = (context.ContextOuterClass.SliceList) obj;
             if (!getSlicesList().equals(other.getSlicesList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -40081,7 +41738,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SLICES_FIELD_NUMBER;
                 hash = (53 * hash) + getSlicesList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -40175,23 +41832,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.SliceList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getSlicesFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (slicesBuilder_ == null) {
                     slices_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    slices_ = null;
                     slicesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -40217,15 +41880,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.SliceList buildPartial() {
                 context.ContextOuterClass.SliceList result = new context.ContextOuterClass.SliceList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.SliceList result) {
+                int from_bitField0_ = bitField0_;
                 if (slicesBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         slices_ = java.util.Collections.unmodifiableList(slices_);
@@ -40235,10 +41890,38 @@ public final class ContextOuterClass {
                 } else {
                     result.slices_ = slicesBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.SliceList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -40278,7 +41961,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -40290,47 +41973,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.SliceList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.Slice m = input.readMessage(context.ContextOuterClass.Slice.parser(), extensionRegistry);
-                                    if (slicesBuilder_ == null) {
-                                        ensureSlicesIsMutable();
-                                        slices_.add(m);
-                                    } else {
-                                        slicesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.SliceList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -40600,17 +42253,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public SliceList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SliceList(input, extensionRegistry);
             }
         };
 
@@ -40702,6 +42345,82 @@ public final class ContextOuterClass {
             return new SliceFilter();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SliceFilter(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.SliceIdList.Builder subBuilder = null;
+                                if (sliceIds_ != null) {
+                                    subBuilder = sliceIds_.toBuilder();
+                                }
+                                sliceIds_ = input.readMessage(context.ContextOuterClass.SliceIdList.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(sliceIds_);
+                                    sliceIds_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 16:
+                            {
+                                includeEndpointIds_ = input.readBool();
+                                break;
+                            }
+                        case 24:
+                            {
+                                includeConstraints_ = input.readBool();
+                                break;
+                            }
+                        case 32:
+                            {
+                                includeServiceIds_ = input.readBool();
+                                break;
+                            }
+                        case 40:
+                            {
+                                includeSubsliceIds_ = input.readBool();
+                                break;
+                            }
+                        case 48:
+                            {
+                                includeConfigRules_ = input.readBool();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_SliceFilter_descriptor;
         }
@@ -40738,12 +42457,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.SliceIdListOrBuilder getSliceIdsOrBuilder() {
-            return sliceIds_ == null ? context.ContextOuterClass.SliceIdList.getDefaultInstance() : sliceIds_;
+            return getSliceIds();
         }
 
         public static final int INCLUDE_ENDPOINT_IDS_FIELD_NUMBER = 2;
 
-        private boolean includeEndpointIds_ = false;
+        private boolean includeEndpointIds_;
 
         /**
          * bool include_endpoint_ids = 2;
@@ -40756,7 +42475,7 @@ public final class ContextOuterClass {
 
         public static final int INCLUDE_CONSTRAINTS_FIELD_NUMBER = 3;
 
-        private boolean includeConstraints_ = false;
+        private boolean includeConstraints_;
 
         /**
          * bool include_constraints = 3;
@@ -40769,7 +42488,7 @@ public final class ContextOuterClass {
 
         public static final int INCLUDE_SERVICE_IDS_FIELD_NUMBER = 4;
 
-        private boolean includeServiceIds_ = false;
+        private boolean includeServiceIds_;
 
         /**
          * bool include_service_ids = 4;
@@ -40782,7 +42501,7 @@ public final class ContextOuterClass {
 
         public static final int INCLUDE_SUBSLICE_IDS_FIELD_NUMBER = 5;
 
-        private boolean includeSubsliceIds_ = false;
+        private boolean includeSubsliceIds_;
 
         /**
          * bool include_subslice_ids = 5;
@@ -40795,7 +42514,7 @@ public final class ContextOuterClass {
 
         public static final int INCLUDE_CONFIG_RULES_FIELD_NUMBER = 6;
 
-        private boolean includeConfigRules_ = false;
+        private boolean includeConfigRules_;
 
         /**
          * bool include_config_rules = 6;
@@ -40839,7 +42558,7 @@ public final class ContextOuterClass {
             if (includeConfigRules_ != false) {
                 output.writeBool(6, includeConfigRules_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -40866,7 +42585,7 @@ public final class ContextOuterClass {
             if (includeConfigRules_ != false) {
                 size += com.google.protobuf.CodedOutputStream.computeBoolSize(6, includeConfigRules_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -40896,7 +42615,7 @@ public final class ContextOuterClass {
                 return false;
             if (getIncludeConfigRules() != other.getIncludeConfigRules())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -40922,7 +42641,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIncludeSubsliceIds());
             hash = (37 * hash) + INCLUDE_CONFIG_RULES_FIELD_NUMBER;
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIncludeConfigRules());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -41016,19 +42735,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.SliceFilter.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                sliceIds_ = null;
-                if (sliceIdsBuilder_ != null) {
-                    sliceIdsBuilder_.dispose();
+                if (sliceIdsBuilder_ == null) {
+                    sliceIds_ = null;
+                } else {
+                    sliceIds_ = null;
                     sliceIdsBuilder_ = null;
                 }
                 includeEndpointIds_ = false;
@@ -41061,33 +42787,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.SliceFilter buildPartial() {
                 context.ContextOuterClass.SliceFilter result = new context.ContextOuterClass.SliceFilter(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (sliceIdsBuilder_ == null) {
+                    result.sliceIds_ = sliceIds_;
+                } else {
+                    result.sliceIds_ = sliceIdsBuilder_.build();
                 }
+                result.includeEndpointIds_ = includeEndpointIds_;
+                result.includeConstraints_ = includeConstraints_;
+                result.includeServiceIds_ = includeServiceIds_;
+                result.includeSubsliceIds_ = includeSubsliceIds_;
+                result.includeConfigRules_ = includeConfigRules_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.SliceFilter result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.sliceIds_ = sliceIdsBuilder_ == null ? sliceIds_ : sliceIdsBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.includeEndpointIds_ = includeEndpointIds_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.includeConstraints_ = includeConstraints_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.includeServiceIds_ = includeServiceIds_;
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.includeSubsliceIds_ = includeSubsliceIds_;
-                }
-                if (((from_bitField0_ & 0x00000020) != 0)) {
-                    result.includeConfigRules_ = includeConfigRules_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -41121,7 +42862,7 @@ public final class ContextOuterClass {
                 if (other.getIncludeConfigRules() != false) {
                     setIncludeConfigRules(other.getIncludeConfigRules());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -41133,82 +42874,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.SliceFilter parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getSliceIdsFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 16:
-                                {
-                                    includeEndpointIds_ = input.readBool();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            case 24:
-                                {
-                                    includeConstraints_ = input.readBool();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 32:
-                                {
-                                    includeServiceIds_ = input.readBool();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 32
-                            case 40:
-                                {
-                                    includeSubsliceIds_ = input.readBool();
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 40
-                            case 48:
-                                {
-                                    includeConfigRules_ = input.readBool();
-                                    bitField0_ |= 0x00000020;
-                                    break;
-                                }
-                            // case 48
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.SliceFilter) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.SliceIdList sliceIds_;
 
             private com.google.protobuf.SingleFieldBuilderV3 sliceIdsBuilder_;
@@ -41218,7 +42897,7 @@ public final class ContextOuterClass {
              * @return Whether the sliceIds field is set.
              */
             public boolean hasSliceIds() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return sliceIdsBuilder_ != null || sliceIds_ != null;
             }
 
             /**
@@ -41242,11 +42921,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     sliceIds_ = value;
+                    onChanged();
                 } else {
                     sliceIdsBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -41256,11 +42934,10 @@ public final class ContextOuterClass {
             public Builder setSliceIds(context.ContextOuterClass.SliceIdList.Builder builderForValue) {
                 if (sliceIdsBuilder_ == null) {
                     sliceIds_ = builderForValue.build();
+                    onChanged();
                 } else {
                     sliceIdsBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -41269,16 +42946,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeSliceIds(context.ContextOuterClass.SliceIdList value) {
                 if (sliceIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && sliceIds_ != null && sliceIds_ != context.ContextOuterClass.SliceIdList.getDefaultInstance()) {
-                        getSliceIdsBuilder().mergeFrom(value);
+                    if (sliceIds_ != null) {
+                        sliceIds_ = context.ContextOuterClass.SliceIdList.newBuilder(sliceIds_).mergeFrom(value).buildPartial();
                     } else {
                         sliceIds_ = value;
                     }
+                    onChanged();
                 } else {
                     sliceIdsBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -41286,13 +42962,13 @@ public final class ContextOuterClass {
              * .context.SliceIdList slice_ids = 1;
              */
             public Builder clearSliceIds() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                sliceIds_ = null;
-                if (sliceIdsBuilder_ != null) {
-                    sliceIdsBuilder_.dispose();
+                if (sliceIdsBuilder_ == null) {
+                    sliceIds_ = null;
+                    onChanged();
+                } else {
+                    sliceIds_ = null;
                     sliceIdsBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -41300,7 +42976,6 @@ public final class ContextOuterClass {
              * .context.SliceIdList slice_ids = 1;
              */
             public context.ContextOuterClass.SliceIdList.Builder getSliceIdsBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getSliceIdsFieldBuilder().getBuilder();
             }
@@ -41345,7 +43020,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeEndpointIds(boolean value) {
                 includeEndpointIds_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -41355,7 +43029,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeEndpointIds() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 includeEndpointIds_ = false;
                 onChanged();
                 return this;
@@ -41379,7 +43052,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeConstraints(boolean value) {
                 includeConstraints_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -41389,7 +43061,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeConstraints() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 includeConstraints_ = false;
                 onChanged();
                 return this;
@@ -41413,7 +43084,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeServiceIds(boolean value) {
                 includeServiceIds_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -41423,7 +43093,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeServiceIds() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 includeServiceIds_ = false;
                 onChanged();
                 return this;
@@ -41447,7 +43116,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeSubsliceIds(boolean value) {
                 includeSubsliceIds_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -41457,7 +43125,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeSubsliceIds() {
-                bitField0_ = (bitField0_ & ~0x00000010);
                 includeSubsliceIds_ = false;
                 onChanged();
                 return this;
@@ -41481,7 +43148,6 @@ public final class ContextOuterClass {
              */
             public Builder setIncludeConfigRules(boolean value) {
                 includeConfigRules_ = value;
-                bitField0_ |= 0x00000020;
                 onChanged();
                 return this;
             }
@@ -41491,7 +43157,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIncludeConfigRules() {
-                bitField0_ = (bitField0_ & ~0x00000020);
                 includeConfigRules_ = false;
                 onChanged();
                 return this;
@@ -41524,17 +43189,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public SliceFilter parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SliceFilter(input, extensionRegistry);
             }
         };
 
@@ -41613,6 +43268,70 @@ public final class ContextOuterClass {
             return new SliceEvent();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SliceEvent(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Event.Builder subBuilder = null;
+                                if (event_ != null) {
+                                    subBuilder = event_.toBuilder();
+                                }
+                                event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(event_);
+                                    event_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.SliceId.Builder subBuilder = null;
+                                if (sliceId_ != null) {
+                                    subBuilder = sliceId_.toBuilder();
+                                }
+                                sliceId_ = input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(sliceId_);
+                                    sliceId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_SliceEvent_descriptor;
         }
@@ -41649,7 +43368,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() {
-            return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_;
+            return getEvent();
         }
 
         public static final int SLICE_ID_FIELD_NUMBER = 2;
@@ -41679,7 +43398,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.SliceIdOrBuilder getSliceIdOrBuilder() {
-            return sliceId_ == null ? context.ContextOuterClass.SliceId.getDefaultInstance() : sliceId_;
+            return getSliceId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -41703,7 +43422,7 @@ public final class ContextOuterClass {
             if (sliceId_ != null) {
                 output.writeMessage(2, getSliceId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -41718,7 +43437,7 @@ public final class ContextOuterClass {
             if (sliceId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getSliceId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -41744,7 +43463,7 @@ public final class ContextOuterClass {
                 if (!getSliceId().equals(other.getSliceId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -41764,7 +43483,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SLICE_ID_FIELD_NUMBER;
                 hash = (53 * hash) + getSliceId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -41858,24 +43577,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.SliceEvent.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                sliceId_ = null;
-                if (sliceIdBuilder_ != null) {
-                    sliceIdBuilder_.dispose();
+                if (sliceIdBuilder_ == null) {
+                    sliceId_ = null;
+                } else {
+                    sliceId_ = null;
                     sliceIdBuilder_ = null;
                 }
                 return this;
@@ -41903,21 +43630,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.SliceEvent buildPartial() {
                 context.ContextOuterClass.SliceEvent result = new context.ContextOuterClass.SliceEvent(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (eventBuilder_ == null) {
+                    result.event_ = event_;
+                } else {
+                    result.event_ = eventBuilder_.build();
+                }
+                if (sliceIdBuilder_ == null) {
+                    result.sliceId_ = sliceId_;
+                } else {
+                    result.sliceId_ = sliceIdBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.SliceEvent result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.event_ = eventBuilder_ == null ? event_ : eventBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.sliceId_ = sliceIdBuilder_ == null ? sliceId_ : sliceIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -41939,7 +43693,7 @@ public final class ContextOuterClass {
                 if (other.hasSliceId()) {
                     mergeSliceId(other.getSliceId());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -41951,54 +43705,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.SliceEvent parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEventFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getSliceIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.SliceEvent) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Event event_;
 
             private com.google.protobuf.SingleFieldBuilderV3 eventBuilder_;
@@ -42008,7 +43728,7 @@ public final class ContextOuterClass {
              * @return Whether the event field is set.
              */
             public boolean hasEvent() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return eventBuilder_ != null || event_ != null;
             }
 
             /**
@@ -42032,11 +43752,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     event_ = value;
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -42046,11 +43765,10 @@ public final class ContextOuterClass {
             public Builder setEvent(context.ContextOuterClass.Event.Builder builderForValue) {
                 if (eventBuilder_ == null) {
                     event_ = builderForValue.build();
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -42059,16 +43777,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEvent(context.ContextOuterClass.Event value) {
                 if (eventBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && event_ != null && event_ != context.ContextOuterClass.Event.getDefaultInstance()) {
-                        getEventBuilder().mergeFrom(value);
+                    if (event_ != null) {
+                        event_ = context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial();
                     } else {
                         event_ = value;
                     }
+                    onChanged();
                 } else {
                     eventBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -42076,13 +43793,13 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public Builder clearEvent() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                    onChanged();
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -42090,7 +43807,6 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public context.ContextOuterClass.Event.Builder getEventBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEventFieldBuilder().getBuilder();
             }
@@ -42126,7 +43842,7 @@ public final class ContextOuterClass {
              * @return Whether the sliceId field is set.
              */
             public boolean hasSliceId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return sliceIdBuilder_ != null || sliceId_ != null;
             }
 
             /**
@@ -42150,11 +43866,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     sliceId_ = value;
+                    onChanged();
                 } else {
                     sliceIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -42164,11 +43879,10 @@ public final class ContextOuterClass {
             public Builder setSliceId(context.ContextOuterClass.SliceId.Builder builderForValue) {
                 if (sliceIdBuilder_ == null) {
                     sliceId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     sliceIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -42177,16 +43891,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeSliceId(context.ContextOuterClass.SliceId value) {
                 if (sliceIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && sliceId_ != null && sliceId_ != context.ContextOuterClass.SliceId.getDefaultInstance()) {
-                        getSliceIdBuilder().mergeFrom(value);
+                    if (sliceId_ != null) {
+                        sliceId_ = context.ContextOuterClass.SliceId.newBuilder(sliceId_).mergeFrom(value).buildPartial();
                     } else {
                         sliceId_ = value;
                     }
+                    onChanged();
                 } else {
                     sliceIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -42194,13 +43907,13 @@ public final class ContextOuterClass {
              * .context.SliceId slice_id = 2;
              */
             public Builder clearSliceId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                sliceId_ = null;
-                if (sliceIdBuilder_ != null) {
-                    sliceIdBuilder_.dispose();
+                if (sliceIdBuilder_ == null) {
+                    sliceId_ = null;
+                    onChanged();
+                } else {
+                    sliceId_ = null;
                     sliceIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -42208,7 +43921,6 @@ public final class ContextOuterClass {
              * .context.SliceId slice_id = 2;
              */
             public context.ContextOuterClass.SliceId.Builder getSliceIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getSliceIdFieldBuilder().getBuilder();
             }
@@ -42262,17 +43974,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public SliceEvent parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SliceEvent(input, extensionRegistry);
             }
         };
 
@@ -42338,6 +44040,57 @@ public final class ContextOuterClass {
             return new ConnectionId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (connectionUuid_ != null) {
+                                    subBuilder = connectionUuid_.toBuilder();
+                                }
+                                connectionUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(connectionUuid_);
+                                    connectionUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionId_descriptor;
         }
@@ -42374,7 +44127,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getConnectionUuidOrBuilder() {
-            return connectionUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : connectionUuid_;
+            return getConnectionUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -42395,7 +44148,7 @@ public final class ContextOuterClass {
             if (connectionUuid_ != null) {
                 output.writeMessage(1, getConnectionUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -42407,7 +44160,7 @@ public final class ContextOuterClass {
             if (connectionUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getConnectionUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -42427,7 +44180,7 @@ public final class ContextOuterClass {
                 if (!getConnectionUuid().equals(other.getConnectionUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -42443,7 +44196,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONNECTION_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getConnectionUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -42541,19 +44294,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                connectionUuid_ = null;
-                if (connectionUuidBuilder_ != null) {
-                    connectionUuidBuilder_.dispose();
+                if (connectionUuidBuilder_ == null) {
+                    connectionUuid_ = null;
+                } else {
+                    connectionUuid_ = null;
                     connectionUuidBuilder_ = null;
                 }
                 return this;
@@ -42581,18 +44341,43 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionId buildPartial() {
                 context.ContextOuterClass.ConnectionId result = new context.ContextOuterClass.ConnectionId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (connectionUuidBuilder_ == null) {
+                    result.connectionUuid_ = connectionUuid_;
+                } else {
+                    result.connectionUuid_ = connectionUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.connectionUuid_ = connectionUuidBuilder_ == null ? connectionUuid_ : connectionUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -42611,7 +44396,7 @@ public final class ContextOuterClass {
                 if (other.hasConnectionUuid()) {
                     mergeConnectionUuid(other.getConnectionUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -42623,47 +44408,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getConnectionUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid connectionUuid_;
 
             private com.google.protobuf.SingleFieldBuilderV3 connectionUuidBuilder_;
@@ -42673,7 +44431,7 @@ public final class ContextOuterClass {
              * @return Whether the connectionUuid field is set.
              */
             public boolean hasConnectionUuid() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return connectionUuidBuilder_ != null || connectionUuid_ != null;
             }
 
             /**
@@ -42697,11 +44455,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     connectionUuid_ = value;
+                    onChanged();
                 } else {
                     connectionUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -42711,11 +44468,10 @@ public final class ContextOuterClass {
             public Builder setConnectionUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (connectionUuidBuilder_ == null) {
                     connectionUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     connectionUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -42724,16 +44480,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeConnectionUuid(context.ContextOuterClass.Uuid value) {
                 if (connectionUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && connectionUuid_ != null && connectionUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getConnectionUuidBuilder().mergeFrom(value);
+                    if (connectionUuid_ != null) {
+                        connectionUuid_ = context.ContextOuterClass.Uuid.newBuilder(connectionUuid_).mergeFrom(value).buildPartial();
                     } else {
                         connectionUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     connectionUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -42741,13 +44496,13 @@ public final class ContextOuterClass {
              * .context.Uuid connection_uuid = 1;
              */
             public Builder clearConnectionUuid() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                connectionUuid_ = null;
-                if (connectionUuidBuilder_ != null) {
-                    connectionUuidBuilder_.dispose();
+                if (connectionUuidBuilder_ == null) {
+                    connectionUuid_ = null;
+                    onChanged();
+                } else {
+                    connectionUuid_ = null;
                     connectionUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -42755,7 +44510,6 @@ public final class ContextOuterClass {
              * .context.Uuid connection_uuid = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getConnectionUuidBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getConnectionUuidFieldBuilder().getBuilder();
             }
@@ -42809,17 +44563,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionId(input, extensionRegistry);
             }
         };
 
@@ -42877,6 +44621,50 @@ public final class ContextOuterClass {
             return new ConnectionSettings_L0();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionSettings_L0(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                lspSymbolicName_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionSettings_L0_descriptor;
         }
@@ -42888,8 +44676,7 @@ public final class ContextOuterClass {
 
         public static final int LSP_SYMBOLIC_NAME_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object lspSymbolicName_ = "";
+        private volatile java.lang.Object lspSymbolicName_;
 
         /**
          * string lsp_symbolic_name = 1;
@@ -42939,10 +44726,10 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(lspSymbolicName_)) {
+            if (!getLspSymbolicNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, lspSymbolicName_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -42951,10 +44738,10 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(lspSymbolicName_)) {
+            if (!getLspSymbolicNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, lspSymbolicName_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -42970,7 +44757,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.ConnectionSettings_L0 other = (context.ContextOuterClass.ConnectionSettings_L0) obj;
             if (!getLspSymbolicName().equals(other.getLspSymbolicName()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -42984,7 +44771,7 @@ public final class ContextOuterClass {
             hash = (19 * hash) + getDescriptor().hashCode();
             hash = (37 * hash) + LSP_SYMBOLIC_NAME_FIELD_NUMBER;
             hash = (53 * hash) + getLspSymbolicName().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -43078,16 +44865,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionSettings_L0.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 lspSymbolicName_ = "";
                 return this;
             }
@@ -43114,18 +44907,39 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionSettings_L0 buildPartial() {
                 context.ContextOuterClass.ConnectionSettings_L0 result = new context.ContextOuterClass.ConnectionSettings_L0(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.lspSymbolicName_ = lspSymbolicName_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionSettings_L0 result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.lspSymbolicName_ = lspSymbolicName_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -43143,10 +44957,9 @@ public final class ContextOuterClass {
                     return this;
                 if (!other.getLspSymbolicName().isEmpty()) {
                     lspSymbolicName_ = other.lspSymbolicName_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -43158,47 +44971,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionSettings_L0 parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    lspSymbolicName_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionSettings_L0) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private java.lang.Object lspSymbolicName_ = "";
 
             /**
@@ -43242,7 +45028,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 lspSymbolicName_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -43253,7 +45038,6 @@ public final class ContextOuterClass {
              */
             public Builder clearLspSymbolicName() {
                 lspSymbolicName_ = getDefaultInstance().getLspSymbolicName();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -43269,7 +45053,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 lspSymbolicName_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -43301,17 +45084,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionSettings_L0 parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionSettings_L0(input, extensionRegistry);
             }
         };
 
@@ -43406,6 +45179,76 @@ public final class ContextOuterClass {
             return new ConnectionSettings_L2();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionSettings_L2(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                srcMacAddress_ = s;
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                dstMacAddress_ = s;
+                                break;
+                            }
+                        case 24:
+                            {
+                                etherType_ = input.readUInt32();
+                                break;
+                            }
+                        case 32:
+                            {
+                                vlanId_ = input.readUInt32();
+                                break;
+                            }
+                        case 40:
+                            {
+                                mplsLabel_ = input.readUInt32();
+                                break;
+                            }
+                        case 48:
+                            {
+                                mplsTrafficClass_ = input.readUInt32();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionSettings_L2_descriptor;
         }
@@ -43417,8 +45260,7 @@ public final class ContextOuterClass {
 
         public static final int SRC_MAC_ADDRESS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object srcMacAddress_ = "";
+        private volatile java.lang.Object srcMacAddress_;
 
         /**
          * string src_mac_address = 1;
@@ -43455,8 +45297,7 @@ public final class ContextOuterClass {
 
         public static final int DST_MAC_ADDRESS_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object dstMacAddress_ = "";
+        private volatile java.lang.Object dstMacAddress_;
 
         /**
          * string dst_mac_address = 2;
@@ -43493,7 +45334,7 @@ public final class ContextOuterClass {
 
         public static final int ETHER_TYPE_FIELD_NUMBER = 3;
 
-        private int etherType_ = 0;
+        private int etherType_;
 
         /**
          * uint32 ether_type = 3;
@@ -43506,7 +45347,7 @@ public final class ContextOuterClass {
 
         public static final int VLAN_ID_FIELD_NUMBER = 4;
 
-        private int vlanId_ = 0;
+        private int vlanId_;
 
         /**
          * uint32 vlan_id = 4;
@@ -43519,7 +45360,7 @@ public final class ContextOuterClass {
 
         public static final int MPLS_LABEL_FIELD_NUMBER = 5;
 
-        private int mplsLabel_ = 0;
+        private int mplsLabel_;
 
         /**
          * uint32 mpls_label = 5;
@@ -43532,7 +45373,7 @@ public final class ContextOuterClass {
 
         public static final int MPLS_TRAFFIC_CLASS_FIELD_NUMBER = 6;
 
-        private int mplsTrafficClass_ = 0;
+        private int mplsTrafficClass_;
 
         /**
          * uint32 mpls_traffic_class = 6;
@@ -43558,10 +45399,10 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcMacAddress_)) {
+            if (!getSrcMacAddressBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, srcMacAddress_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstMacAddress_)) {
+            if (!getDstMacAddressBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, dstMacAddress_);
             }
             if (etherType_ != 0) {
@@ -43576,7 +45417,7 @@ public final class ContextOuterClass {
             if (mplsTrafficClass_ != 0) {
                 output.writeUInt32(6, mplsTrafficClass_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -43585,10 +45426,10 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcMacAddress_)) {
+            if (!getSrcMacAddressBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, srcMacAddress_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstMacAddress_)) {
+            if (!getDstMacAddressBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, dstMacAddress_);
             }
             if (etherType_ != 0) {
@@ -43603,7 +45444,7 @@ public final class ContextOuterClass {
             if (mplsTrafficClass_ != 0) {
                 size += com.google.protobuf.CodedOutputStream.computeUInt32Size(6, mplsTrafficClass_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -43629,7 +45470,7 @@ public final class ContextOuterClass {
                 return false;
             if (getMplsTrafficClass() != other.getMplsTrafficClass())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -43653,7 +45494,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + getMplsLabel();
             hash = (37 * hash) + MPLS_TRAFFIC_CLASS_FIELD_NUMBER;
             hash = (53 * hash) + getMplsTrafficClass();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -43747,16 +45588,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionSettings_L2.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 srcMacAddress_ = "";
                 dstMacAddress_ = "";
                 etherType_ = 0;
@@ -43788,33 +45635,44 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionSettings_L2 buildPartial() {
                 context.ContextOuterClass.ConnectionSettings_L2 result = new context.ContextOuterClass.ConnectionSettings_L2(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.srcMacAddress_ = srcMacAddress_;
+                result.dstMacAddress_ = dstMacAddress_;
+                result.etherType_ = etherType_;
+                result.vlanId_ = vlanId_;
+                result.mplsLabel_ = mplsLabel_;
+                result.mplsTrafficClass_ = mplsTrafficClass_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionSettings_L2 result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.srcMacAddress_ = srcMacAddress_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.dstMacAddress_ = dstMacAddress_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.etherType_ = etherType_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.vlanId_ = vlanId_;
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.mplsLabel_ = mplsLabel_;
-                }
-                if (((from_bitField0_ & 0x00000020) != 0)) {
-                    result.mplsTrafficClass_ = mplsTrafficClass_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -43832,12 +45690,10 @@ public final class ContextOuterClass {
                     return this;
                 if (!other.getSrcMacAddress().isEmpty()) {
                     srcMacAddress_ = other.srcMacAddress_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
                 if (!other.getDstMacAddress().isEmpty()) {
                     dstMacAddress_ = other.dstMacAddress_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (other.getEtherType() != 0) {
@@ -43852,7 +45708,7 @@ public final class ContextOuterClass {
                 if (other.getMplsTrafficClass() != 0) {
                     setMplsTrafficClass(other.getMplsTrafficClass());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -43864,82 +45720,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionSettings_L2 parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    srcMacAddress_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    dstMacAddress_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 24:
-                                {
-                                    etherType_ = input.readUInt32();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 32:
-                                {
-                                    vlanId_ = input.readUInt32();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 32
-                            case 40:
-                                {
-                                    mplsLabel_ = input.readUInt32();
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 40
-                            case 48:
-                                {
-                                    mplsTrafficClass_ = input.readUInt32();
-                                    bitField0_ |= 0x00000020;
-                                    break;
-                                }
-                            // case 48
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionSettings_L2) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private java.lang.Object srcMacAddress_ = "";
 
             /**
@@ -43983,7 +45777,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 srcMacAddress_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -43994,7 +45787,6 @@ public final class ContextOuterClass {
              */
             public Builder clearSrcMacAddress() {
                 srcMacAddress_ = getDefaultInstance().getSrcMacAddress();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -44010,7 +45802,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 srcMacAddress_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -44058,7 +45849,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 dstMacAddress_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -44069,7 +45859,6 @@ public final class ContextOuterClass {
              */
             public Builder clearDstMacAddress() {
                 dstMacAddress_ = getDefaultInstance().getDstMacAddress();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -44085,7 +45874,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 dstMacAddress_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -44108,7 +45896,6 @@ public final class ContextOuterClass {
              */
             public Builder setEtherType(int value) {
                 etherType_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -44118,7 +45905,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearEtherType() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 etherType_ = 0;
                 onChanged();
                 return this;
@@ -44142,7 +45928,6 @@ public final class ContextOuterClass {
              */
             public Builder setVlanId(int value) {
                 vlanId_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -44152,7 +45937,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearVlanId() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 vlanId_ = 0;
                 onChanged();
                 return this;
@@ -44176,7 +45960,6 @@ public final class ContextOuterClass {
              */
             public Builder setMplsLabel(int value) {
                 mplsLabel_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -44186,7 +45969,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearMplsLabel() {
-                bitField0_ = (bitField0_ & ~0x00000010);
                 mplsLabel_ = 0;
                 onChanged();
                 return this;
@@ -44210,7 +45992,6 @@ public final class ContextOuterClass {
              */
             public Builder setMplsTrafficClass(int value) {
                 mplsTrafficClass_ = value;
-                bitField0_ |= 0x00000020;
                 onChanged();
                 return this;
             }
@@ -44220,7 +46001,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearMplsTrafficClass() {
-                bitField0_ = (bitField0_ & ~0x00000020);
                 mplsTrafficClass_ = 0;
                 onChanged();
                 return this;
@@ -44253,17 +46033,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionSettings_L2 parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionSettings_L2(input, extensionRegistry);
             }
         };
 
@@ -44352,6 +46122,71 @@ public final class ContextOuterClass {
             return new ConnectionSettings_L3();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionSettings_L3(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                srcIpAddress_ = s;
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                dstIpAddress_ = s;
+                                break;
+                            }
+                        case 24:
+                            {
+                                dscp_ = input.readUInt32();
+                                break;
+                            }
+                        case 32:
+                            {
+                                protocol_ = input.readUInt32();
+                                break;
+                            }
+                        case 40:
+                            {
+                                ttl_ = input.readUInt32();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionSettings_L3_descriptor;
         }
@@ -44363,8 +46198,7 @@ public final class ContextOuterClass {
 
         public static final int SRC_IP_ADDRESS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object srcIpAddress_ = "";
+        private volatile java.lang.Object srcIpAddress_;
 
         /**
          * string src_ip_address = 1;
@@ -44401,8 +46235,7 @@ public final class ContextOuterClass {
 
         public static final int DST_IP_ADDRESS_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object dstIpAddress_ = "";
+        private volatile java.lang.Object dstIpAddress_;
 
         /**
          * string dst_ip_address = 2;
@@ -44439,7 +46272,7 @@ public final class ContextOuterClass {
 
         public static final int DSCP_FIELD_NUMBER = 3;
 
-        private int dscp_ = 0;
+        private int dscp_;
 
         /**
          * uint32 dscp = 3;
@@ -44452,7 +46285,7 @@ public final class ContextOuterClass {
 
         public static final int PROTOCOL_FIELD_NUMBER = 4;
 
-        private int protocol_ = 0;
+        private int protocol_;
 
         /**
          * uint32 protocol = 4;
@@ -44465,7 +46298,7 @@ public final class ContextOuterClass {
 
         public static final int TTL_FIELD_NUMBER = 5;
 
-        private int ttl_ = 0;
+        private int ttl_;
 
         /**
          * uint32 ttl = 5;
@@ -44491,10 +46324,10 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcIpAddress_)) {
+            if (!getSrcIpAddressBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, srcIpAddress_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstIpAddress_)) {
+            if (!getDstIpAddressBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, dstIpAddress_);
             }
             if (dscp_ != 0) {
@@ -44506,7 +46339,7 @@ public final class ContextOuterClass {
             if (ttl_ != 0) {
                 output.writeUInt32(5, ttl_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -44515,10 +46348,10 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcIpAddress_)) {
+            if (!getSrcIpAddressBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, srcIpAddress_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstIpAddress_)) {
+            if (!getDstIpAddressBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, dstIpAddress_);
             }
             if (dscp_ != 0) {
@@ -44530,7 +46363,7 @@ public final class ContextOuterClass {
             if (ttl_ != 0) {
                 size += com.google.protobuf.CodedOutputStream.computeUInt32Size(5, ttl_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -44554,7 +46387,7 @@ public final class ContextOuterClass {
                 return false;
             if (getTtl() != other.getTtl())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -44576,7 +46409,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + getProtocol();
             hash = (37 * hash) + TTL_FIELD_NUMBER;
             hash = (53 * hash) + getTtl();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -44670,16 +46503,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionSettings_L3.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 srcIpAddress_ = "";
                 dstIpAddress_ = "";
                 dscp_ = 0;
@@ -44710,30 +46549,43 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionSettings_L3 buildPartial() {
                 context.ContextOuterClass.ConnectionSettings_L3 result = new context.ContextOuterClass.ConnectionSettings_L3(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.srcIpAddress_ = srcIpAddress_;
+                result.dstIpAddress_ = dstIpAddress_;
+                result.dscp_ = dscp_;
+                result.protocol_ = protocol_;
+                result.ttl_ = ttl_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionSettings_L3 result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.srcIpAddress_ = srcIpAddress_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.dstIpAddress_ = dstIpAddress_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.dscp_ = dscp_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.protocol_ = protocol_;
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.ttl_ = ttl_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -44751,12 +46603,10 @@ public final class ContextOuterClass {
                     return this;
                 if (!other.getSrcIpAddress().isEmpty()) {
                     srcIpAddress_ = other.srcIpAddress_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
                 if (!other.getDstIpAddress().isEmpty()) {
                     dstIpAddress_ = other.dstIpAddress_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (other.getDscp() != 0) {
@@ -44768,7 +46618,7 @@ public final class ContextOuterClass {
                 if (other.getTtl() != 0) {
                     setTtl(other.getTtl());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -44780,75 +46630,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionSettings_L3 parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    srcIpAddress_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    dstIpAddress_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 24:
-                                {
-                                    dscp_ = input.readUInt32();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 32:
-                                {
-                                    protocol_ = input.readUInt32();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 32
-                            case 40:
-                                {
-                                    ttl_ = input.readUInt32();
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 40
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionSettings_L3) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private java.lang.Object srcIpAddress_ = "";
 
             /**
@@ -44892,7 +46687,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 srcIpAddress_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -44903,7 +46697,6 @@ public final class ContextOuterClass {
              */
             public Builder clearSrcIpAddress() {
                 srcIpAddress_ = getDefaultInstance().getSrcIpAddress();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -44919,7 +46712,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 srcIpAddress_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -44967,7 +46759,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 dstIpAddress_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -44978,7 +46769,6 @@ public final class ContextOuterClass {
              */
             public Builder clearDstIpAddress() {
                 dstIpAddress_ = getDefaultInstance().getDstIpAddress();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -44994,7 +46784,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 dstIpAddress_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -45017,7 +46806,6 @@ public final class ContextOuterClass {
              */
             public Builder setDscp(int value) {
                 dscp_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -45027,7 +46815,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearDscp() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 dscp_ = 0;
                 onChanged();
                 return this;
@@ -45051,7 +46838,6 @@ public final class ContextOuterClass {
              */
             public Builder setProtocol(int value) {
                 protocol_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -45061,7 +46847,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearProtocol() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 protocol_ = 0;
                 onChanged();
                 return this;
@@ -45085,7 +46870,6 @@ public final class ContextOuterClass {
              */
             public Builder setTtl(int value) {
                 ttl_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -45095,7 +46879,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearTtl() {
-                bitField0_ = (bitField0_ & ~0x00000010);
                 ttl_ = 0;
                 onChanged();
                 return this;
@@ -45128,17 +46911,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionSettings_L3 parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionSettings_L3(input, extensionRegistry);
             }
         };
 
@@ -45207,6 +46980,64 @@ public final class ContextOuterClass {
             return new ConnectionSettings_L4();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionSettings_L4(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                srcPort_ = input.readUInt32();
+                                break;
+                            }
+                        case 16:
+                            {
+                                dstPort_ = input.readUInt32();
+                                break;
+                            }
+                        case 24:
+                            {
+                                tcpFlags_ = input.readUInt32();
+                                break;
+                            }
+                        case 32:
+                            {
+                                ttl_ = input.readUInt32();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionSettings_L4_descriptor;
         }
@@ -45218,7 +47049,7 @@ public final class ContextOuterClass {
 
         public static final int SRC_PORT_FIELD_NUMBER = 1;
 
-        private int srcPort_ = 0;
+        private int srcPort_;
 
         /**
          * uint32 src_port = 1;
@@ -45231,7 +47062,7 @@ public final class ContextOuterClass {
 
         public static final int DST_PORT_FIELD_NUMBER = 2;
 
-        private int dstPort_ = 0;
+        private int dstPort_;
 
         /**
          * uint32 dst_port = 2;
@@ -45244,7 +47075,7 @@ public final class ContextOuterClass {
 
         public static final int TCP_FLAGS_FIELD_NUMBER = 3;
 
-        private int tcpFlags_ = 0;
+        private int tcpFlags_;
 
         /**
          * uint32 tcp_flags = 3;
@@ -45257,7 +47088,7 @@ public final class ContextOuterClass {
 
         public static final int TTL_FIELD_NUMBER = 4;
 
-        private int ttl_ = 0;
+        private int ttl_;
 
         /**
          * uint32 ttl = 4;
@@ -45295,7 +47126,7 @@ public final class ContextOuterClass {
             if (ttl_ != 0) {
                 output.writeUInt32(4, ttl_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -45316,7 +47147,7 @@ public final class ContextOuterClass {
             if (ttl_ != 0) {
                 size += com.google.protobuf.CodedOutputStream.computeUInt32Size(4, ttl_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -45338,7 +47169,7 @@ public final class ContextOuterClass {
                 return false;
             if (getTtl() != other.getTtl())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -45358,7 +47189,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + getTcpFlags();
             hash = (37 * hash) + TTL_FIELD_NUMBER;
             hash = (53 * hash) + getTtl();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -45452,16 +47283,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionSettings_L4.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 srcPort_ = 0;
                 dstPort_ = 0;
                 tcpFlags_ = 0;
@@ -45491,27 +47328,42 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionSettings_L4 buildPartial() {
                 context.ContextOuterClass.ConnectionSettings_L4 result = new context.ContextOuterClass.ConnectionSettings_L4(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.srcPort_ = srcPort_;
+                result.dstPort_ = dstPort_;
+                result.tcpFlags_ = tcpFlags_;
+                result.ttl_ = ttl_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionSettings_L4 result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.srcPort_ = srcPort_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.dstPort_ = dstPort_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.tcpFlags_ = tcpFlags_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.ttl_ = ttl_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -45539,7 +47391,7 @@ public final class ContextOuterClass {
                 if (other.getTtl() != 0) {
                     setTtl(other.getTtl());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -45551,68 +47403,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionSettings_L4 parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    srcPort_ = input.readUInt32();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            case 16:
-                                {
-                                    dstPort_ = input.readUInt32();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            case 24:
-                                {
-                                    tcpFlags_ = input.readUInt32();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 32:
-                                {
-                                    ttl_ = input.readUInt32();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 32
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionSettings_L4) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private int srcPort_;
 
             /**
@@ -45631,7 +47435,6 @@ public final class ContextOuterClass {
              */
             public Builder setSrcPort(int value) {
                 srcPort_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -45641,7 +47444,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearSrcPort() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 srcPort_ = 0;
                 onChanged();
                 return this;
@@ -45665,7 +47467,6 @@ public final class ContextOuterClass {
              */
             public Builder setDstPort(int value) {
                 dstPort_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -45675,7 +47476,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearDstPort() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 dstPort_ = 0;
                 onChanged();
                 return this;
@@ -45699,7 +47499,6 @@ public final class ContextOuterClass {
              */
             public Builder setTcpFlags(int value) {
                 tcpFlags_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -45709,7 +47508,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearTcpFlags() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 tcpFlags_ = 0;
                 onChanged();
                 return this;
@@ -45733,7 +47531,6 @@ public final class ContextOuterClass {
              */
             public Builder setTtl(int value) {
                 ttl_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -45743,7 +47540,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearTtl() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 ttl_ = 0;
                 onChanged();
                 return this;
@@ -45776,17 +47572,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionSettings_L4 parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionSettings_L4(input, extensionRegistry);
             }
         };
 
@@ -45899,6 +47685,96 @@ public final class ContextOuterClass {
             return new ConnectionSettings();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionSettings(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ConnectionSettings_L0.Builder subBuilder = null;
+                                if (l0_ != null) {
+                                    subBuilder = l0_.toBuilder();
+                                }
+                                l0_ = input.readMessage(context.ContextOuterClass.ConnectionSettings_L0.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(l0_);
+                                    l0_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.ConnectionSettings_L2.Builder subBuilder = null;
+                                if (l2_ != null) {
+                                    subBuilder = l2_.toBuilder();
+                                }
+                                l2_ = input.readMessage(context.ContextOuterClass.ConnectionSettings_L2.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(l2_);
+                                    l2_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 26:
+                            {
+                                context.ContextOuterClass.ConnectionSettings_L3.Builder subBuilder = null;
+                                if (l3_ != null) {
+                                    subBuilder = l3_.toBuilder();
+                                }
+                                l3_ = input.readMessage(context.ContextOuterClass.ConnectionSettings_L3.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(l3_);
+                                    l3_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 34:
+                            {
+                                context.ContextOuterClass.ConnectionSettings_L4.Builder subBuilder = null;
+                                if (l4_ != null) {
+                                    subBuilder = l4_.toBuilder();
+                                }
+                                l4_ = input.readMessage(context.ContextOuterClass.ConnectionSettings_L4.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(l4_);
+                                    l4_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionSettings_descriptor;
         }
@@ -45935,7 +47811,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConnectionSettings_L0OrBuilder getL0OrBuilder() {
-            return l0_ == null ? context.ContextOuterClass.ConnectionSettings_L0.getDefaultInstance() : l0_;
+            return getL0();
         }
 
         public static final int L2_FIELD_NUMBER = 2;
@@ -45965,7 +47841,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConnectionSettings_L2OrBuilder getL2OrBuilder() {
-            return l2_ == null ? context.ContextOuterClass.ConnectionSettings_L2.getDefaultInstance() : l2_;
+            return getL2();
         }
 
         public static final int L3_FIELD_NUMBER = 3;
@@ -45995,7 +47871,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConnectionSettings_L3OrBuilder getL3OrBuilder() {
-            return l3_ == null ? context.ContextOuterClass.ConnectionSettings_L3.getDefaultInstance() : l3_;
+            return getL3();
         }
 
         public static final int L4_FIELD_NUMBER = 4;
@@ -46025,7 +47901,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConnectionSettings_L4OrBuilder getL4OrBuilder() {
-            return l4_ == null ? context.ContextOuterClass.ConnectionSettings_L4.getDefaultInstance() : l4_;
+            return getL4();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -46055,7 +47931,7 @@ public final class ContextOuterClass {
             if (l4_ != null) {
                 output.writeMessage(4, getL4());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -46076,7 +47952,7 @@ public final class ContextOuterClass {
             if (l4_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getL4());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -46114,7 +47990,7 @@ public final class ContextOuterClass {
                 if (!getL4().equals(other.getL4()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -46142,7 +48018,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + L4_FIELD_NUMBER;
                 hash = (53 * hash) + getL4().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -46236,34 +48112,44 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionSettings.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                l0_ = null;
-                if (l0Builder_ != null) {
-                    l0Builder_.dispose();
+                if (l0Builder_ == null) {
+                    l0_ = null;
+                } else {
+                    l0_ = null;
                     l0Builder_ = null;
                 }
-                l2_ = null;
-                if (l2Builder_ != null) {
-                    l2Builder_.dispose();
+                if (l2Builder_ == null) {
+                    l2_ = null;
+                } else {
+                    l2_ = null;
                     l2Builder_ = null;
                 }
-                l3_ = null;
-                if (l3Builder_ != null) {
-                    l3Builder_.dispose();
+                if (l3Builder_ == null) {
+                    l3_ = null;
+                } else {
+                    l3_ = null;
                     l3Builder_ = null;
                 }
-                l4_ = null;
-                if (l4Builder_ != null) {
-                    l4Builder_.dispose();
+                if (l4Builder_ == null) {
+                    l4_ = null;
+                } else {
+                    l4_ = null;
                     l4Builder_ = null;
                 }
                 return this;
@@ -46291,27 +48177,58 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionSettings buildPartial() {
                 context.ContextOuterClass.ConnectionSettings result = new context.ContextOuterClass.ConnectionSettings(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (l0Builder_ == null) {
+                    result.l0_ = l0_;
+                } else {
+                    result.l0_ = l0Builder_.build();
+                }
+                if (l2Builder_ == null) {
+                    result.l2_ = l2_;
+                } else {
+                    result.l2_ = l2Builder_.build();
+                }
+                if (l3Builder_ == null) {
+                    result.l3_ = l3_;
+                } else {
+                    result.l3_ = l3Builder_.build();
+                }
+                if (l4Builder_ == null) {
+                    result.l4_ = l4_;
+                } else {
+                    result.l4_ = l4Builder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionSettings result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.l0_ = l0Builder_ == null ? l0_ : l0Builder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.l2_ = l2Builder_ == null ? l2_ : l2Builder_.build();
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.l3_ = l3Builder_ == null ? l3_ : l3Builder_.build();
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.l4_ = l4Builder_ == null ? l4_ : l4Builder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -46339,7 +48256,7 @@ public final class ContextOuterClass {
                 if (other.hasL4()) {
                     mergeL4(other.getL4());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -46351,68 +48268,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionSettings parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getL0FieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getL2FieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    input.readMessage(getL3FieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    input.readMessage(getL4FieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 34
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionSettings) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.ConnectionSettings_L0 l0_;
 
             private com.google.protobuf.SingleFieldBuilderV3 l0Builder_;
@@ -46422,7 +48291,7 @@ public final class ContextOuterClass {
              * @return Whether the l0 field is set.
              */
             public boolean hasL0() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return l0Builder_ != null || l0_ != null;
             }
 
             /**
@@ -46446,11 +48315,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     l0_ = value;
+                    onChanged();
                 } else {
                     l0Builder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -46460,11 +48328,10 @@ public final class ContextOuterClass {
             public Builder setL0(context.ContextOuterClass.ConnectionSettings_L0.Builder builderForValue) {
                 if (l0Builder_ == null) {
                     l0_ = builderForValue.build();
+                    onChanged();
                 } else {
                     l0Builder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -46473,16 +48340,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeL0(context.ContextOuterClass.ConnectionSettings_L0 value) {
                 if (l0Builder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && l0_ != null && l0_ != context.ContextOuterClass.ConnectionSettings_L0.getDefaultInstance()) {
-                        getL0Builder().mergeFrom(value);
+                    if (l0_ != null) {
+                        l0_ = context.ContextOuterClass.ConnectionSettings_L0.newBuilder(l0_).mergeFrom(value).buildPartial();
                     } else {
                         l0_ = value;
                     }
+                    onChanged();
                 } else {
                     l0Builder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -46490,13 +48356,13 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings_L0 l0 = 1;
              */
             public Builder clearL0() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                l0_ = null;
-                if (l0Builder_ != null) {
-                    l0Builder_.dispose();
+                if (l0Builder_ == null) {
+                    l0_ = null;
+                    onChanged();
+                } else {
+                    l0_ = null;
                     l0Builder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -46504,7 +48370,6 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings_L0 l0 = 1;
              */
             public context.ContextOuterClass.ConnectionSettings_L0.Builder getL0Builder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getL0FieldBuilder().getBuilder();
             }
@@ -46540,7 +48405,7 @@ public final class ContextOuterClass {
              * @return Whether the l2 field is set.
              */
             public boolean hasL2() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return l2Builder_ != null || l2_ != null;
             }
 
             /**
@@ -46564,11 +48429,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     l2_ = value;
+                    onChanged();
                 } else {
                     l2Builder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -46578,11 +48442,10 @@ public final class ContextOuterClass {
             public Builder setL2(context.ContextOuterClass.ConnectionSettings_L2.Builder builderForValue) {
                 if (l2Builder_ == null) {
                     l2_ = builderForValue.build();
+                    onChanged();
                 } else {
                     l2Builder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -46591,16 +48454,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeL2(context.ContextOuterClass.ConnectionSettings_L2 value) {
                 if (l2Builder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && l2_ != null && l2_ != context.ContextOuterClass.ConnectionSettings_L2.getDefaultInstance()) {
-                        getL2Builder().mergeFrom(value);
+                    if (l2_ != null) {
+                        l2_ = context.ContextOuterClass.ConnectionSettings_L2.newBuilder(l2_).mergeFrom(value).buildPartial();
                     } else {
                         l2_ = value;
                     }
+                    onChanged();
                 } else {
                     l2Builder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -46608,13 +48470,13 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings_L2 l2 = 2;
              */
             public Builder clearL2() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                l2_ = null;
-                if (l2Builder_ != null) {
-                    l2Builder_.dispose();
+                if (l2Builder_ == null) {
+                    l2_ = null;
+                    onChanged();
+                } else {
+                    l2_ = null;
                     l2Builder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -46622,7 +48484,6 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings_L2 l2 = 2;
              */
             public context.ContextOuterClass.ConnectionSettings_L2.Builder getL2Builder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getL2FieldBuilder().getBuilder();
             }
@@ -46658,7 +48519,7 @@ public final class ContextOuterClass {
              * @return Whether the l3 field is set.
              */
             public boolean hasL3() {
-                return ((bitField0_ & 0x00000004) != 0);
+                return l3Builder_ != null || l3_ != null;
             }
 
             /**
@@ -46682,11 +48543,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     l3_ = value;
+                    onChanged();
                 } else {
                     l3Builder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -46696,11 +48556,10 @@ public final class ContextOuterClass {
             public Builder setL3(context.ContextOuterClass.ConnectionSettings_L3.Builder builderForValue) {
                 if (l3Builder_ == null) {
                     l3_ = builderForValue.build();
+                    onChanged();
                 } else {
                     l3Builder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -46709,16 +48568,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeL3(context.ContextOuterClass.ConnectionSettings_L3 value) {
                 if (l3Builder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0) && l3_ != null && l3_ != context.ContextOuterClass.ConnectionSettings_L3.getDefaultInstance()) {
-                        getL3Builder().mergeFrom(value);
+                    if (l3_ != null) {
+                        l3_ = context.ContextOuterClass.ConnectionSettings_L3.newBuilder(l3_).mergeFrom(value).buildPartial();
                     } else {
                         l3_ = value;
                     }
+                    onChanged();
                 } else {
                     l3Builder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -46726,13 +48584,13 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings_L3 l3 = 3;
              */
             public Builder clearL3() {
-                bitField0_ = (bitField0_ & ~0x00000004);
-                l3_ = null;
-                if (l3Builder_ != null) {
-                    l3Builder_.dispose();
+                if (l3Builder_ == null) {
+                    l3_ = null;
+                    onChanged();
+                } else {
+                    l3_ = null;
                     l3Builder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -46740,7 +48598,6 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings_L3 l3 = 3;
              */
             public context.ContextOuterClass.ConnectionSettings_L3.Builder getL3Builder() {
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return getL3FieldBuilder().getBuilder();
             }
@@ -46776,7 +48633,7 @@ public final class ContextOuterClass {
              * @return Whether the l4 field is set.
              */
             public boolean hasL4() {
-                return ((bitField0_ & 0x00000008) != 0);
+                return l4Builder_ != null || l4_ != null;
             }
 
             /**
@@ -46800,11 +48657,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     l4_ = value;
+                    onChanged();
                 } else {
                     l4Builder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -46814,11 +48670,10 @@ public final class ContextOuterClass {
             public Builder setL4(context.ContextOuterClass.ConnectionSettings_L4.Builder builderForValue) {
                 if (l4Builder_ == null) {
                     l4_ = builderForValue.build();
+                    onChanged();
                 } else {
                     l4Builder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -46827,16 +48682,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeL4(context.ContextOuterClass.ConnectionSettings_L4 value) {
                 if (l4Builder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0) && l4_ != null && l4_ != context.ContextOuterClass.ConnectionSettings_L4.getDefaultInstance()) {
-                        getL4Builder().mergeFrom(value);
+                    if (l4_ != null) {
+                        l4_ = context.ContextOuterClass.ConnectionSettings_L4.newBuilder(l4_).mergeFrom(value).buildPartial();
                     } else {
                         l4_ = value;
                     }
+                    onChanged();
                 } else {
                     l4Builder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -46844,13 +48698,13 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings_L4 l4 = 4;
              */
             public Builder clearL4() {
-                bitField0_ = (bitField0_ & ~0x00000008);
-                l4_ = null;
-                if (l4Builder_ != null) {
-                    l4Builder_.dispose();
+                if (l4Builder_ == null) {
+                    l4_ = null;
+                    onChanged();
+                } else {
+                    l4_ = null;
                     l4Builder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -46858,7 +48712,6 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings_L4 l4 = 4;
              */
             public context.ContextOuterClass.ConnectionSettings_L4.Builder getL4Builder() {
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return getL4FieldBuilder().getBuilder();
             }
@@ -46912,17 +48765,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionSettings parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionSettings(input, extensionRegistry);
             }
         };
 
@@ -47070,6 +48913,108 @@ public final class ContextOuterClass {
             return new Connection();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Connection(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ConnectionId.Builder subBuilder = null;
+                                if (connectionId_ != null) {
+                                    subBuilder = connectionId_.toBuilder();
+                                }
+                                connectionId_ = input.readMessage(context.ContextOuterClass.ConnectionId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(connectionId_);
+                                    connectionId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.ServiceId.Builder subBuilder = null;
+                                if (serviceId_ != null) {
+                                    subBuilder = serviceId_.toBuilder();
+                                }
+                                serviceId_ = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(serviceId_);
+                                    serviceId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 26:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    pathHopsEndpointIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                pathHopsEndpointIds_.add(input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 34:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+                                    subServiceIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000002;
+                                }
+                                subServiceIds_.add(input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 42:
+                            {
+                                context.ContextOuterClass.ConnectionSettings.Builder subBuilder = null;
+                                if (settings_ != null) {
+                                    subBuilder = settings_.toBuilder();
+                                }
+                                settings_ = input.readMessage(context.ContextOuterClass.ConnectionSettings.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(settings_);
+                                    settings_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    pathHopsEndpointIds_ = java.util.Collections.unmodifiableList(pathHopsEndpointIds_);
+                }
+                if (((mutable_bitField0_ & 0x00000002) != 0)) {
+                    subServiceIds_ = java.util.Collections.unmodifiableList(subServiceIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Connection_descriptor;
         }
@@ -47106,7 +49051,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder() {
-            return connectionId_ == null ? context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_;
+            return getConnectionId();
         }
 
         public static final int SERVICE_ID_FIELD_NUMBER = 2;
@@ -47136,12 +49081,11 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() {
-            return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_;
+            return getServiceId();
         }
 
         public static final int PATH_HOPS_ENDPOINT_IDS_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
         private java.util.List pathHopsEndpointIds_;
 
         /**
@@ -47186,7 +49130,6 @@ public final class ContextOuterClass {
 
         public static final int SUB_SERVICE_IDS_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
         private java.util.List subServiceIds_;
 
         /**
@@ -47256,7 +49199,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConnectionSettingsOrBuilder getSettingsOrBuilder() {
-            return settings_ == null ? context.ContextOuterClass.ConnectionSettings.getDefaultInstance() : settings_;
+            return getSettings();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -47289,7 +49232,7 @@ public final class ContextOuterClass {
             if (settings_ != null) {
                 output.writeMessage(5, getSettings());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -47313,7 +49256,7 @@ public final class ContextOuterClass {
             if (settings_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getSettings());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -47349,7 +49292,7 @@ public final class ContextOuterClass {
                 if (!getSettings().equals(other.getSettings()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -47381,7 +49324,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + SETTINGS_FIELD_NUMBER;
                 hash = (53 * hash) + getSettings().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -47475,43 +49418,52 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Connection.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getPathHopsEndpointIdsFieldBuilder();
+                    getSubServiceIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                connectionId_ = null;
-                if (connectionIdBuilder_ != null) {
-                    connectionIdBuilder_.dispose();
+                if (connectionIdBuilder_ == null) {
+                    connectionId_ = null;
+                } else {
+                    connectionId_ = null;
                     connectionIdBuilder_ = null;
                 }
-                serviceId_ = null;
-                if (serviceIdBuilder_ != null) {
-                    serviceIdBuilder_.dispose();
+                if (serviceIdBuilder_ == null) {
+                    serviceId_ = null;
+                } else {
+                    serviceId_ = null;
                     serviceIdBuilder_ = null;
                 }
                 if (pathHopsEndpointIdsBuilder_ == null) {
                     pathHopsEndpointIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    pathHopsEndpointIds_ = null;
                     pathHopsEndpointIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000004);
                 if (subServiceIdsBuilder_ == null) {
                     subServiceIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000002);
                 } else {
-                    subServiceIds_ = null;
                     subServiceIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000008);
-                settings_ = null;
-                if (settingsBuilder_ != null) {
-                    settingsBuilder_.dispose();
+                if (settingsBuilder_ == null) {
+                    settings_ = null;
+                } else {
+                    settings_ = null;
                     settingsBuilder_ = null;
                 }
                 return this;
@@ -47539,46 +49491,72 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Connection buildPartial() {
                 context.ContextOuterClass.Connection result = new context.ContextOuterClass.Connection(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (connectionIdBuilder_ == null) {
+                    result.connectionId_ = connectionId_;
+                } else {
+                    result.connectionId_ = connectionIdBuilder_.build();
+                }
+                if (serviceIdBuilder_ == null) {
+                    result.serviceId_ = serviceId_;
+                } else {
+                    result.serviceId_ = serviceIdBuilder_.build();
                 }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.Connection result) {
                 if (pathHopsEndpointIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         pathHopsEndpointIds_ = java.util.Collections.unmodifiableList(pathHopsEndpointIds_);
-                        bitField0_ = (bitField0_ & ~0x00000004);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.pathHopsEndpointIds_ = pathHopsEndpointIds_;
                 } else {
                     result.pathHopsEndpointIds_ = pathHopsEndpointIdsBuilder_.build();
                 }
                 if (subServiceIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0)) {
+                    if (((bitField0_ & 0x00000002) != 0)) {
                         subServiceIds_ = java.util.Collections.unmodifiableList(subServiceIds_);
-                        bitField0_ = (bitField0_ & ~0x00000008);
+                        bitField0_ = (bitField0_ & ~0x00000002);
                     }
                     result.subServiceIds_ = subServiceIds_;
                 } else {
                     result.subServiceIds_ = subServiceIdsBuilder_.build();
                 }
+                if (settingsBuilder_ == null) {
+                    result.settings_ = settings_;
+                } else {
+                    result.settings_ = settingsBuilder_.build();
+                }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Connection result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.connectionId_ = connectionIdBuilder_ == null ? connectionId_ : connectionIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.serviceId_ = serviceIdBuilder_ == null ? serviceId_ : serviceIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.settings_ = settingsBuilder_ == null ? settings_ : settingsBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -47604,7 +49582,7 @@ public final class ContextOuterClass {
                     if (!other.pathHopsEndpointIds_.isEmpty()) {
                         if (pathHopsEndpointIds_.isEmpty()) {
                             pathHopsEndpointIds_ = other.pathHopsEndpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensurePathHopsEndpointIdsIsMutable();
                             pathHopsEndpointIds_.addAll(other.pathHopsEndpointIds_);
@@ -47617,7 +49595,7 @@ public final class ContextOuterClass {
                             pathHopsEndpointIdsBuilder_.dispose();
                             pathHopsEndpointIdsBuilder_ = null;
                             pathHopsEndpointIds_ = other.pathHopsEndpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             pathHopsEndpointIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getPathHopsEndpointIdsFieldBuilder() : null;
                         } else {
                             pathHopsEndpointIdsBuilder_.addAllMessages(other.pathHopsEndpointIds_);
@@ -47628,7 +49606,7 @@ public final class ContextOuterClass {
                     if (!other.subServiceIds_.isEmpty()) {
                         if (subServiceIds_.isEmpty()) {
                             subServiceIds_ = other.subServiceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                         } else {
                             ensureSubServiceIdsIsMutable();
                             subServiceIds_.addAll(other.subServiceIds_);
@@ -47641,7 +49619,7 @@ public final class ContextOuterClass {
                             subServiceIdsBuilder_.dispose();
                             subServiceIdsBuilder_ = null;
                             subServiceIds_ = other.subServiceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                             subServiceIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getSubServiceIdsFieldBuilder() : null;
                         } else {
                             subServiceIdsBuilder_.addAllMessages(other.subServiceIds_);
@@ -47651,7 +49629,7 @@ public final class ContextOuterClass {
                 if (other.hasSettings()) {
                     mergeSettings(other.getSettings());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -47663,80 +49641,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Connection parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getConnectionIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getServiceIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    context.ContextOuterClass.EndPointId m = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
-                                    if (pathHopsEndpointIdsBuilder_ == null) {
-                                        ensurePathHopsEndpointIdsIsMutable();
-                                        pathHopsEndpointIds_.add(m);
-                                    } else {
-                                        pathHopsEndpointIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    context.ContextOuterClass.ServiceId m = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry);
-                                    if (subServiceIdsBuilder_ == null) {
-                                        ensureSubServiceIdsIsMutable();
-                                        subServiceIds_.add(m);
-                                    } else {
-                                        subServiceIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    input.readMessage(getSettingsFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 42
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Connection) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -47751,7 +49666,7 @@ public final class ContextOuterClass {
              * @return Whether the connectionId field is set.
              */
             public boolean hasConnectionId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return connectionIdBuilder_ != null || connectionId_ != null;
             }
 
             /**
@@ -47775,11 +49690,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     connectionId_ = value;
+                    onChanged();
                 } else {
                     connectionIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -47789,11 +49703,10 @@ public final class ContextOuterClass {
             public Builder setConnectionId(context.ContextOuterClass.ConnectionId.Builder builderForValue) {
                 if (connectionIdBuilder_ == null) {
                     connectionId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     connectionIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -47802,16 +49715,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeConnectionId(context.ContextOuterClass.ConnectionId value) {
                 if (connectionIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && connectionId_ != null && connectionId_ != context.ContextOuterClass.ConnectionId.getDefaultInstance()) {
-                        getConnectionIdBuilder().mergeFrom(value);
+                    if (connectionId_ != null) {
+                        connectionId_ = context.ContextOuterClass.ConnectionId.newBuilder(connectionId_).mergeFrom(value).buildPartial();
                     } else {
                         connectionId_ = value;
                     }
+                    onChanged();
                 } else {
                     connectionIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -47819,13 +49731,13 @@ public final class ContextOuterClass {
              * .context.ConnectionId connection_id = 1;
              */
             public Builder clearConnectionId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                connectionId_ = null;
-                if (connectionIdBuilder_ != null) {
-                    connectionIdBuilder_.dispose();
+                if (connectionIdBuilder_ == null) {
+                    connectionId_ = null;
+                    onChanged();
+                } else {
+                    connectionId_ = null;
                     connectionIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -47833,7 +49745,6 @@ public final class ContextOuterClass {
              * .context.ConnectionId connection_id = 1;
              */
             public context.ContextOuterClass.ConnectionId.Builder getConnectionIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getConnectionIdFieldBuilder().getBuilder();
             }
@@ -47869,7 +49780,7 @@ public final class ContextOuterClass {
              * @return Whether the serviceId field is set.
              */
             public boolean hasServiceId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return serviceIdBuilder_ != null || serviceId_ != null;
             }
 
             /**
@@ -47893,11 +49804,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     serviceId_ = value;
+                    onChanged();
                 } else {
                     serviceIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -47907,11 +49817,10 @@ public final class ContextOuterClass {
             public Builder setServiceId(context.ContextOuterClass.ServiceId.Builder builderForValue) {
                 if (serviceIdBuilder_ == null) {
                     serviceId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     serviceIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -47920,16 +49829,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeServiceId(context.ContextOuterClass.ServiceId value) {
                 if (serviceIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && serviceId_ != null && serviceId_ != context.ContextOuterClass.ServiceId.getDefaultInstance()) {
-                        getServiceIdBuilder().mergeFrom(value);
+                    if (serviceId_ != null) {
+                        serviceId_ = context.ContextOuterClass.ServiceId.newBuilder(serviceId_).mergeFrom(value).buildPartial();
                     } else {
                         serviceId_ = value;
                     }
+                    onChanged();
                 } else {
                     serviceIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -47937,13 +49845,13 @@ public final class ContextOuterClass {
              * .context.ServiceId service_id = 2;
              */
             public Builder clearServiceId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                serviceId_ = null;
-                if (serviceIdBuilder_ != null) {
-                    serviceIdBuilder_.dispose();
+                if (serviceIdBuilder_ == null) {
+                    serviceId_ = null;
+                    onChanged();
+                } else {
+                    serviceId_ = null;
                     serviceIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -47951,7 +49859,6 @@ public final class ContextOuterClass {
              * .context.ServiceId service_id = 2;
              */
             public context.ContextOuterClass.ServiceId.Builder getServiceIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getServiceIdFieldBuilder().getBuilder();
             }
@@ -47981,9 +49888,9 @@ public final class ContextOuterClass {
             private java.util.List pathHopsEndpointIds_ = java.util.Collections.emptyList();
 
             private void ensurePathHopsEndpointIdsIsMutable() {
-                if (!((bitField0_ & 0x00000004) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     pathHopsEndpointIds_ = new java.util.ArrayList(pathHopsEndpointIds_);
-                    bitField0_ |= 0x00000004;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -48135,7 +50042,7 @@ public final class ContextOuterClass {
             public Builder clearPathHopsEndpointIds() {
                 if (pathHopsEndpointIdsBuilder_ == null) {
                     pathHopsEndpointIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000004);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     pathHopsEndpointIdsBuilder_.clear();
@@ -48209,7 +50116,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getPathHopsEndpointIdsFieldBuilder() {
                 if (pathHopsEndpointIdsBuilder_ == null) {
-                    pathHopsEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(pathHopsEndpointIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
+                    pathHopsEndpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(pathHopsEndpointIds_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     pathHopsEndpointIds_ = null;
                 }
                 return pathHopsEndpointIdsBuilder_;
@@ -48218,9 +50125,9 @@ public final class ContextOuterClass {
             private java.util.List subServiceIds_ = java.util.Collections.emptyList();
 
             private void ensureSubServiceIdsIsMutable() {
-                if (!((bitField0_ & 0x00000008) != 0)) {
+                if (!((bitField0_ & 0x00000002) != 0)) {
                     subServiceIds_ = new java.util.ArrayList(subServiceIds_);
-                    bitField0_ |= 0x00000008;
+                    bitField0_ |= 0x00000002;
                 }
             }
 
@@ -48372,7 +50279,7 @@ public final class ContextOuterClass {
             public Builder clearSubServiceIds() {
                 if (subServiceIdsBuilder_ == null) {
                     subServiceIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000008);
+                    bitField0_ = (bitField0_ & ~0x00000002);
                     onChanged();
                 } else {
                     subServiceIdsBuilder_.clear();
@@ -48446,7 +50353,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getSubServiceIdsFieldBuilder() {
                 if (subServiceIdsBuilder_ == null) {
-                    subServiceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(subServiceIds_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
+                    subServiceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(subServiceIds_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
                     subServiceIds_ = null;
                 }
                 return subServiceIdsBuilder_;
@@ -48461,7 +50368,7 @@ public final class ContextOuterClass {
              * @return Whether the settings field is set.
              */
             public boolean hasSettings() {
-                return ((bitField0_ & 0x00000010) != 0);
+                return settingsBuilder_ != null || settings_ != null;
             }
 
             /**
@@ -48485,11 +50392,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     settings_ = value;
+                    onChanged();
                 } else {
                     settingsBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -48499,11 +50405,10 @@ public final class ContextOuterClass {
             public Builder setSettings(context.ContextOuterClass.ConnectionSettings.Builder builderForValue) {
                 if (settingsBuilder_ == null) {
                     settings_ = builderForValue.build();
+                    onChanged();
                 } else {
                     settingsBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -48512,16 +50417,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeSettings(context.ContextOuterClass.ConnectionSettings value) {
                 if (settingsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000010) != 0) && settings_ != null && settings_ != context.ContextOuterClass.ConnectionSettings.getDefaultInstance()) {
-                        getSettingsBuilder().mergeFrom(value);
+                    if (settings_ != null) {
+                        settings_ = context.ContextOuterClass.ConnectionSettings.newBuilder(settings_).mergeFrom(value).buildPartial();
                     } else {
                         settings_ = value;
                     }
+                    onChanged();
                 } else {
                     settingsBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -48529,13 +50433,13 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings settings = 5;
              */
             public Builder clearSettings() {
-                bitField0_ = (bitField0_ & ~0x00000010);
-                settings_ = null;
-                if (settingsBuilder_ != null) {
-                    settingsBuilder_.dispose();
+                if (settingsBuilder_ == null) {
+                    settings_ = null;
+                    onChanged();
+                } else {
+                    settings_ = null;
                     settingsBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -48543,7 +50447,6 @@ public final class ContextOuterClass {
              * .context.ConnectionSettings settings = 5;
              */
             public context.ContextOuterClass.ConnectionSettings.Builder getSettingsBuilder() {
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return getSettingsFieldBuilder().getBuilder();
             }
@@ -48597,17 +50500,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Connection parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Connection(input, extensionRegistry);
             }
         };
 
@@ -48678,6 +50571,57 @@ public final class ContextOuterClass {
             return new ConnectionIdList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionIdList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    connectionIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                connectionIds_.add(input.readMessage(context.ContextOuterClass.ConnectionId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    connectionIds_ = java.util.Collections.unmodifiableList(connectionIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionIdList_descriptor;
         }
@@ -48689,7 +50633,6 @@ public final class ContextOuterClass {
 
         public static final int CONNECTION_IDS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List connectionIds_;
 
         /**
@@ -48750,7 +50693,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < connectionIds_.size(); i++) {
                 output.writeMessage(1, connectionIds_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -48762,7 +50705,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < connectionIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, connectionIds_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -48778,7 +50721,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.ConnectionIdList other = (context.ContextOuterClass.ConnectionIdList) obj;
             if (!getConnectionIdsList().equals(other.getConnectionIdsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -48794,7 +50737,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONNECTION_IDS_FIELD_NUMBER;
                 hash = (53 * hash) + getConnectionIdsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -48888,23 +50831,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionIdList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getConnectionIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (connectionIdsBuilder_ == null) {
                     connectionIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    connectionIds_ = null;
                     connectionIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -48930,15 +50879,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionIdList buildPartial() {
                 context.ContextOuterClass.ConnectionIdList result = new context.ContextOuterClass.ConnectionIdList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.ConnectionIdList result) {
+                int from_bitField0_ = bitField0_;
                 if (connectionIdsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         connectionIds_ = java.util.Collections.unmodifiableList(connectionIds_);
@@ -48948,10 +50889,38 @@ public final class ContextOuterClass {
                 } else {
                     result.connectionIds_ = connectionIdsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionIdList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -48991,7 +50960,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -49003,47 +50972,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionIdList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.ConnectionId m = input.readMessage(context.ContextOuterClass.ConnectionId.parser(), extensionRegistry);
-                                    if (connectionIdsBuilder_ == null) {
-                                        ensureConnectionIdsIsMutable();
-                                        connectionIds_.add(m);
-                                    } else {
-                                        connectionIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionIdList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -49313,17 +51252,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionIdList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionIdList(input, extensionRegistry);
             }
         };
 
@@ -49394,6 +51323,57 @@ public final class ContextOuterClass {
             return new ConnectionList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    connections_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                connections_.add(input.readMessage(context.ContextOuterClass.Connection.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    connections_ = java.util.Collections.unmodifiableList(connections_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionList_descriptor;
         }
@@ -49405,7 +51385,6 @@ public final class ContextOuterClass {
 
         public static final int CONNECTIONS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List connections_;
 
         /**
@@ -49466,7 +51445,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < connections_.size(); i++) {
                 output.writeMessage(1, connections_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -49478,7 +51457,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < connections_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, connections_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -49494,7 +51473,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.ConnectionList other = (context.ContextOuterClass.ConnectionList) obj;
             if (!getConnectionsList().equals(other.getConnectionsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -49510,7 +51489,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONNECTIONS_FIELD_NUMBER;
                 hash = (53 * hash) + getConnectionsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -49604,23 +51583,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getConnectionsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (connectionsBuilder_ == null) {
                     connections_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    connections_ = null;
                     connectionsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -49646,15 +51631,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionList buildPartial() {
                 context.ContextOuterClass.ConnectionList result = new context.ContextOuterClass.ConnectionList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.ConnectionList result) {
+                int from_bitField0_ = bitField0_;
                 if (connectionsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         connections_ = java.util.Collections.unmodifiableList(connections_);
@@ -49664,10 +51641,38 @@ public final class ContextOuterClass {
                 } else {
                     result.connections_ = connectionsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -49707,7 +51712,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -49719,47 +51724,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.Connection m = input.readMessage(context.ContextOuterClass.Connection.parser(), extensionRegistry);
-                                    if (connectionsBuilder_ == null) {
-                                        ensureConnectionsIsMutable();
-                                        connections_.add(m);
-                                    } else {
-                                        connectionsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -50029,17 +52004,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionList(input, extensionRegistry);
             }
         };
 
@@ -50118,6 +52083,70 @@ public final class ContextOuterClass {
             return new ConnectionEvent();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConnectionEvent(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Event.Builder subBuilder = null;
+                                if (event_ != null) {
+                                    subBuilder = event_.toBuilder();
+                                }
+                                event_ = input.readMessage(context.ContextOuterClass.Event.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(event_);
+                                    event_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.ConnectionId.Builder subBuilder = null;
+                                if (connectionId_ != null) {
+                                    subBuilder = connectionId_.toBuilder();
+                                }
+                                connectionId_ = input.readMessage(context.ContextOuterClass.ConnectionId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(connectionId_);
+                                    connectionId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConnectionEvent_descriptor;
         }
@@ -50154,7 +52183,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EventOrBuilder getEventOrBuilder() {
-            return event_ == null ? context.ContextOuterClass.Event.getDefaultInstance() : event_;
+            return getEvent();
         }
 
         public static final int CONNECTION_ID_FIELD_NUMBER = 2;
@@ -50184,7 +52213,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder() {
-            return connectionId_ == null ? context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_;
+            return getConnectionId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -50208,7 +52237,7 @@ public final class ContextOuterClass {
             if (connectionId_ != null) {
                 output.writeMessage(2, getConnectionId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -50223,7 +52252,7 @@ public final class ContextOuterClass {
             if (connectionId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getConnectionId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -50249,7 +52278,7 @@ public final class ContextOuterClass {
                 if (!getConnectionId().equals(other.getConnectionId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -50269,7 +52298,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + CONNECTION_ID_FIELD_NUMBER;
                 hash = (53 * hash) + getConnectionId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -50363,24 +52392,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConnectionEvent.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                connectionId_ = null;
-                if (connectionIdBuilder_ != null) {
-                    connectionIdBuilder_.dispose();
+                if (connectionIdBuilder_ == null) {
+                    connectionId_ = null;
+                } else {
+                    connectionId_ = null;
                     connectionIdBuilder_ = null;
                 }
                 return this;
@@ -50408,21 +52445,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConnectionEvent buildPartial() {
                 context.ContextOuterClass.ConnectionEvent result = new context.ContextOuterClass.ConnectionEvent(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (eventBuilder_ == null) {
+                    result.event_ = event_;
+                } else {
+                    result.event_ = eventBuilder_.build();
+                }
+                if (connectionIdBuilder_ == null) {
+                    result.connectionId_ = connectionId_;
+                } else {
+                    result.connectionId_ = connectionIdBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConnectionEvent result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.event_ = eventBuilder_ == null ? event_ : eventBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.connectionId_ = connectionIdBuilder_ == null ? connectionId_ : connectionIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -50444,7 +52508,7 @@ public final class ContextOuterClass {
                 if (other.hasConnectionId()) {
                     mergeConnectionId(other.getConnectionId());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -50456,54 +52520,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConnectionEvent parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEventFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getConnectionIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConnectionEvent) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Event event_;
 
             private com.google.protobuf.SingleFieldBuilderV3 eventBuilder_;
@@ -50513,7 +52543,7 @@ public final class ContextOuterClass {
              * @return Whether the event field is set.
              */
             public boolean hasEvent() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return eventBuilder_ != null || event_ != null;
             }
 
             /**
@@ -50537,11 +52567,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     event_ = value;
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -50551,11 +52580,10 @@ public final class ContextOuterClass {
             public Builder setEvent(context.ContextOuterClass.Event.Builder builderForValue) {
                 if (eventBuilder_ == null) {
                     event_ = builderForValue.build();
+                    onChanged();
                 } else {
                     eventBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -50564,16 +52592,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEvent(context.ContextOuterClass.Event value) {
                 if (eventBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && event_ != null && event_ != context.ContextOuterClass.Event.getDefaultInstance()) {
-                        getEventBuilder().mergeFrom(value);
+                    if (event_ != null) {
+                        event_ = context.ContextOuterClass.Event.newBuilder(event_).mergeFrom(value).buildPartial();
                     } else {
                         event_ = value;
                     }
+                    onChanged();
                 } else {
                     eventBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -50581,13 +52608,13 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public Builder clearEvent() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                event_ = null;
-                if (eventBuilder_ != null) {
-                    eventBuilder_.dispose();
+                if (eventBuilder_ == null) {
+                    event_ = null;
+                    onChanged();
+                } else {
+                    event_ = null;
                     eventBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -50595,7 +52622,6 @@ public final class ContextOuterClass {
              * .context.Event event = 1;
              */
             public context.ContextOuterClass.Event.Builder getEventBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEventFieldBuilder().getBuilder();
             }
@@ -50631,7 +52657,7 @@ public final class ContextOuterClass {
              * @return Whether the connectionId field is set.
              */
             public boolean hasConnectionId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return connectionIdBuilder_ != null || connectionId_ != null;
             }
 
             /**
@@ -50655,11 +52681,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     connectionId_ = value;
+                    onChanged();
                 } else {
                     connectionIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -50669,11 +52694,10 @@ public final class ContextOuterClass {
             public Builder setConnectionId(context.ContextOuterClass.ConnectionId.Builder builderForValue) {
                 if (connectionIdBuilder_ == null) {
                     connectionId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     connectionIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -50682,16 +52706,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeConnectionId(context.ContextOuterClass.ConnectionId value) {
                 if (connectionIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && connectionId_ != null && connectionId_ != context.ContextOuterClass.ConnectionId.getDefaultInstance()) {
-                        getConnectionIdBuilder().mergeFrom(value);
+                    if (connectionId_ != null) {
+                        connectionId_ = context.ContextOuterClass.ConnectionId.newBuilder(connectionId_).mergeFrom(value).buildPartial();
                     } else {
                         connectionId_ = value;
                     }
+                    onChanged();
                 } else {
                     connectionIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -50699,13 +52722,13 @@ public final class ContextOuterClass {
              * .context.ConnectionId connection_id = 2;
              */
             public Builder clearConnectionId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                connectionId_ = null;
-                if (connectionIdBuilder_ != null) {
-                    connectionIdBuilder_.dispose();
+                if (connectionIdBuilder_ == null) {
+                    connectionId_ = null;
+                    onChanged();
+                } else {
+                    connectionId_ = null;
                     connectionIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -50713,7 +52736,6 @@ public final class ContextOuterClass {
              * .context.ConnectionId connection_id = 2;
              */
             public context.ContextOuterClass.ConnectionId.Builder getConnectionIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getConnectionIdFieldBuilder().getBuilder();
             }
@@ -50767,17 +52789,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConnectionEvent parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConnectionEvent(input, extensionRegistry);
             }
         };
 
@@ -50877,6 +52889,83 @@ public final class ContextOuterClass {
             return new EndPointId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private EndPointId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.TopologyId.Builder subBuilder = null;
+                                if (topologyId_ != null) {
+                                    subBuilder = topologyId_.toBuilder();
+                                }
+                                topologyId_ = input.readMessage(context.ContextOuterClass.TopologyId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(topologyId_);
+                                    topologyId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.DeviceId.Builder subBuilder = null;
+                                if (deviceId_ != null) {
+                                    subBuilder = deviceId_.toBuilder();
+                                }
+                                deviceId_ = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(deviceId_);
+                                    deviceId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 26:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (endpointUuid_ != null) {
+                                    subBuilder = endpointUuid_.toBuilder();
+                                }
+                                endpointUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endpointUuid_);
+                                    endpointUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_EndPointId_descriptor;
         }
@@ -50913,7 +53002,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.TopologyIdOrBuilder getTopologyIdOrBuilder() {
-            return topologyId_ == null ? context.ContextOuterClass.TopologyId.getDefaultInstance() : topologyId_;
+            return getTopologyId();
         }
 
         public static final int DEVICE_ID_FIELD_NUMBER = 2;
@@ -50943,7 +53032,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() {
-            return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_;
+            return getDeviceId();
         }
 
         public static final int ENDPOINT_UUID_FIELD_NUMBER = 3;
@@ -50973,7 +53062,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getEndpointUuidOrBuilder() {
-            return endpointUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : endpointUuid_;
+            return getEndpointUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -51000,7 +53089,7 @@ public final class ContextOuterClass {
             if (endpointUuid_ != null) {
                 output.writeMessage(3, getEndpointUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -51018,7 +53107,7 @@ public final class ContextOuterClass {
             if (endpointUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getEndpointUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -51050,7 +53139,7 @@ public final class ContextOuterClass {
                 if (!getEndpointUuid().equals(other.getEndpointUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -51074,7 +53163,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + ENDPOINT_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getEndpointUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -51172,29 +53261,38 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.EndPointId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                topologyId_ = null;
-                if (topologyIdBuilder_ != null) {
-                    topologyIdBuilder_.dispose();
+                if (topologyIdBuilder_ == null) {
+                    topologyId_ = null;
+                } else {
+                    topologyId_ = null;
                     topologyIdBuilder_ = null;
                 }
-                deviceId_ = null;
-                if (deviceIdBuilder_ != null) {
-                    deviceIdBuilder_.dispose();
+                if (deviceIdBuilder_ == null) {
+                    deviceId_ = null;
+                } else {
+                    deviceId_ = null;
                     deviceIdBuilder_ = null;
                 }
-                endpointUuid_ = null;
-                if (endpointUuidBuilder_ != null) {
-                    endpointUuidBuilder_.dispose();
+                if (endpointUuidBuilder_ == null) {
+                    endpointUuid_ = null;
+                } else {
+                    endpointUuid_ = null;
                     endpointUuidBuilder_ = null;
                 }
                 return this;
@@ -51222,24 +53320,53 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.EndPointId buildPartial() {
                 context.ContextOuterClass.EndPointId result = new context.ContextOuterClass.EndPointId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (topologyIdBuilder_ == null) {
+                    result.topologyId_ = topologyId_;
+                } else {
+                    result.topologyId_ = topologyIdBuilder_.build();
+                }
+                if (deviceIdBuilder_ == null) {
+                    result.deviceId_ = deviceId_;
+                } else {
+                    result.deviceId_ = deviceIdBuilder_.build();
+                }
+                if (endpointUuidBuilder_ == null) {
+                    result.endpointUuid_ = endpointUuid_;
+                } else {
+                    result.endpointUuid_ = endpointUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.EndPointId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.topologyId_ = topologyIdBuilder_ == null ? topologyId_ : topologyIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.deviceId_ = deviceIdBuilder_ == null ? deviceId_ : deviceIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.endpointUuid_ = endpointUuidBuilder_ == null ? endpointUuid_ : endpointUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -51264,7 +53391,7 @@ public final class ContextOuterClass {
                 if (other.hasEndpointUuid()) {
                     mergeEndpointUuid(other.getEndpointUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -51276,61 +53403,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.EndPointId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getTopologyIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getDeviceIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    input.readMessage(getEndpointUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.EndPointId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.TopologyId topologyId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 topologyIdBuilder_;
@@ -51340,7 +53426,7 @@ public final class ContextOuterClass {
              * @return Whether the topologyId field is set.
              */
             public boolean hasTopologyId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return topologyIdBuilder_ != null || topologyId_ != null;
             }
 
             /**
@@ -51364,11 +53450,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     topologyId_ = value;
+                    onChanged();
                 } else {
                     topologyIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -51378,11 +53463,10 @@ public final class ContextOuterClass {
             public Builder setTopologyId(context.ContextOuterClass.TopologyId.Builder builderForValue) {
                 if (topologyIdBuilder_ == null) {
                     topologyId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     topologyIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -51391,16 +53475,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeTopologyId(context.ContextOuterClass.TopologyId value) {
                 if (topologyIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && topologyId_ != null && topologyId_ != context.ContextOuterClass.TopologyId.getDefaultInstance()) {
-                        getTopologyIdBuilder().mergeFrom(value);
+                    if (topologyId_ != null) {
+                        topologyId_ = context.ContextOuterClass.TopologyId.newBuilder(topologyId_).mergeFrom(value).buildPartial();
                     } else {
                         topologyId_ = value;
                     }
+                    onChanged();
                 } else {
                     topologyIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -51408,13 +53491,13 @@ public final class ContextOuterClass {
              * .context.TopologyId topology_id = 1;
              */
             public Builder clearTopologyId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                topologyId_ = null;
-                if (topologyIdBuilder_ != null) {
-                    topologyIdBuilder_.dispose();
+                if (topologyIdBuilder_ == null) {
+                    topologyId_ = null;
+                    onChanged();
+                } else {
+                    topologyId_ = null;
                     topologyIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -51422,7 +53505,6 @@ public final class ContextOuterClass {
              * .context.TopologyId topology_id = 1;
              */
             public context.ContextOuterClass.TopologyId.Builder getTopologyIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getTopologyIdFieldBuilder().getBuilder();
             }
@@ -51458,7 +53540,7 @@ public final class ContextOuterClass {
              * @return Whether the deviceId field is set.
              */
             public boolean hasDeviceId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return deviceIdBuilder_ != null || deviceId_ != null;
             }
 
             /**
@@ -51482,11 +53564,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     deviceId_ = value;
+                    onChanged();
                 } else {
                     deviceIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -51496,11 +53577,10 @@ public final class ContextOuterClass {
             public Builder setDeviceId(context.ContextOuterClass.DeviceId.Builder builderForValue) {
                 if (deviceIdBuilder_ == null) {
                     deviceId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     deviceIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -51509,16 +53589,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeDeviceId(context.ContextOuterClass.DeviceId value) {
                 if (deviceIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && deviceId_ != null && deviceId_ != context.ContextOuterClass.DeviceId.getDefaultInstance()) {
-                        getDeviceIdBuilder().mergeFrom(value);
+                    if (deviceId_ != null) {
+                        deviceId_ = context.ContextOuterClass.DeviceId.newBuilder(deviceId_).mergeFrom(value).buildPartial();
                     } else {
                         deviceId_ = value;
                     }
+                    onChanged();
                 } else {
                     deviceIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -51526,13 +53605,13 @@ public final class ContextOuterClass {
              * .context.DeviceId device_id = 2;
              */
             public Builder clearDeviceId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                deviceId_ = null;
-                if (deviceIdBuilder_ != null) {
-                    deviceIdBuilder_.dispose();
+                if (deviceIdBuilder_ == null) {
+                    deviceId_ = null;
+                    onChanged();
+                } else {
+                    deviceId_ = null;
                     deviceIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -51540,7 +53619,6 @@ public final class ContextOuterClass {
              * .context.DeviceId device_id = 2;
              */
             public context.ContextOuterClass.DeviceId.Builder getDeviceIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getDeviceIdFieldBuilder().getBuilder();
             }
@@ -51576,7 +53654,7 @@ public final class ContextOuterClass {
              * @return Whether the endpointUuid field is set.
              */
             public boolean hasEndpointUuid() {
-                return ((bitField0_ & 0x00000004) != 0);
+                return endpointUuidBuilder_ != null || endpointUuid_ != null;
             }
 
             /**
@@ -51600,11 +53678,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     endpointUuid_ = value;
+                    onChanged();
                 } else {
                     endpointUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -51614,11 +53691,10 @@ public final class ContextOuterClass {
             public Builder setEndpointUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (endpointUuidBuilder_ == null) {
                     endpointUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endpointUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -51627,16 +53703,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEndpointUuid(context.ContextOuterClass.Uuid value) {
                 if (endpointUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0) && endpointUuid_ != null && endpointUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getEndpointUuidBuilder().mergeFrom(value);
+                    if (endpointUuid_ != null) {
+                        endpointUuid_ = context.ContextOuterClass.Uuid.newBuilder(endpointUuid_).mergeFrom(value).buildPartial();
                     } else {
                         endpointUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     endpointUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -51644,13 +53719,13 @@ public final class ContextOuterClass {
              * .context.Uuid endpoint_uuid = 3;
              */
             public Builder clearEndpointUuid() {
-                bitField0_ = (bitField0_ & ~0x00000004);
-                endpointUuid_ = null;
-                if (endpointUuidBuilder_ != null) {
-                    endpointUuidBuilder_.dispose();
+                if (endpointUuidBuilder_ == null) {
+                    endpointUuid_ = null;
+                    onChanged();
+                } else {
+                    endpointUuid_ = null;
                     endpointUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -51658,7 +53733,6 @@ public final class ContextOuterClass {
              * .context.Uuid endpoint_uuid = 3;
              */
             public context.ContextOuterClass.Uuid.Builder getEndpointUuidBuilder() {
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return getEndpointUuidFieldBuilder().getBuilder();
             }
@@ -51712,17 +53786,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public EndPointId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new EndPointId(input, extensionRegistry);
             }
         };
 
@@ -51860,6 +53924,111 @@ public final class ContextOuterClass {
             return new EndPoint();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private EndPoint(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.EndPointId.Builder subBuilder = null;
+                                if (endpointId_ != null) {
+                                    subBuilder = endpointId_.toBuilder();
+                                }
+                                endpointId_ = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endpointId_);
+                                    endpointId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                endpointType_ = s;
+                                break;
+                            }
+                        case 32:
+                            {
+                                int rawValue = input.readEnum();
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    kpiSampleTypes_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                kpiSampleTypes_.add(rawValue);
+                                break;
+                            }
+                        case 34:
+                            {
+                                int length = input.readRawVarint32();
+                                int oldLimit = input.pushLimit(length);
+                                while (input.getBytesUntilLimit() > 0) {
+                                    int rawValue = input.readEnum();
+                                    if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                        kpiSampleTypes_ = new java.util.ArrayList();
+                                        mutable_bitField0_ |= 0x00000001;
+                                    }
+                                    kpiSampleTypes_.add(rawValue);
+                                }
+                                input.popLimit(oldLimit);
+                                break;
+                            }
+                        case 42:
+                            {
+                                context.ContextOuterClass.Location.Builder subBuilder = null;
+                                if (endpointLocation_ != null) {
+                                    subBuilder = endpointLocation_.toBuilder();
+                                }
+                                endpointLocation_ = input.readMessage(context.ContextOuterClass.Location.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endpointLocation_);
+                                    endpointLocation_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    kpiSampleTypes_ = java.util.Collections.unmodifiableList(kpiSampleTypes_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_EndPoint_descriptor;
         }
@@ -51896,13 +54065,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() {
-            return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_;
+            return getEndpointId();
         }
 
         public static final int NAME_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 2;
@@ -51939,8 +54107,7 @@ public final class ContextOuterClass {
 
         public static final int ENDPOINT_TYPE_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object endpointType_ = "";
+        private volatile java.lang.Object endpointType_;
 
         /**
          * string endpoint_type = 3;
@@ -51977,13 +54144,13 @@ public final class ContextOuterClass {
 
         public static final int KPI_SAMPLE_TYPES_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
         private java.util.List kpiSampleTypes_;
 
         private static final com.google.protobuf.Internal.ListAdapter.Converter kpiSampleTypes_converter_ = new com.google.protobuf.Internal.ListAdapter.Converter() {
 
             public kpi_sample_types.KpiSampleTypes.KpiSampleType convert(java.lang.Integer from) {
-                kpi_sample_types.KpiSampleTypes.KpiSampleType result = kpi_sample_types.KpiSampleTypes.KpiSampleType.forNumber(from);
+                @SuppressWarnings("deprecation")
+                kpi_sample_types.KpiSampleTypes.KpiSampleType result = kpi_sample_types.KpiSampleTypes.KpiSampleType.valueOf(from);
                 return result == null ? kpi_sample_types.KpiSampleTypes.KpiSampleType.UNRECOGNIZED : result;
             }
         };
@@ -52064,7 +54231,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.LocationOrBuilder getEndpointLocationOrBuilder() {
-            return endpointLocation_ == null ? context.ContextOuterClass.Location.getDefaultInstance() : endpointLocation_;
+            return getEndpointLocation();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -52086,10 +54253,10 @@ public final class ContextOuterClass {
             if (endpointId_ != null) {
                 output.writeMessage(1, getEndpointId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, name_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(endpointType_)) {
+            if (!getEndpointTypeBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 3, endpointType_);
             }
             if (getKpiSampleTypesList().size() > 0) {
@@ -52102,7 +54269,7 @@ public final class ContextOuterClass {
             if (endpointLocation_ != null) {
                 output.writeMessage(5, getEndpointLocation());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -52114,10 +54281,10 @@ public final class ContextOuterClass {
             if (endpointId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getEndpointId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, name_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(endpointType_)) {
+            if (!getEndpointTypeBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, endpointType_);
             }
             {
@@ -52135,7 +54302,7 @@ public final class ContextOuterClass {
             if (endpointLocation_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getEndpointLocation());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -52167,7 +54334,7 @@ public final class ContextOuterClass {
                 if (!getEndpointLocation().equals(other.getEndpointLocation()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -52195,7 +54362,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + ENDPOINT_LOCATION_FIELD_NUMBER;
                 hash = (53 * hash) + getEndpointLocation().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -52289,28 +54456,36 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.EndPoint.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
                 name_ = "";
                 endpointType_ = "";
                 kpiSampleTypes_ = java.util.Collections.emptyList();
-                bitField0_ = (bitField0_ & ~0x00000008);
-                endpointLocation_ = null;
-                if (endpointLocationBuilder_ != null) {
-                    endpointLocationBuilder_.dispose();
+                bitField0_ = (bitField0_ & ~0x00000001);
+                if (endpointLocationBuilder_ == null) {
+                    endpointLocation_ = null;
+                } else {
+                    endpointLocation_ = null;
                     endpointLocationBuilder_ = null;
                 }
                 return this;
@@ -52338,36 +54513,56 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.EndPoint buildPartial() {
                 context.ContextOuterClass.EndPoint result = new context.ContextOuterClass.EndPoint(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (endpointIdBuilder_ == null) {
+                    result.endpointId_ = endpointId_;
+                } else {
+                    result.endpointId_ = endpointIdBuilder_.build();
+                }
+                result.name_ = name_;
+                result.endpointType_ = endpointType_;
+                if (((bitField0_ & 0x00000001) != 0)) {
+                    kpiSampleTypes_ = java.util.Collections.unmodifiableList(kpiSampleTypes_);
+                    bitField0_ = (bitField0_ & ~0x00000001);
+                }
+                result.kpiSampleTypes_ = kpiSampleTypes_;
+                if (endpointLocationBuilder_ == null) {
+                    result.endpointLocation_ = endpointLocation_;
+                } else {
+                    result.endpointLocation_ = endpointLocationBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartialRepeatedFields(context.ContextOuterClass.EndPoint result) {
-                if (((bitField0_ & 0x00000008) != 0)) {
-                    kpiSampleTypes_ = java.util.Collections.unmodifiableList(kpiSampleTypes_);
-                    bitField0_ = (bitField0_ & ~0x00000008);
-                }
-                result.kpiSampleTypes_ = kpiSampleTypes_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
             }
 
-            private void buildPartial0(context.ContextOuterClass.EndPoint result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.endpointId_ = endpointIdBuilder_ == null ? endpointId_ : endpointIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.name_ = name_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.endpointType_ = endpointType_;
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.endpointLocation_ = endpointLocationBuilder_ == null ? endpointLocation_ : endpointLocationBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -52388,18 +54583,16 @@ public final class ContextOuterClass {
                 }
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (!other.getEndpointType().isEmpty()) {
                     endpointType_ = other.endpointType_;
-                    bitField0_ |= 0x00000004;
                     onChanged();
                 }
                 if (!other.kpiSampleTypes_.isEmpty()) {
                     if (kpiSampleTypes_.isEmpty()) {
                         kpiSampleTypes_ = other.kpiSampleTypes_;
-                        bitField0_ = (bitField0_ & ~0x00000008);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     } else {
                         ensureKpiSampleTypesIsMutable();
                         kpiSampleTypes_.addAll(other.kpiSampleTypes_);
@@ -52409,7 +54602,7 @@ public final class ContextOuterClass {
                 if (other.hasEndpointLocation()) {
                     mergeEndpointLocation(other.getEndpointLocation());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -52421,84 +54614,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.EndPoint parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEndpointIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    endpointType_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            case 32:
-                                {
-                                    int tmpRaw = input.readEnum();
-                                    ensureKpiSampleTypesIsMutable();
-                                    kpiSampleTypes_.add(tmpRaw);
-                                    break;
-                                }
-                            // case 32
-                            case 34:
-                                {
-                                    int length = input.readRawVarint32();
-                                    int oldLimit = input.pushLimit(length);
-                                    while (input.getBytesUntilLimit() > 0) {
-                                        int tmpRaw = input.readEnum();
-                                        ensureKpiSampleTypesIsMutable();
-                                        kpiSampleTypes_.add(tmpRaw);
-                                    }
-                                    input.popLimit(oldLimit);
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    input.readMessage(getEndpointLocationFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 42
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.EndPoint) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -52513,7 +54639,7 @@ public final class ContextOuterClass {
              * @return Whether the endpointId field is set.
              */
             public boolean hasEndpointId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return endpointIdBuilder_ != null || endpointId_ != null;
             }
 
             /**
@@ -52537,11 +54663,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     endpointId_ = value;
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -52551,11 +54676,10 @@ public final class ContextOuterClass {
             public Builder setEndpointId(context.ContextOuterClass.EndPointId.Builder builderForValue) {
                 if (endpointIdBuilder_ == null) {
                     endpointId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -52564,16 +54688,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) {
                 if (endpointIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && endpointId_ != null && endpointId_ != context.ContextOuterClass.EndPointId.getDefaultInstance()) {
-                        getEndpointIdBuilder().mergeFrom(value);
+                    if (endpointId_ != null) {
+                        endpointId_ = context.ContextOuterClass.EndPointId.newBuilder(endpointId_).mergeFrom(value).buildPartial();
                     } else {
                         endpointId_ = value;
                     }
+                    onChanged();
                 } else {
                     endpointIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -52581,13 +54704,13 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public Builder clearEndpointId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                    onChanged();
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -52595,7 +54718,6 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEndpointIdFieldBuilder().getBuilder();
             }
@@ -52665,7 +54787,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -52676,7 +54797,6 @@ public final class ContextOuterClass {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -52692,7 +54812,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -52740,7 +54859,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 endpointType_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -52751,7 +54869,6 @@ public final class ContextOuterClass {
              */
             public Builder clearEndpointType() {
                 endpointType_ = getDefaultInstance().getEndpointType();
-                bitField0_ = (bitField0_ & ~0x00000004);
                 onChanged();
                 return this;
             }
@@ -52767,7 +54884,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 endpointType_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -52775,9 +54891,9 @@ public final class ContextOuterClass {
             private java.util.List kpiSampleTypes_ = java.util.Collections.emptyList();
 
             private void ensureKpiSampleTypesIsMutable() {
-                if (!((bitField0_ & 0x00000008) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     kpiSampleTypes_ = new java.util.ArrayList(kpiSampleTypes_);
-                    bitField0_ |= 0x00000008;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -52857,7 +54973,7 @@ public final class ContextOuterClass {
              */
             public Builder clearKpiSampleTypes() {
                 kpiSampleTypes_ = java.util.Collections.emptyList();
-                bitField0_ = (bitField0_ & ~0x00000008);
+                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -52881,8 +54997,8 @@ public final class ContextOuterClass {
 
             /**
              * repeated .kpi_sample_types.KpiSampleType kpi_sample_types = 4;
-             * @param index The index to set the value at.
-             * @param value The enum numeric value on the wire for kpiSampleTypes to set.
+             * @param index The index of the value to return.
+             * @return The enum numeric value on the wire of kpiSampleTypes at the given index.
              * @return This builder for chaining.
              */
             public Builder setKpiSampleTypesValue(int index, int value) {
@@ -52927,7 +55043,7 @@ public final class ContextOuterClass {
              * @return Whether the endpointLocation field is set.
              */
             public boolean hasEndpointLocation() {
-                return ((bitField0_ & 0x00000010) != 0);
+                return endpointLocationBuilder_ != null || endpointLocation_ != null;
             }
 
             /**
@@ -52951,11 +55067,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     endpointLocation_ = value;
+                    onChanged();
                 } else {
                     endpointLocationBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -52965,11 +55080,10 @@ public final class ContextOuterClass {
             public Builder setEndpointLocation(context.ContextOuterClass.Location.Builder builderForValue) {
                 if (endpointLocationBuilder_ == null) {
                     endpointLocation_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endpointLocationBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -52978,16 +55092,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEndpointLocation(context.ContextOuterClass.Location value) {
                 if (endpointLocationBuilder_ == null) {
-                    if (((bitField0_ & 0x00000010) != 0) && endpointLocation_ != null && endpointLocation_ != context.ContextOuterClass.Location.getDefaultInstance()) {
-                        getEndpointLocationBuilder().mergeFrom(value);
+                    if (endpointLocation_ != null) {
+                        endpointLocation_ = context.ContextOuterClass.Location.newBuilder(endpointLocation_).mergeFrom(value).buildPartial();
                     } else {
                         endpointLocation_ = value;
                     }
+                    onChanged();
                 } else {
                     endpointLocationBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -52995,13 +55108,13 @@ public final class ContextOuterClass {
              * .context.Location endpoint_location = 5;
              */
             public Builder clearEndpointLocation() {
-                bitField0_ = (bitField0_ & ~0x00000010);
-                endpointLocation_ = null;
-                if (endpointLocationBuilder_ != null) {
-                    endpointLocationBuilder_.dispose();
+                if (endpointLocationBuilder_ == null) {
+                    endpointLocation_ = null;
+                    onChanged();
+                } else {
+                    endpointLocation_ = null;
                     endpointLocationBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -53009,7 +55122,6 @@ public final class ContextOuterClass {
              * .context.Location endpoint_location = 5;
              */
             public context.ContextOuterClass.Location.Builder getEndpointLocationBuilder() {
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return getEndpointLocationFieldBuilder().getBuilder();
             }
@@ -53063,17 +55175,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public EndPoint parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new EndPoint(input, extensionRegistry);
             }
         };
 
@@ -53174,6 +55276,75 @@ public final class ContextOuterClass {
             return new EndPointName();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private EndPointName(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.EndPointId.Builder subBuilder = null;
+                                if (endpointId_ != null) {
+                                    subBuilder = endpointId_.toBuilder();
+                                }
+                                endpointId_ = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endpointId_);
+                                    endpointId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                deviceName_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                endpointName_ = s;
+                                break;
+                            }
+                        case 34:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                endpointType_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_EndPointName_descriptor;
         }
@@ -53210,13 +55381,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() {
-            return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_;
+            return getEndpointId();
         }
 
         public static final int DEVICE_NAME_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object deviceName_ = "";
+        private volatile java.lang.Object deviceName_;
 
         /**
          * string device_name = 2;
@@ -53253,8 +55423,7 @@ public final class ContextOuterClass {
 
         public static final int ENDPOINT_NAME_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object endpointName_ = "";
+        private volatile java.lang.Object endpointName_;
 
         /**
          * string endpoint_name = 3;
@@ -53291,8 +55460,7 @@ public final class ContextOuterClass {
 
         public static final int ENDPOINT_TYPE_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object endpointType_ = "";
+        private volatile java.lang.Object endpointType_;
 
         /**
          * string endpoint_type = 4;
@@ -53345,16 +55513,16 @@ public final class ContextOuterClass {
             if (endpointId_ != null) {
                 output.writeMessage(1, getEndpointId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(deviceName_)) {
+            if (!getDeviceNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, deviceName_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(endpointName_)) {
+            if (!getEndpointNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 3, endpointName_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(endpointType_)) {
+            if (!getEndpointTypeBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 4, endpointType_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -53366,16 +55534,16 @@ public final class ContextOuterClass {
             if (endpointId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getEndpointId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(deviceName_)) {
+            if (!getDeviceNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, deviceName_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(endpointName_)) {
+            if (!getEndpointNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, endpointName_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(endpointType_)) {
+            if (!getEndpointTypeBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, endpointType_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -53401,7 +55569,7 @@ public final class ContextOuterClass {
                 return false;
             if (!getEndpointType().equals(other.getEndpointType()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -53423,7 +55591,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + getEndpointName().hashCode();
             hash = (37 * hash) + ENDPOINT_TYPE_FIELD_NUMBER;
             hash = (53 * hash) + getEndpointType().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -53517,19 +55685,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.EndPointName.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
                 deviceName_ = "";
@@ -53560,27 +55735,46 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.EndPointName buildPartial() {
                 context.ContextOuterClass.EndPointName result = new context.ContextOuterClass.EndPointName(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (endpointIdBuilder_ == null) {
+                    result.endpointId_ = endpointId_;
+                } else {
+                    result.endpointId_ = endpointIdBuilder_.build();
                 }
+                result.deviceName_ = deviceName_;
+                result.endpointName_ = endpointName_;
+                result.endpointType_ = endpointType_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.EndPointName result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.endpointId_ = endpointIdBuilder_ == null ? endpointId_ : endpointIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.deviceName_ = deviceName_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.endpointName_ = endpointName_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.endpointType_ = endpointType_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -53601,20 +55795,17 @@ public final class ContextOuterClass {
                 }
                 if (!other.getDeviceName().isEmpty()) {
                     deviceName_ = other.deviceName_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (!other.getEndpointName().isEmpty()) {
                     endpointName_ = other.endpointName_;
-                    bitField0_ |= 0x00000004;
                     onChanged();
                 }
                 if (!other.getEndpointType().isEmpty()) {
                     endpointType_ = other.endpointType_;
-                    bitField0_ |= 0x00000008;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -53626,68 +55817,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.EndPointName parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEndpointIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    deviceName_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    endpointName_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    endpointType_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 34
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.EndPointName) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.EndPointId endpointId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 endpointIdBuilder_;
@@ -53697,7 +55840,7 @@ public final class ContextOuterClass {
              * @return Whether the endpointId field is set.
              */
             public boolean hasEndpointId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return endpointIdBuilder_ != null || endpointId_ != null;
             }
 
             /**
@@ -53721,11 +55864,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     endpointId_ = value;
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -53735,11 +55877,10 @@ public final class ContextOuterClass {
             public Builder setEndpointId(context.ContextOuterClass.EndPointId.Builder builderForValue) {
                 if (endpointIdBuilder_ == null) {
                     endpointId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -53748,16 +55889,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) {
                 if (endpointIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && endpointId_ != null && endpointId_ != context.ContextOuterClass.EndPointId.getDefaultInstance()) {
-                        getEndpointIdBuilder().mergeFrom(value);
+                    if (endpointId_ != null) {
+                        endpointId_ = context.ContextOuterClass.EndPointId.newBuilder(endpointId_).mergeFrom(value).buildPartial();
                     } else {
                         endpointId_ = value;
                     }
+                    onChanged();
                 } else {
                     endpointIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -53765,13 +55905,13 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public Builder clearEndpointId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                    onChanged();
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -53779,7 +55919,6 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEndpointIdFieldBuilder().getBuilder();
             }
@@ -53849,7 +55988,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 deviceName_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -53860,7 +55998,6 @@ public final class ContextOuterClass {
              */
             public Builder clearDeviceName() {
                 deviceName_ = getDefaultInstance().getDeviceName();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -53876,7 +56013,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 deviceName_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -53924,7 +56060,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 endpointName_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -53935,7 +56070,6 @@ public final class ContextOuterClass {
              */
             public Builder clearEndpointName() {
                 endpointName_ = getDefaultInstance().getEndpointName();
-                bitField0_ = (bitField0_ & ~0x00000004);
                 onChanged();
                 return this;
             }
@@ -53951,7 +56085,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 endpointName_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -53999,7 +56132,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 endpointType_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -54010,7 +56142,6 @@ public final class ContextOuterClass {
              */
             public Builder clearEndpointType() {
                 endpointType_ = getDefaultInstance().getEndpointType();
-                bitField0_ = (bitField0_ & ~0x00000008);
                 onChanged();
                 return this;
             }
@@ -54026,7 +56157,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 endpointType_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -54058,17 +56188,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public EndPointName parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new EndPointName(input, extensionRegistry);
             }
         };
 
@@ -54139,6 +56259,57 @@ public final class ContextOuterClass {
             return new EndPointIdList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private EndPointIdList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    endpointIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                endpointIds_.add(input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    endpointIds_ = java.util.Collections.unmodifiableList(endpointIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_EndPointIdList_descriptor;
         }
@@ -54150,7 +56321,6 @@ public final class ContextOuterClass {
 
         public static final int ENDPOINT_IDS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List endpointIds_;
 
         /**
@@ -54211,7 +56381,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < endpointIds_.size(); i++) {
                 output.writeMessage(1, endpointIds_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -54223,7 +56393,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < endpointIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, endpointIds_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -54239,7 +56409,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.EndPointIdList other = (context.ContextOuterClass.EndPointIdList) obj;
             if (!getEndpointIdsList().equals(other.getEndpointIdsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -54255,7 +56425,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + ENDPOINT_IDS_FIELD_NUMBER;
                 hash = (53 * hash) + getEndpointIdsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -54349,23 +56519,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.EndPointIdList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getEndpointIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (endpointIdsBuilder_ == null) {
                     endpointIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    endpointIds_ = null;
                     endpointIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -54391,15 +56567,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.EndPointIdList buildPartial() {
                 context.ContextOuterClass.EndPointIdList result = new context.ContextOuterClass.EndPointIdList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.EndPointIdList result) {
+                int from_bitField0_ = bitField0_;
                 if (endpointIdsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         endpointIds_ = java.util.Collections.unmodifiableList(endpointIds_);
@@ -54409,10 +56577,38 @@ public final class ContextOuterClass {
                 } else {
                     result.endpointIds_ = endpointIdsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.EndPointIdList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -54452,7 +56648,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -54464,47 +56660,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.EndPointIdList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.EndPointId m = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
-                                    if (endpointIdsBuilder_ == null) {
-                                        ensureEndpointIdsIsMutable();
-                                        endpointIds_.add(m);
-                                    } else {
-                                        endpointIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.EndPointIdList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -54774,17 +56940,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public EndPointIdList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new EndPointIdList(input, extensionRegistry);
             }
         };
 
@@ -54855,6 +57011,57 @@ public final class ContextOuterClass {
             return new EndPointNameList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private EndPointNameList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    endpointNames_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                endpointNames_.add(input.readMessage(context.ContextOuterClass.EndPointName.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    endpointNames_ = java.util.Collections.unmodifiableList(endpointNames_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_EndPointNameList_descriptor;
         }
@@ -54866,7 +57073,6 @@ public final class ContextOuterClass {
 
         public static final int ENDPOINT_NAMES_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List endpointNames_;
 
         /**
@@ -54927,7 +57133,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < endpointNames_.size(); i++) {
                 output.writeMessage(1, endpointNames_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -54939,7 +57145,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < endpointNames_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, endpointNames_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -54955,7 +57161,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.EndPointNameList other = (context.ContextOuterClass.EndPointNameList) obj;
             if (!getEndpointNamesList().equals(other.getEndpointNamesList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -54971,7 +57177,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + ENDPOINT_NAMES_FIELD_NUMBER;
                 hash = (53 * hash) + getEndpointNamesList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -55065,23 +57271,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.EndPointNameList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getEndpointNamesFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (endpointNamesBuilder_ == null) {
                     endpointNames_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    endpointNames_ = null;
                     endpointNamesBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -55107,15 +57319,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.EndPointNameList buildPartial() {
                 context.ContextOuterClass.EndPointNameList result = new context.ContextOuterClass.EndPointNameList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.EndPointNameList result) {
+                int from_bitField0_ = bitField0_;
                 if (endpointNamesBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         endpointNames_ = java.util.Collections.unmodifiableList(endpointNames_);
@@ -55125,10 +57329,38 @@ public final class ContextOuterClass {
                 } else {
                     result.endpointNames_ = endpointNamesBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.EndPointNameList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -55168,7 +57400,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -55180,47 +57412,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.EndPointNameList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.EndPointName m = input.readMessage(context.ContextOuterClass.EndPointName.parser(), extensionRegistry);
-                                    if (endpointNamesBuilder_ == null) {
-                                        ensureEndpointNamesIsMutable();
-                                        endpointNames_.add(m);
-                                    } else {
-                                        endpointNamesBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.EndPointNameList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -55490,17 +57692,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public EndPointNameList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new EndPointNameList(input, extensionRegistry);
             }
         };
 
@@ -55571,6 +57763,56 @@ public final class ContextOuterClass {
             return new ConfigRule_Custom();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConfigRule_Custom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                resourceKey_ = s;
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                resourceValue_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConfigRule_Custom_descriptor;
         }
@@ -55582,8 +57824,7 @@ public final class ContextOuterClass {
 
         public static final int RESOURCE_KEY_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object resourceKey_ = "";
+        private volatile java.lang.Object resourceKey_;
 
         /**
          * string resource_key = 1;
@@ -55620,8 +57861,7 @@ public final class ContextOuterClass {
 
         public static final int RESOURCE_VALUE_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object resourceValue_ = "";
+        private volatile java.lang.Object resourceValue_;
 
         /**
          * string resource_value = 2;
@@ -55671,13 +57911,13 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(resourceKey_)) {
+            if (!getResourceKeyBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, resourceKey_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(resourceValue_)) {
+            if (!getResourceValueBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, resourceValue_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -55686,13 +57926,13 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(resourceKey_)) {
+            if (!getResourceKeyBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, resourceKey_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(resourceValue_)) {
+            if (!getResourceValueBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, resourceValue_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -55710,7 +57950,7 @@ public final class ContextOuterClass {
                 return false;
             if (!getResourceValue().equals(other.getResourceValue()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -55726,7 +57966,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + getResourceKey().hashCode();
             hash = (37 * hash) + RESOURCE_VALUE_FIELD_NUMBER;
             hash = (53 * hash) + getResourceValue().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -55820,16 +58060,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConfigRule_Custom.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 resourceKey_ = "";
                 resourceValue_ = "";
                 return this;
@@ -55857,21 +58103,40 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConfigRule_Custom buildPartial() {
                 context.ContextOuterClass.ConfigRule_Custom result = new context.ContextOuterClass.ConfigRule_Custom(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.resourceKey_ = resourceKey_;
+                result.resourceValue_ = resourceValue_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConfigRule_Custom result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.resourceKey_ = resourceKey_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.resourceValue_ = resourceValue_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -55889,15 +58154,13 @@ public final class ContextOuterClass {
                     return this;
                 if (!other.getResourceKey().isEmpty()) {
                     resourceKey_ = other.resourceKey_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
                 if (!other.getResourceValue().isEmpty()) {
                     resourceValue_ = other.resourceValue_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -55909,54 +58172,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConfigRule_Custom parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    resourceKey_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    resourceValue_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConfigRule_Custom) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private java.lang.Object resourceKey_ = "";
 
             /**
@@ -56000,7 +58229,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 resourceKey_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -56011,7 +58239,6 @@ public final class ContextOuterClass {
              */
             public Builder clearResourceKey() {
                 resourceKey_ = getDefaultInstance().getResourceKey();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -56027,7 +58254,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 resourceKey_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -56075,7 +58301,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 resourceValue_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -56086,7 +58311,6 @@ public final class ContextOuterClass {
              */
             public Builder clearResourceValue() {
                 resourceValue_ = getDefaultInstance().getResourceValue();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -56102,7 +58326,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 resourceValue_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -56134,17 +58357,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConfigRule_Custom parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConfigRule_Custom(input, extensionRegistry);
             }
         };
 
@@ -56223,6 +58436,70 @@ public final class ContextOuterClass {
             return new ConfigRule_ACL();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConfigRule_ACL(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.EndPointId.Builder subBuilder = null;
+                                if (endpointId_ != null) {
+                                    subBuilder = endpointId_.toBuilder();
+                                }
+                                endpointId_ = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endpointId_);
+                                    endpointId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                acl.Acl.AclRuleSet.Builder subBuilder = null;
+                                if (ruleSet_ != null) {
+                                    subBuilder = ruleSet_.toBuilder();
+                                }
+                                ruleSet_ = input.readMessage(acl.Acl.AclRuleSet.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(ruleSet_);
+                                    ruleSet_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConfigRule_ACL_descriptor;
         }
@@ -56259,7 +58536,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() {
-            return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_;
+            return getEndpointId();
         }
 
         public static final int RULE_SET_FIELD_NUMBER = 2;
@@ -56289,7 +58566,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public acl.Acl.AclRuleSetOrBuilder getRuleSetOrBuilder() {
-            return ruleSet_ == null ? acl.Acl.AclRuleSet.getDefaultInstance() : ruleSet_;
+            return getRuleSet();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -56313,7 +58590,7 @@ public final class ContextOuterClass {
             if (ruleSet_ != null) {
                 output.writeMessage(2, getRuleSet());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -56328,7 +58605,7 @@ public final class ContextOuterClass {
             if (ruleSet_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getRuleSet());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -56354,7 +58631,7 @@ public final class ContextOuterClass {
                 if (!getRuleSet().equals(other.getRuleSet()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -56374,7 +58651,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + RULE_SET_FIELD_NUMBER;
                 hash = (53 * hash) + getRuleSet().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -56468,24 +58745,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConfigRule_ACL.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
-                ruleSet_ = null;
-                if (ruleSetBuilder_ != null) {
-                    ruleSetBuilder_.dispose();
+                if (ruleSetBuilder_ == null) {
+                    ruleSet_ = null;
+                } else {
+                    ruleSet_ = null;
                     ruleSetBuilder_ = null;
                 }
                 return this;
@@ -56513,21 +58798,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConfigRule_ACL buildPartial() {
                 context.ContextOuterClass.ConfigRule_ACL result = new context.ContextOuterClass.ConfigRule_ACL(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (endpointIdBuilder_ == null) {
+                    result.endpointId_ = endpointId_;
+                } else {
+                    result.endpointId_ = endpointIdBuilder_.build();
+                }
+                if (ruleSetBuilder_ == null) {
+                    result.ruleSet_ = ruleSet_;
+                } else {
+                    result.ruleSet_ = ruleSetBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConfigRule_ACL result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.endpointId_ = endpointIdBuilder_ == null ? endpointId_ : endpointIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.ruleSet_ = ruleSetBuilder_ == null ? ruleSet_ : ruleSetBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -56549,7 +58861,7 @@ public final class ContextOuterClass {
                 if (other.hasRuleSet()) {
                     mergeRuleSet(other.getRuleSet());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -56561,54 +58873,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConfigRule_ACL parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEndpointIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getRuleSetFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConfigRule_ACL) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.EndPointId endpointId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 endpointIdBuilder_;
@@ -56618,7 +58896,7 @@ public final class ContextOuterClass {
              * @return Whether the endpointId field is set.
              */
             public boolean hasEndpointId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return endpointIdBuilder_ != null || endpointId_ != null;
             }
 
             /**
@@ -56642,11 +58920,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     endpointId_ = value;
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -56656,11 +58933,10 @@ public final class ContextOuterClass {
             public Builder setEndpointId(context.ContextOuterClass.EndPointId.Builder builderForValue) {
                 if (endpointIdBuilder_ == null) {
                     endpointId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -56669,16 +58945,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) {
                 if (endpointIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && endpointId_ != null && endpointId_ != context.ContextOuterClass.EndPointId.getDefaultInstance()) {
-                        getEndpointIdBuilder().mergeFrom(value);
+                    if (endpointId_ != null) {
+                        endpointId_ = context.ContextOuterClass.EndPointId.newBuilder(endpointId_).mergeFrom(value).buildPartial();
                     } else {
                         endpointId_ = value;
                     }
+                    onChanged();
                 } else {
                     endpointIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -56686,13 +58961,13 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public Builder clearEndpointId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                    onChanged();
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -56700,7 +58975,6 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEndpointIdFieldBuilder().getBuilder();
             }
@@ -56736,7 +59010,7 @@ public final class ContextOuterClass {
              * @return Whether the ruleSet field is set.
              */
             public boolean hasRuleSet() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return ruleSetBuilder_ != null || ruleSet_ != null;
             }
 
             /**
@@ -56760,11 +59034,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     ruleSet_ = value;
+                    onChanged();
                 } else {
                     ruleSetBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -56774,11 +59047,10 @@ public final class ContextOuterClass {
             public Builder setRuleSet(acl.Acl.AclRuleSet.Builder builderForValue) {
                 if (ruleSetBuilder_ == null) {
                     ruleSet_ = builderForValue.build();
+                    onChanged();
                 } else {
                     ruleSetBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -56787,16 +59059,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeRuleSet(acl.Acl.AclRuleSet value) {
                 if (ruleSetBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && ruleSet_ != null && ruleSet_ != acl.Acl.AclRuleSet.getDefaultInstance()) {
-                        getRuleSetBuilder().mergeFrom(value);
+                    if (ruleSet_ != null) {
+                        ruleSet_ = acl.Acl.AclRuleSet.newBuilder(ruleSet_).mergeFrom(value).buildPartial();
                     } else {
                         ruleSet_ = value;
                     }
+                    onChanged();
                 } else {
                     ruleSetBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -56804,13 +59075,13 @@ public final class ContextOuterClass {
              * .acl.AclRuleSet rule_set = 2;
              */
             public Builder clearRuleSet() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                ruleSet_ = null;
-                if (ruleSetBuilder_ != null) {
-                    ruleSetBuilder_.dispose();
+                if (ruleSetBuilder_ == null) {
+                    ruleSet_ = null;
+                    onChanged();
+                } else {
+                    ruleSet_ = null;
                     ruleSetBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -56818,7 +59089,6 @@ public final class ContextOuterClass {
              * .acl.AclRuleSet rule_set = 2;
              */
             public acl.Acl.AclRuleSet.Builder getRuleSetBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getRuleSetFieldBuilder().getBuilder();
             }
@@ -56872,17 +59142,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConfigRule_ACL parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConfigRule_ACL(input, extensionRegistry);
             }
         };
 
@@ -56950,7 +59210,7 @@ public final class ContextOuterClass {
          */
         context.ContextOuterClass.ConfigRule_ACLOrBuilder getAclOrBuilder();
 
-        context.ContextOuterClass.ConfigRule.ConfigRuleCase getConfigRuleCase();
+        public context.ContextOuterClass.ConfigRule.ConfigRuleCase getConfigRuleCase();
     }
 
     /**
@@ -56976,6 +59236,78 @@ public final class ContextOuterClass {
             return new ConfigRule();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private ConfigRule(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                int rawValue = input.readEnum();
+                                action_ = rawValue;
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.ConfigRule_Custom.Builder subBuilder = null;
+                                if (configRuleCase_ == 2) {
+                                    subBuilder = ((context.ContextOuterClass.ConfigRule_Custom) configRule_).toBuilder();
+                                }
+                                configRule_ = input.readMessage(context.ContextOuterClass.ConfigRule_Custom.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.ConfigRule_Custom) configRule_);
+                                    configRule_ = subBuilder.buildPartial();
+                                }
+                                configRuleCase_ = 2;
+                                break;
+                            }
+                        case 26:
+                            {
+                                context.ContextOuterClass.ConfigRule_ACL.Builder subBuilder = null;
+                                if (configRuleCase_ == 3) {
+                                    subBuilder = ((context.ContextOuterClass.ConfigRule_ACL) configRule_).toBuilder();
+                                }
+                                configRule_ = input.readMessage(context.ContextOuterClass.ConfigRule_ACL.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.ConfigRule_ACL) configRule_);
+                                    configRule_ = subBuilder.buildPartial();
+                                }
+                                configRuleCase_ = 3;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_ConfigRule_descriptor;
         }
@@ -56987,7 +59319,6 @@ public final class ContextOuterClass {
 
         private int configRuleCase_ = 0;
 
-        @SuppressWarnings("serial")
         private java.lang.Object configRule_;
 
         public enum ConfigRuleCase implements com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum {
@@ -57034,7 +59365,7 @@ public final class ContextOuterClass {
 
         public static final int ACTION_FIELD_NUMBER = 1;
 
-        private int action_ = 0;
+        private int action_;
 
         /**
          * .context.ConfigActionEnum action = 1;
@@ -57051,7 +59382,8 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConfigActionEnum getAction() {
-            context.ContextOuterClass.ConfigActionEnum result = context.ContextOuterClass.ConfigActionEnum.forNumber(action_);
+            @SuppressWarnings("deprecation")
+            context.ContextOuterClass.ConfigActionEnum result = context.ContextOuterClass.ConfigActionEnum.valueOf(action_);
             return result == null ? context.ContextOuterClass.ConfigActionEnum.UNRECOGNIZED : result;
         }
 
@@ -57147,7 +59479,7 @@ public final class ContextOuterClass {
             if (configRuleCase_ == 3) {
                 output.writeMessage(3, (context.ContextOuterClass.ConfigRule_ACL) configRule_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -57165,7 +59497,7 @@ public final class ContextOuterClass {
             if (configRuleCase_ == 3) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, (context.ContextOuterClass.ConfigRule_ACL) configRule_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -57195,7 +59527,7 @@ public final class ContextOuterClass {
                 case 0:
                 default:
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -57221,7 +59553,7 @@ public final class ContextOuterClass {
                 case 0:
                 default:
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -57315,23 +59647,23 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.ConfigRule.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 action_ = 0;
-                if (customBuilder_ != null) {
-                    customBuilder_.clear();
-                }
-                if (aclBuilder_ != null) {
-                    aclBuilder_.clear();
-                }
                 configRuleCase_ = 0;
                 configRule_ = null;
                 return this;
@@ -57359,30 +59691,54 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.ConfigRule buildPartial() {
                 context.ContextOuterClass.ConfigRule result = new context.ContextOuterClass.ConfigRule(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                result.action_ = action_;
+                if (configRuleCase_ == 2) {
+                    if (customBuilder_ == null) {
+                        result.configRule_ = configRule_;
+                    } else {
+                        result.configRule_ = customBuilder_.build();
+                    }
                 }
-                buildPartialOneofs(result);
+                if (configRuleCase_ == 3) {
+                    if (aclBuilder_ == null) {
+                        result.configRule_ = configRule_;
+                    } else {
+                        result.configRule_ = aclBuilder_.build();
+                    }
+                }
+                result.configRuleCase_ = configRuleCase_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.ConfigRule result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.action_ = action_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
             }
 
-            private void buildPartialOneofs(context.ContextOuterClass.ConfigRule result) {
-                result.configRuleCase_ = configRuleCase_;
-                result.configRule_ = this.configRule_;
-                if (configRuleCase_ == 2 && customBuilder_ != null) {
-                    result.configRule_ = customBuilder_.build();
-                }
-                if (configRuleCase_ == 3 && aclBuilder_ != null) {
-                    result.configRule_ = aclBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -57417,7 +59773,7 @@ public final class ContextOuterClass {
                             break;
                         }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -57429,56 +59785,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.ConfigRule parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    action_ = input.readEnum();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            case 18:
-                                {
-                                    input.readMessage(getCustomFieldBuilder().getBuilder(), extensionRegistry);
-                                    configRuleCase_ = 2;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    input.readMessage(getAclFieldBuilder().getBuilder(), extensionRegistry);
-                                    configRuleCase_ = 3;
-                                    break;
-                                }
-                            // case 26
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.ConfigRule) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -57497,8 +59814,6 @@ public final class ContextOuterClass {
                 return this;
             }
 
-            private int bitField0_;
-
             private int action_ = 0;
 
             /**
@@ -57517,7 +59832,6 @@ public final class ContextOuterClass {
              */
             public Builder setActionValue(int value) {
                 action_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -57528,7 +59842,8 @@ public final class ContextOuterClass {
              */
             @java.lang.Override
             public context.ContextOuterClass.ConfigActionEnum getAction() {
-                context.ContextOuterClass.ConfigActionEnum result = context.ContextOuterClass.ConfigActionEnum.forNumber(action_);
+                @SuppressWarnings("deprecation")
+                context.ContextOuterClass.ConfigActionEnum result = context.ContextOuterClass.ConfigActionEnum.valueOf(action_);
                 return result == null ? context.ContextOuterClass.ConfigActionEnum.UNRECOGNIZED : result;
             }
 
@@ -57541,7 +59856,6 @@ public final class ContextOuterClass {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000001;
                 action_ = value.getNumber();
                 onChanged();
                 return this;
@@ -57552,7 +59866,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearAction() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 action_ = 0;
                 onChanged();
                 return this;
@@ -57633,9 +59946,8 @@ public final class ContextOuterClass {
                 } else {
                     if (configRuleCase_ == 2) {
                         customBuilder_.mergeFrom(value);
-                    } else {
-                        customBuilder_.setMessage(value);
                     }
+                    customBuilder_.setMessage(value);
                 }
                 configRuleCase_ = 2;
                 return this;
@@ -57696,6 +60008,7 @@ public final class ContextOuterClass {
                 }
                 configRuleCase_ = 2;
                 onChanged();
+                ;
                 return customBuilder_;
             }
 
@@ -57774,9 +60087,8 @@ public final class ContextOuterClass {
                 } else {
                     if (configRuleCase_ == 3) {
                         aclBuilder_.mergeFrom(value);
-                    } else {
-                        aclBuilder_.setMessage(value);
                     }
+                    aclBuilder_.setMessage(value);
                 }
                 configRuleCase_ = 3;
                 return this;
@@ -57837,6 +60149,7 @@ public final class ContextOuterClass {
                 }
                 configRuleCase_ = 3;
                 onChanged();
+                ;
                 return aclBuilder_;
             }
 
@@ -57867,17 +60180,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public ConfigRule parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new ConfigRule(input, extensionRegistry);
             }
         };
 
@@ -57948,6 +60251,56 @@ public final class ContextOuterClass {
             return new Constraint_Custom();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_Custom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                constraintType_ = s;
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                constraintValue_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_Custom_descriptor;
         }
@@ -57959,8 +60312,7 @@ public final class ContextOuterClass {
 
         public static final int CONSTRAINT_TYPE_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object constraintType_ = "";
+        private volatile java.lang.Object constraintType_;
 
         /**
          * string constraint_type = 1;
@@ -57997,8 +60349,7 @@ public final class ContextOuterClass {
 
         public static final int CONSTRAINT_VALUE_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object constraintValue_ = "";
+        private volatile java.lang.Object constraintValue_;
 
         /**
          * string constraint_value = 2;
@@ -58048,13 +60399,13 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(constraintType_)) {
+            if (!getConstraintTypeBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, constraintType_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(constraintValue_)) {
+            if (!getConstraintValueBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, constraintValue_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -58063,13 +60414,13 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(constraintType_)) {
+            if (!getConstraintTypeBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, constraintType_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(constraintValue_)) {
+            if (!getConstraintValueBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, constraintValue_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -58087,7 +60438,7 @@ public final class ContextOuterClass {
                 return false;
             if (!getConstraintValue().equals(other.getConstraintValue()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -58103,7 +60454,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + getConstraintType().hashCode();
             hash = (37 * hash) + CONSTRAINT_VALUE_FIELD_NUMBER;
             hash = (53 * hash) + getConstraintValue().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -58197,16 +60548,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_Custom.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 constraintType_ = "";
                 constraintValue_ = "";
                 return this;
@@ -58234,21 +60591,40 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_Custom buildPartial() {
                 context.ContextOuterClass.Constraint_Custom result = new context.ContextOuterClass.Constraint_Custom(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.constraintType_ = constraintType_;
+                result.constraintValue_ = constraintValue_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_Custom result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.constraintType_ = constraintType_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.constraintValue_ = constraintValue_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -58266,15 +60642,13 @@ public final class ContextOuterClass {
                     return this;
                 if (!other.getConstraintType().isEmpty()) {
                     constraintType_ = other.constraintType_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
                 if (!other.getConstraintValue().isEmpty()) {
                     constraintValue_ = other.constraintValue_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -58286,54 +60660,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_Custom parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    constraintType_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    constraintValue_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_Custom) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private java.lang.Object constraintType_ = "";
 
             /**
@@ -58377,7 +60717,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 constraintType_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -58388,7 +60727,6 @@ public final class ContextOuterClass {
              */
             public Builder clearConstraintType() {
                 constraintType_ = getDefaultInstance().getConstraintType();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -58404,7 +60742,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 constraintType_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -58452,7 +60789,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 constraintValue_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -58463,7 +60799,6 @@ public final class ContextOuterClass {
              */
             public Builder clearConstraintValue() {
                 constraintValue_ = getDefaultInstance().getConstraintValue();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -58479,7 +60814,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 constraintValue_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -58511,17 +60845,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_Custom parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_Custom(input, extensionRegistry);
             }
         };
 
@@ -58578,6 +60902,54 @@ public final class ContextOuterClass {
             return new Constraint_Schedule();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_Schedule(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 13:
+                            {
+                                startTimestamp_ = input.readFloat();
+                                break;
+                            }
+                        case 21:
+                            {
+                                durationDays_ = input.readFloat();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_Schedule_descriptor;
         }
@@ -58589,7 +60961,7 @@ public final class ContextOuterClass {
 
         public static final int START_TIMESTAMP_FIELD_NUMBER = 1;
 
-        private float startTimestamp_ = 0F;
+        private float startTimestamp_;
 
         /**
          * float start_timestamp = 1;
@@ -58602,7 +60974,7 @@ public final class ContextOuterClass {
 
         public static final int DURATION_DAYS_FIELD_NUMBER = 2;
 
-        private float durationDays_ = 0F;
+        private float durationDays_;
 
         /**
          * float duration_days = 2;
@@ -58628,13 +61000,13 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (java.lang.Float.floatToRawIntBits(startTimestamp_) != 0) {
+            if (startTimestamp_ != 0F) {
                 output.writeFloat(1, startTimestamp_);
             }
-            if (java.lang.Float.floatToRawIntBits(durationDays_) != 0) {
+            if (durationDays_ != 0F) {
                 output.writeFloat(2, durationDays_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -58643,13 +61015,13 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (java.lang.Float.floatToRawIntBits(startTimestamp_) != 0) {
+            if (startTimestamp_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(1, startTimestamp_);
             }
-            if (java.lang.Float.floatToRawIntBits(durationDays_) != 0) {
+            if (durationDays_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(2, durationDays_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -58667,7 +61039,7 @@ public final class ContextOuterClass {
                 return false;
             if (java.lang.Float.floatToIntBits(getDurationDays()) != java.lang.Float.floatToIntBits(other.getDurationDays()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -58683,7 +61055,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getStartTimestamp());
             hash = (37 * hash) + DURATION_DAYS_FIELD_NUMBER;
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getDurationDays());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -58777,16 +61149,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_Schedule.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 startTimestamp_ = 0F;
                 durationDays_ = 0F;
                 return this;
@@ -58814,21 +61192,40 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_Schedule buildPartial() {
                 context.ContextOuterClass.Constraint_Schedule result = new context.ContextOuterClass.Constraint_Schedule(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.startTimestamp_ = startTimestamp_;
+                result.durationDays_ = durationDays_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_Schedule result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.startTimestamp_ = startTimestamp_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.durationDays_ = durationDays_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -58850,7 +61247,7 @@ public final class ContextOuterClass {
                 if (other.getDurationDays() != 0F) {
                     setDurationDays(other.getDurationDays());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -58862,54 +61259,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_Schedule parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 13:
-                                {
-                                    startTimestamp_ = input.readFloat();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 13
-                            case 21:
-                                {
-                                    durationDays_ = input.readFloat();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 21
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_Schedule) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private float startTimestamp_;
 
             /**
@@ -58928,7 +61291,6 @@ public final class ContextOuterClass {
              */
             public Builder setStartTimestamp(float value) {
                 startTimestamp_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -58938,7 +61300,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearStartTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 startTimestamp_ = 0F;
                 onChanged();
                 return this;
@@ -58962,7 +61323,6 @@ public final class ContextOuterClass {
              */
             public Builder setDurationDays(float value) {
                 durationDays_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -58972,7 +61332,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearDurationDays() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 durationDays_ = 0F;
                 onChanged();
                 return this;
@@ -59005,17 +61364,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_Schedule parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_Schedule(input, extensionRegistry);
             }
         };
 
@@ -59072,6 +61421,54 @@ public final class ContextOuterClass {
             return new GPS_Position();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private GPS_Position(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 13:
+                            {
+                                latitude_ = input.readFloat();
+                                break;
+                            }
+                        case 21:
+                            {
+                                longitude_ = input.readFloat();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_GPS_Position_descriptor;
         }
@@ -59083,7 +61480,7 @@ public final class ContextOuterClass {
 
         public static final int LATITUDE_FIELD_NUMBER = 1;
 
-        private float latitude_ = 0F;
+        private float latitude_;
 
         /**
          * float latitude = 1;
@@ -59096,7 +61493,7 @@ public final class ContextOuterClass {
 
         public static final int LONGITUDE_FIELD_NUMBER = 2;
 
-        private float longitude_ = 0F;
+        private float longitude_;
 
         /**
          * float longitude = 2;
@@ -59122,13 +61519,13 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (java.lang.Float.floatToRawIntBits(latitude_) != 0) {
+            if (latitude_ != 0F) {
                 output.writeFloat(1, latitude_);
             }
-            if (java.lang.Float.floatToRawIntBits(longitude_) != 0) {
+            if (longitude_ != 0F) {
                 output.writeFloat(2, longitude_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -59137,13 +61534,13 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (java.lang.Float.floatToRawIntBits(latitude_) != 0) {
+            if (latitude_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(1, latitude_);
             }
-            if (java.lang.Float.floatToRawIntBits(longitude_) != 0) {
+            if (longitude_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(2, longitude_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -59161,7 +61558,7 @@ public final class ContextOuterClass {
                 return false;
             if (java.lang.Float.floatToIntBits(getLongitude()) != java.lang.Float.floatToIntBits(other.getLongitude()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -59177,7 +61574,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getLatitude());
             hash = (37 * hash) + LONGITUDE_FIELD_NUMBER;
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getLongitude());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -59271,16 +61668,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.GPS_Position.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 latitude_ = 0F;
                 longitude_ = 0F;
                 return this;
@@ -59308,21 +61711,40 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.GPS_Position buildPartial() {
                 context.ContextOuterClass.GPS_Position result = new context.ContextOuterClass.GPS_Position(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.latitude_ = latitude_;
+                result.longitude_ = longitude_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.GPS_Position result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.latitude_ = latitude_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.longitude_ = longitude_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -59344,7 +61766,7 @@ public final class ContextOuterClass {
                 if (other.getLongitude() != 0F) {
                     setLongitude(other.getLongitude());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -59356,54 +61778,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.GPS_Position parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 13:
-                                {
-                                    latitude_ = input.readFloat();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 13
-                            case 21:
-                                {
-                                    longitude_ = input.readFloat();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 21
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.GPS_Position) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private float latitude_;
 
             /**
@@ -59422,7 +61810,6 @@ public final class ContextOuterClass {
              */
             public Builder setLatitude(float value) {
                 latitude_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -59432,7 +61819,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearLatitude() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 latitude_ = 0F;
                 onChanged();
                 return this;
@@ -59456,7 +61842,6 @@ public final class ContextOuterClass {
              */
             public Builder setLongitude(float value) {
                 longitude_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -59466,7 +61851,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearLongitude() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 longitude_ = 0F;
                 onChanged();
                 return this;
@@ -59499,17 +61883,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public GPS_Position parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new GPS_Position(input, extensionRegistry);
             }
         };
 
@@ -59566,7 +61940,7 @@ public final class ContextOuterClass {
          */
         context.ContextOuterClass.GPS_PositionOrBuilder getGpsPositionOrBuilder();
 
-        context.ContextOuterClass.Location.LocationCase getLocationCase();
+        public context.ContextOuterClass.Location.LocationCase getLocationCase();
     }
 
     /**
@@ -59591,6 +61965,65 @@ public final class ContextOuterClass {
             return new Location();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Location(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                locationCase_ = 1;
+                                location_ = s;
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.GPS_Position.Builder subBuilder = null;
+                                if (locationCase_ == 2) {
+                                    subBuilder = ((context.ContextOuterClass.GPS_Position) location_).toBuilder();
+                                }
+                                location_ = input.readMessage(context.ContextOuterClass.GPS_Position.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.GPS_Position) location_);
+                                    location_ = subBuilder.buildPartial();
+                                }
+                                locationCase_ = 2;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Location_descriptor;
         }
@@ -59602,7 +62035,6 @@ public final class ContextOuterClass {
 
         private int locationCase_ = 0;
 
-        @SuppressWarnings("serial")
         private java.lang.Object location_;
 
         public enum LocationCase implements com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum {
@@ -59753,7 +62185,7 @@ public final class ContextOuterClass {
             if (locationCase_ == 2) {
                 output.writeMessage(2, (context.ContextOuterClass.GPS_Position) location_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -59768,7 +62200,7 @@ public final class ContextOuterClass {
             if (locationCase_ == 2) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, (context.ContextOuterClass.GPS_Position) location_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -59796,7 +62228,7 @@ public final class ContextOuterClass {
                 case 0:
                 default:
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -59820,7 +62252,7 @@ public final class ContextOuterClass {
                 case 0:
                 default:
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -59914,19 +62346,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Location.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                if (gpsPositionBuilder_ != null) {
-                    gpsPositionBuilder_.clear();
-                }
                 locationCase_ = 0;
                 location_ = null;
                 return this;
@@ -59954,24 +62389,49 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Location buildPartial() {
                 context.ContextOuterClass.Location result = new context.ContextOuterClass.Location(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (locationCase_ == 1) {
+                    result.location_ = location_;
+                }
+                if (locationCase_ == 2) {
+                    if (gpsPositionBuilder_ == null) {
+                        result.location_ = location_;
+                    } else {
+                        result.location_ = gpsPositionBuilder_.build();
+                    }
                 }
-                buildPartialOneofs(result);
+                result.locationCase_ = locationCase_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Location result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
             }
 
-            private void buildPartialOneofs(context.ContextOuterClass.Location result) {
-                result.locationCase_ = locationCase_;
-                result.location_ = this.location_;
-                if (locationCase_ == 2 && gpsPositionBuilder_ != null) {
-                    result.location_ = gpsPositionBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -60005,7 +62465,7 @@ public final class ContextOuterClass {
                             break;
                         }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -60017,50 +62477,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Location parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    java.lang.String s = input.readStringRequireUtf8();
-                                    locationCase_ = 1;
-                                    location_ = s;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getGpsPositionFieldBuilder().getBuilder(), extensionRegistry);
-                                    locationCase_ = 2;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Location) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -60079,8 +62506,6 @@ public final class ContextOuterClass {
                 return this;
             }
 
-            private int bitField0_;
-
             /**
              * string region = 1;
              * @return Whether the region field is set.
@@ -60252,9 +62677,8 @@ public final class ContextOuterClass {
                 } else {
                     if (locationCase_ == 2) {
                         gpsPositionBuilder_.mergeFrom(value);
-                    } else {
-                        gpsPositionBuilder_.setMessage(value);
                     }
+                    gpsPositionBuilder_.setMessage(value);
                 }
                 locationCase_ = 2;
                 return this;
@@ -60315,6 +62739,7 @@ public final class ContextOuterClass {
                 }
                 locationCase_ = 2;
                 onChanged();
+                ;
                 return gpsPositionBuilder_;
             }
 
@@ -60345,17 +62770,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Location parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Location(input, extensionRegistry);
             }
         };
 
@@ -60434,6 +62849,70 @@ public final class ContextOuterClass {
             return new Constraint_EndPointLocation();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_EndPointLocation(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.EndPointId.Builder subBuilder = null;
+                                if (endpointId_ != null) {
+                                    subBuilder = endpointId_.toBuilder();
+                                }
+                                endpointId_ = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endpointId_);
+                                    endpointId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.Location.Builder subBuilder = null;
+                                if (location_ != null) {
+                                    subBuilder = location_.toBuilder();
+                                }
+                                location_ = input.readMessage(context.ContextOuterClass.Location.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(location_);
+                                    location_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_EndPointLocation_descriptor;
         }
@@ -60470,7 +62949,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() {
-            return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_;
+            return getEndpointId();
         }
 
         public static final int LOCATION_FIELD_NUMBER = 2;
@@ -60500,7 +62979,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.LocationOrBuilder getLocationOrBuilder() {
-            return location_ == null ? context.ContextOuterClass.Location.getDefaultInstance() : location_;
+            return getLocation();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -60524,7 +63003,7 @@ public final class ContextOuterClass {
             if (location_ != null) {
                 output.writeMessage(2, getLocation());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -60539,7 +63018,7 @@ public final class ContextOuterClass {
             if (location_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getLocation());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -60565,7 +63044,7 @@ public final class ContextOuterClass {
                 if (!getLocation().equals(other.getLocation()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -60585,7 +63064,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + LOCATION_FIELD_NUMBER;
                 hash = (53 * hash) + getLocation().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -60679,24 +63158,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_EndPointLocation.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
-                location_ = null;
-                if (locationBuilder_ != null) {
-                    locationBuilder_.dispose();
+                if (locationBuilder_ == null) {
+                    location_ = null;
+                } else {
+                    location_ = null;
                     locationBuilder_ = null;
                 }
                 return this;
@@ -60724,21 +63211,48 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_EndPointLocation buildPartial() {
                 context.ContextOuterClass.Constraint_EndPointLocation result = new context.ContextOuterClass.Constraint_EndPointLocation(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (endpointIdBuilder_ == null) {
+                    result.endpointId_ = endpointId_;
+                } else {
+                    result.endpointId_ = endpointIdBuilder_.build();
+                }
+                if (locationBuilder_ == null) {
+                    result.location_ = location_;
+                } else {
+                    result.location_ = locationBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_EndPointLocation result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.endpointId_ = endpointIdBuilder_ == null ? endpointId_ : endpointIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.location_ = locationBuilder_ == null ? location_ : locationBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -60760,7 +63274,7 @@ public final class ContextOuterClass {
                 if (other.hasLocation()) {
                     mergeLocation(other.getLocation());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -60772,54 +63286,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_EndPointLocation parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEndpointIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getLocationFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_EndPointLocation) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.EndPointId endpointId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 endpointIdBuilder_;
@@ -60829,7 +63309,7 @@ public final class ContextOuterClass {
              * @return Whether the endpointId field is set.
              */
             public boolean hasEndpointId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return endpointIdBuilder_ != null || endpointId_ != null;
             }
 
             /**
@@ -60853,11 +63333,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     endpointId_ = value;
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -60867,11 +63346,10 @@ public final class ContextOuterClass {
             public Builder setEndpointId(context.ContextOuterClass.EndPointId.Builder builderForValue) {
                 if (endpointIdBuilder_ == null) {
                     endpointId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -60880,16 +63358,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) {
                 if (endpointIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && endpointId_ != null && endpointId_ != context.ContextOuterClass.EndPointId.getDefaultInstance()) {
-                        getEndpointIdBuilder().mergeFrom(value);
+                    if (endpointId_ != null) {
+                        endpointId_ = context.ContextOuterClass.EndPointId.newBuilder(endpointId_).mergeFrom(value).buildPartial();
                     } else {
                         endpointId_ = value;
                     }
+                    onChanged();
                 } else {
                     endpointIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -60897,13 +63374,13 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public Builder clearEndpointId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                    onChanged();
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -60911,7 +63388,6 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEndpointIdFieldBuilder().getBuilder();
             }
@@ -60947,7 +63423,7 @@ public final class ContextOuterClass {
              * @return Whether the location field is set.
              */
             public boolean hasLocation() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return locationBuilder_ != null || location_ != null;
             }
 
             /**
@@ -60971,11 +63447,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     location_ = value;
+                    onChanged();
                 } else {
                     locationBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -60985,11 +63460,10 @@ public final class ContextOuterClass {
             public Builder setLocation(context.ContextOuterClass.Location.Builder builderForValue) {
                 if (locationBuilder_ == null) {
                     location_ = builderForValue.build();
+                    onChanged();
                 } else {
                     locationBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -60998,16 +63472,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeLocation(context.ContextOuterClass.Location value) {
                 if (locationBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && location_ != null && location_ != context.ContextOuterClass.Location.getDefaultInstance()) {
-                        getLocationBuilder().mergeFrom(value);
+                    if (location_ != null) {
+                        location_ = context.ContextOuterClass.Location.newBuilder(location_).mergeFrom(value).buildPartial();
                     } else {
                         location_ = value;
                     }
+                    onChanged();
                 } else {
                     locationBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -61015,13 +63488,13 @@ public final class ContextOuterClass {
              * .context.Location location = 2;
              */
             public Builder clearLocation() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                location_ = null;
-                if (locationBuilder_ != null) {
-                    locationBuilder_.dispose();
+                if (locationBuilder_ == null) {
+                    location_ = null;
+                    onChanged();
+                } else {
+                    location_ = null;
                     locationBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -61029,7 +63502,6 @@ public final class ContextOuterClass {
              * .context.Location location = 2;
              */
             public context.ContextOuterClass.Location.Builder getLocationBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getLocationFieldBuilder().getBuilder();
             }
@@ -61083,17 +63555,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_EndPointLocation parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_EndPointLocation(input, extensionRegistry);
             }
         };
 
@@ -61161,6 +63623,62 @@ public final class ContextOuterClass {
             return new Constraint_EndPointPriority();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_EndPointPriority(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.EndPointId.Builder subBuilder = null;
+                                if (endpointId_ != null) {
+                                    subBuilder = endpointId_.toBuilder();
+                                }
+                                endpointId_ = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endpointId_);
+                                    endpointId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 16:
+                            {
+                                priority_ = input.readUInt32();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_EndPointPriority_descriptor;
         }
@@ -61197,12 +63715,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() {
-            return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_;
+            return getEndpointId();
         }
 
         public static final int PRIORITY_FIELD_NUMBER = 2;
 
-        private int priority_ = 0;
+        private int priority_;
 
         /**
          * uint32 priority = 2;
@@ -61234,7 +63752,7 @@ public final class ContextOuterClass {
             if (priority_ != 0) {
                 output.writeUInt32(2, priority_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -61249,7 +63767,7 @@ public final class ContextOuterClass {
             if (priority_ != 0) {
                 size += com.google.protobuf.CodedOutputStream.computeUInt32Size(2, priority_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -61271,7 +63789,7 @@ public final class ContextOuterClass {
             }
             if (getPriority() != other.getPriority())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -61289,7 +63807,7 @@ public final class ContextOuterClass {
             }
             hash = (37 * hash) + PRIORITY_FIELD_NUMBER;
             hash = (53 * hash) + getPriority();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -61383,19 +63901,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_EndPointPriority.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
                 priority_ = 0;
@@ -61424,21 +63949,44 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_EndPointPriority buildPartial() {
                 context.ContextOuterClass.Constraint_EndPointPriority result = new context.ContextOuterClass.Constraint_EndPointPriority(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (endpointIdBuilder_ == null) {
+                    result.endpointId_ = endpointId_;
+                } else {
+                    result.endpointId_ = endpointIdBuilder_.build();
                 }
+                result.priority_ = priority_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_EndPointPriority result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.endpointId_ = endpointIdBuilder_ == null ? endpointId_ : endpointIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.priority_ = priority_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -61460,7 +64008,7 @@ public final class ContextOuterClass {
                 if (other.getPriority() != 0) {
                     setPriority(other.getPriority());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -61472,54 +64020,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_EndPointPriority parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getEndpointIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 16:
-                                {
-                                    priority_ = input.readUInt32();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_EndPointPriority) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.EndPointId endpointId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 endpointIdBuilder_;
@@ -61529,7 +64043,7 @@ public final class ContextOuterClass {
              * @return Whether the endpointId field is set.
              */
             public boolean hasEndpointId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return endpointIdBuilder_ != null || endpointId_ != null;
             }
 
             /**
@@ -61553,11 +64067,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     endpointId_ = value;
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -61567,11 +64080,10 @@ public final class ContextOuterClass {
             public Builder setEndpointId(context.ContextOuterClass.EndPointId.Builder builderForValue) {
                 if (endpointIdBuilder_ == null) {
                     endpointId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endpointIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -61580,16 +64092,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) {
                 if (endpointIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && endpointId_ != null && endpointId_ != context.ContextOuterClass.EndPointId.getDefaultInstance()) {
-                        getEndpointIdBuilder().mergeFrom(value);
+                    if (endpointId_ != null) {
+                        endpointId_ = context.ContextOuterClass.EndPointId.newBuilder(endpointId_).mergeFrom(value).buildPartial();
                     } else {
                         endpointId_ = value;
                     }
+                    onChanged();
                 } else {
                     endpointIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -61597,13 +64108,13 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public Builder clearEndpointId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                endpointId_ = null;
-                if (endpointIdBuilder_ != null) {
-                    endpointIdBuilder_.dispose();
+                if (endpointIdBuilder_ == null) {
+                    endpointId_ = null;
+                    onChanged();
+                } else {
+                    endpointId_ = null;
                     endpointIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -61611,7 +64122,6 @@ public final class ContextOuterClass {
              * .context.EndPointId endpoint_id = 1;
              */
             public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getEndpointIdFieldBuilder().getBuilder();
             }
@@ -61656,7 +64166,6 @@ public final class ContextOuterClass {
              */
             public Builder setPriority(int value) {
                 priority_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -61666,7 +64175,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearPriority() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 priority_ = 0;
                 onChanged();
                 return this;
@@ -61699,17 +64207,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_EndPointPriority parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_EndPointPriority(input, extensionRegistry);
             }
         };
 
@@ -61760,6 +64258,49 @@ public final class ContextOuterClass {
             return new Constraint_SLA_Latency();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_SLA_Latency(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 13:
+                            {
+                                e2ELatencyMs_ = input.readFloat();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_SLA_Latency_descriptor;
         }
@@ -61771,7 +64312,7 @@ public final class ContextOuterClass {
 
         public static final int E2E_LATENCY_MS_FIELD_NUMBER = 1;
 
-        private float e2ELatencyMs_ = 0F;
+        private float e2ELatencyMs_;
 
         /**
          * float e2e_latency_ms = 1;
@@ -61797,10 +64338,10 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (java.lang.Float.floatToRawIntBits(e2ELatencyMs_) != 0) {
+            if (e2ELatencyMs_ != 0F) {
                 output.writeFloat(1, e2ELatencyMs_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -61809,10 +64350,10 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (java.lang.Float.floatToRawIntBits(e2ELatencyMs_) != 0) {
+            if (e2ELatencyMs_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(1, e2ELatencyMs_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -61828,7 +64369,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.Constraint_SLA_Latency other = (context.ContextOuterClass.Constraint_SLA_Latency) obj;
             if (java.lang.Float.floatToIntBits(getE2ELatencyMs()) != java.lang.Float.floatToIntBits(other.getE2ELatencyMs()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -61842,7 +64383,7 @@ public final class ContextOuterClass {
             hash = (19 * hash) + getDescriptor().hashCode();
             hash = (37 * hash) + E2E_LATENCY_MS_FIELD_NUMBER;
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getE2ELatencyMs());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -61936,16 +64477,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_SLA_Latency.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 e2ELatencyMs_ = 0F;
                 return this;
             }
@@ -61972,18 +64519,39 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_SLA_Latency buildPartial() {
                 context.ContextOuterClass.Constraint_SLA_Latency result = new context.ContextOuterClass.Constraint_SLA_Latency(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.e2ELatencyMs_ = e2ELatencyMs_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_SLA_Latency result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.e2ELatencyMs_ = e2ELatencyMs_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -62002,7 +64570,7 @@ public final class ContextOuterClass {
                 if (other.getE2ELatencyMs() != 0F) {
                     setE2ELatencyMs(other.getE2ELatencyMs());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -62014,47 +64582,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_SLA_Latency parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 13:
-                                {
-                                    e2ELatencyMs_ = input.readFloat();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 13
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_SLA_Latency) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private float e2ELatencyMs_;
 
             /**
@@ -62073,7 +64614,6 @@ public final class ContextOuterClass {
              */
             public Builder setE2ELatencyMs(float value) {
                 e2ELatencyMs_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -62083,7 +64623,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearE2ELatencyMs() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 e2ELatencyMs_ = 0F;
                 onChanged();
                 return this;
@@ -62116,17 +64655,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_SLA_Latency parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_SLA_Latency(input, extensionRegistry);
             }
         };
 
@@ -62177,6 +64706,49 @@ public final class ContextOuterClass {
             return new Constraint_SLA_Capacity();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_SLA_Capacity(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 13:
+                            {
+                                capacityGbps_ = input.readFloat();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_SLA_Capacity_descriptor;
         }
@@ -62188,7 +64760,7 @@ public final class ContextOuterClass {
 
         public static final int CAPACITY_GBPS_FIELD_NUMBER = 1;
 
-        private float capacityGbps_ = 0F;
+        private float capacityGbps_;
 
         /**
          * float capacity_gbps = 1;
@@ -62214,10 +64786,10 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (java.lang.Float.floatToRawIntBits(capacityGbps_) != 0) {
+            if (capacityGbps_ != 0F) {
                 output.writeFloat(1, capacityGbps_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -62226,10 +64798,10 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (java.lang.Float.floatToRawIntBits(capacityGbps_) != 0) {
+            if (capacityGbps_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(1, capacityGbps_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -62245,7 +64817,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.Constraint_SLA_Capacity other = (context.ContextOuterClass.Constraint_SLA_Capacity) obj;
             if (java.lang.Float.floatToIntBits(getCapacityGbps()) != java.lang.Float.floatToIntBits(other.getCapacityGbps()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -62259,7 +64831,7 @@ public final class ContextOuterClass {
             hash = (19 * hash) + getDescriptor().hashCode();
             hash = (37 * hash) + CAPACITY_GBPS_FIELD_NUMBER;
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getCapacityGbps());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -62353,16 +64925,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_SLA_Capacity.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 capacityGbps_ = 0F;
                 return this;
             }
@@ -62389,18 +64967,39 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_SLA_Capacity buildPartial() {
                 context.ContextOuterClass.Constraint_SLA_Capacity result = new context.ContextOuterClass.Constraint_SLA_Capacity(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.capacityGbps_ = capacityGbps_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_SLA_Capacity result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.capacityGbps_ = capacityGbps_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -62419,7 +65018,7 @@ public final class ContextOuterClass {
                 if (other.getCapacityGbps() != 0F) {
                     setCapacityGbps(other.getCapacityGbps());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -62431,47 +65030,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_SLA_Capacity parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 13:
-                                {
-                                    capacityGbps_ = input.readFloat();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 13
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_SLA_Capacity) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private float capacityGbps_;
 
             /**
@@ -62490,7 +65062,6 @@ public final class ContextOuterClass {
              */
             public Builder setCapacityGbps(float value) {
                 capacityGbps_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -62500,7 +65071,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearCapacityGbps() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 capacityGbps_ = 0F;
                 onChanged();
                 return this;
@@ -62533,17 +65103,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_SLA_Capacity parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_SLA_Capacity(input, extensionRegistry);
             }
         };
 
@@ -62610,6 +65170,59 @@ public final class ContextOuterClass {
             return new Constraint_SLA_Availability();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_SLA_Availability(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                numDisjointPaths_ = input.readUInt32();
+                                break;
+                            }
+                        case 16:
+                            {
+                                allActive_ = input.readBool();
+                                break;
+                            }
+                        case 29:
+                            {
+                                availability_ = input.readFloat();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_SLA_Availability_descriptor;
         }
@@ -62621,7 +65234,7 @@ public final class ContextOuterClass {
 
         public static final int NUM_DISJOINT_PATHS_FIELD_NUMBER = 1;
 
-        private int numDisjointPaths_ = 0;
+        private int numDisjointPaths_;
 
         /**
          * uint32 num_disjoint_paths = 1;
@@ -62634,7 +65247,7 @@ public final class ContextOuterClass {
 
         public static final int ALL_ACTIVE_FIELD_NUMBER = 2;
 
-        private boolean allActive_ = false;
+        private boolean allActive_;
 
         /**
          * bool all_active = 2;
@@ -62647,7 +65260,7 @@ public final class ContextOuterClass {
 
         public static final int AVAILABILITY_FIELD_NUMBER = 3;
 
-        private float availability_ = 0F;
+        private float availability_;
 
         /**
          * 
@@ -62683,10 +65296,10 @@ public final class ContextOuterClass {
             if (allActive_ != false) {
                 output.writeBool(2, allActive_);
             }
-            if (java.lang.Float.floatToRawIntBits(availability_) != 0) {
+            if (availability_ != 0F) {
                 output.writeFloat(3, availability_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -62701,10 +65314,10 @@ public final class ContextOuterClass {
             if (allActive_ != false) {
                 size += com.google.protobuf.CodedOutputStream.computeBoolSize(2, allActive_);
             }
-            if (java.lang.Float.floatToRawIntBits(availability_) != 0) {
+            if (availability_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(3, availability_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -62724,7 +65337,7 @@ public final class ContextOuterClass {
                 return false;
             if (java.lang.Float.floatToIntBits(getAvailability()) != java.lang.Float.floatToIntBits(other.getAvailability()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -62742,7 +65355,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getAllActive());
             hash = (37 * hash) + AVAILABILITY_FIELD_NUMBER;
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getAvailability());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -62836,16 +65449,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_SLA_Availability.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 numDisjointPaths_ = 0;
                 allActive_ = false;
                 availability_ = 0F;
@@ -62874,24 +65493,41 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_SLA_Availability buildPartial() {
                 context.ContextOuterClass.Constraint_SLA_Availability result = new context.ContextOuterClass.Constraint_SLA_Availability(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.numDisjointPaths_ = numDisjointPaths_;
+                result.allActive_ = allActive_;
+                result.availability_ = availability_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_SLA_Availability result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.numDisjointPaths_ = numDisjointPaths_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.allActive_ = allActive_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.availability_ = availability_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -62916,7 +65552,7 @@ public final class ContextOuterClass {
                 if (other.getAvailability() != 0F) {
                     setAvailability(other.getAvailability());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -62928,61 +65564,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_SLA_Availability parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    numDisjointPaths_ = input.readUInt32();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            case 16:
-                                {
-                                    allActive_ = input.readBool();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            case 29:
-                                {
-                                    availability_ = input.readFloat();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 29
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_SLA_Availability) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private int numDisjointPaths_;
 
             /**
@@ -63001,7 +65596,6 @@ public final class ContextOuterClass {
              */
             public Builder setNumDisjointPaths(int value) {
                 numDisjointPaths_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -63011,7 +65605,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearNumDisjointPaths() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 numDisjointPaths_ = 0;
                 onChanged();
                 return this;
@@ -63035,7 +65628,6 @@ public final class ContextOuterClass {
              */
             public Builder setAllActive(boolean value) {
                 allActive_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -63045,7 +65637,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearAllActive() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 allActive_ = false;
                 onChanged();
                 return this;
@@ -63077,7 +65668,6 @@ public final class ContextOuterClass {
              */
             public Builder setAvailability(float value) {
                 availability_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -63091,7 +65681,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearAvailability() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 availability_ = 0F;
                 onChanged();
                 return this;
@@ -63124,17 +65713,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_SLA_Availability parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_SLA_Availability(input, extensionRegistry);
             }
         };
 
@@ -63212,6 +65791,73 @@ public final class ContextOuterClass {
             return new Constraint_SLA_Isolation_level();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_SLA_Isolation_level(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                int rawValue = input.readEnum();
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    isolationLevel_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                isolationLevel_.add(rawValue);
+                                break;
+                            }
+                        case 10:
+                            {
+                                int length = input.readRawVarint32();
+                                int oldLimit = input.pushLimit(length);
+                                while (input.getBytesUntilLimit() > 0) {
+                                    int rawValue = input.readEnum();
+                                    if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                        isolationLevel_ = new java.util.ArrayList();
+                                        mutable_bitField0_ |= 0x00000001;
+                                    }
+                                    isolationLevel_.add(rawValue);
+                                }
+                                input.popLimit(oldLimit);
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    isolationLevel_ = java.util.Collections.unmodifiableList(isolationLevel_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_SLA_Isolation_level_descriptor;
         }
@@ -63223,13 +65869,13 @@ public final class ContextOuterClass {
 
         public static final int ISOLATION_LEVEL_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List isolationLevel_;
 
         private static final com.google.protobuf.Internal.ListAdapter.Converter isolationLevel_converter_ = new com.google.protobuf.Internal.ListAdapter.Converter() {
 
             public context.ContextOuterClass.IsolationLevelEnum convert(java.lang.Integer from) {
-                context.ContextOuterClass.IsolationLevelEnum result = context.ContextOuterClass.IsolationLevelEnum.forNumber(from);
+                @SuppressWarnings("deprecation")
+                context.ContextOuterClass.IsolationLevelEnum result = context.ContextOuterClass.IsolationLevelEnum.valueOf(from);
                 return result == null ? context.ContextOuterClass.IsolationLevelEnum.UNRECOGNIZED : result;
             }
         };
@@ -63306,7 +65952,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < isolationLevel_.size(); i++) {
                 output.writeEnumNoTag(isolationLevel_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -63327,7 +65973,7 @@ public final class ContextOuterClass {
                 }
                 isolationLevelMemoizedSerializedSize = dataSize;
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -63343,7 +65989,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.Constraint_SLA_Isolation_level other = (context.ContextOuterClass.Constraint_SLA_Isolation_level) obj;
             if (!isolationLevel_.equals(other.isolationLevel_))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -63359,7 +66005,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + ISOLATION_LEVEL_FIELD_NUMBER;
                 hash = (53 * hash) + isolationLevel_.hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -63453,16 +66099,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_SLA_Isolation_level.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 isolationLevel_ = java.util.Collections.emptyList();
                 bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
@@ -63490,24 +66142,44 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_SLA_Isolation_level buildPartial() {
                 context.ContextOuterClass.Constraint_SLA_Isolation_level result = new context.ContextOuterClass.Constraint_SLA_Isolation_level(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.Constraint_SLA_Isolation_level result) {
+                int from_bitField0_ = bitField0_;
                 if (((bitField0_ & 0x00000001) != 0)) {
                     isolationLevel_ = java.util.Collections.unmodifiableList(isolationLevel_);
                     bitField0_ = (bitField0_ & ~0x00000001);
                 }
                 result.isolationLevel_ = isolationLevel_;
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_SLA_Isolation_level result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -63533,7 +66205,7 @@ public final class ContextOuterClass {
                     }
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -63545,56 +66217,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_SLA_Isolation_level parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    int tmpRaw = input.readEnum();
-                                    ensureIsolationLevelIsMutable();
-                                    isolationLevel_.add(tmpRaw);
-                                    break;
-                                }
-                            // case 8
-                            case 10:
-                                {
-                                    int length = input.readRawVarint32();
-                                    int oldLimit = input.pushLimit(length);
-                                    while (input.getBytesUntilLimit() > 0) {
-                                        int tmpRaw = input.readEnum();
-                                        ensureIsolationLevelIsMutable();
-                                        isolationLevel_.add(tmpRaw);
-                                    }
-                                    input.popLimit(oldLimit);
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_SLA_Isolation_level) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -63709,8 +66342,8 @@ public final class ContextOuterClass {
 
             /**
              * repeated .context.IsolationLevelEnum isolation_level = 1;
-             * @param index The index to set the value at.
-             * @param value The enum numeric value on the wire for isolationLevel to set.
+             * @param index The index of the value to return.
+             * @return The enum numeric value on the wire of isolationLevel at the given index.
              * @return This builder for chaining.
              */
             public Builder setIsolationLevelValue(int index, int value) {
@@ -63773,17 +66406,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_SLA_Isolation_level parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_SLA_Isolation_level(input, extensionRegistry);
             }
         };
 
@@ -63912,6 +66535,86 @@ public final class ContextOuterClass {
             return new Constraint_Exclusions();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint_Exclusions(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                isPermanent_ = input.readBool();
+                                break;
+                            }
+                        case 18:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    deviceIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                deviceIds_.add(input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 26:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+                                    endpointIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000002;
+                                }
+                                endpointIds_.add(input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 34:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000004) != 0)) {
+                                    linkIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000004;
+                                }
+                                linkIds_.add(input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_);
+                }
+                if (((mutable_bitField0_ & 0x00000002) != 0)) {
+                    endpointIds_ = java.util.Collections.unmodifiableList(endpointIds_);
+                }
+                if (((mutable_bitField0_ & 0x00000004) != 0)) {
+                    linkIds_ = java.util.Collections.unmodifiableList(linkIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_Exclusions_descriptor;
         }
@@ -63923,7 +66626,7 @@ public final class ContextOuterClass {
 
         public static final int IS_PERMANENT_FIELD_NUMBER = 1;
 
-        private boolean isPermanent_ = false;
+        private boolean isPermanent_;
 
         /**
          * bool is_permanent = 1;
@@ -63936,7 +66639,6 @@ public final class ContextOuterClass {
 
         public static final int DEVICE_IDS_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
         private java.util.List deviceIds_;
 
         /**
@@ -63981,7 +66683,6 @@ public final class ContextOuterClass {
 
         public static final int ENDPOINT_IDS_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
         private java.util.List endpointIds_;
 
         /**
@@ -64026,7 +66727,6 @@ public final class ContextOuterClass {
 
         public static final int LINK_IDS_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
         private java.util.List linkIds_;
 
         /**
@@ -64096,7 +66796,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < linkIds_.size(); i++) {
                 output.writeMessage(4, linkIds_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -64117,7 +66817,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < linkIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, linkIds_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -64139,7 +66839,7 @@ public final class ContextOuterClass {
                 return false;
             if (!getLinkIdsList().equals(other.getLinkIdsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -64165,7 +66865,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + LINK_IDS_FIELD_NUMBER;
                 hash = (53 * hash) + getLinkIdsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -64259,38 +66959,44 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint_Exclusions.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getDeviceIdsFieldBuilder();
+                    getEndpointIdsFieldBuilder();
+                    getLinkIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 isPermanent_ = false;
                 if (deviceIdsBuilder_ == null) {
                     deviceIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    deviceIds_ = null;
                     deviceIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000002);
                 if (endpointIdsBuilder_ == null) {
                     endpointIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000002);
                 } else {
-                    endpointIds_ = null;
                     endpointIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000004);
                 if (linkIdsBuilder_ == null) {
                     linkIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000004);
                 } else {
-                    linkIds_ = null;
                     linkIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000008);
                 return this;
             }
 
@@ -64316,49 +67022,67 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint_Exclusions buildPartial() {
                 context.ContextOuterClass.Constraint_Exclusions result = new context.ContextOuterClass.Constraint_Exclusions(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.Constraint_Exclusions result) {
+                int from_bitField0_ = bitField0_;
+                result.isPermanent_ = isPermanent_;
                 if (deviceIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         deviceIds_ = java.util.Collections.unmodifiableList(deviceIds_);
-                        bitField0_ = (bitField0_ & ~0x00000002);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.deviceIds_ = deviceIds_;
                 } else {
                     result.deviceIds_ = deviceIdsBuilder_.build();
                 }
                 if (endpointIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0)) {
+                    if (((bitField0_ & 0x00000002) != 0)) {
                         endpointIds_ = java.util.Collections.unmodifiableList(endpointIds_);
-                        bitField0_ = (bitField0_ & ~0x00000004);
+                        bitField0_ = (bitField0_ & ~0x00000002);
                     }
                     result.endpointIds_ = endpointIds_;
                 } else {
                     result.endpointIds_ = endpointIdsBuilder_.build();
                 }
                 if (linkIdsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0)) {
+                    if (((bitField0_ & 0x00000004) != 0)) {
                         linkIds_ = java.util.Collections.unmodifiableList(linkIds_);
-                        bitField0_ = (bitField0_ & ~0x00000008);
+                        bitField0_ = (bitField0_ & ~0x00000004);
                     }
                     result.linkIds_ = linkIds_;
                 } else {
                     result.linkIds_ = linkIdsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Constraint_Exclusions result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.isPermanent_ = isPermanent_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -64381,7 +67105,7 @@ public final class ContextOuterClass {
                     if (!other.deviceIds_.isEmpty()) {
                         if (deviceIds_.isEmpty()) {
                             deviceIds_ = other.deviceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000002);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureDeviceIdsIsMutable();
                             deviceIds_.addAll(other.deviceIds_);
@@ -64394,7 +67118,7 @@ public final class ContextOuterClass {
                             deviceIdsBuilder_.dispose();
                             deviceIdsBuilder_ = null;
                             deviceIds_ = other.deviceIds_;
-                            bitField0_ = (bitField0_ & ~0x00000002);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             deviceIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getDeviceIdsFieldBuilder() : null;
                         } else {
                             deviceIdsBuilder_.addAllMessages(other.deviceIds_);
@@ -64405,7 +67129,7 @@ public final class ContextOuterClass {
                     if (!other.endpointIds_.isEmpty()) {
                         if (endpointIds_.isEmpty()) {
                             endpointIds_ = other.endpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                         } else {
                             ensureEndpointIdsIsMutable();
                             endpointIds_.addAll(other.endpointIds_);
@@ -64418,7 +67142,7 @@ public final class ContextOuterClass {
                             endpointIdsBuilder_.dispose();
                             endpointIdsBuilder_ = null;
                             endpointIds_ = other.endpointIds_;
-                            bitField0_ = (bitField0_ & ~0x00000004);
+                            bitField0_ = (bitField0_ & ~0x00000002);
                             endpointIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getEndpointIdsFieldBuilder() : null;
                         } else {
                             endpointIdsBuilder_.addAllMessages(other.endpointIds_);
@@ -64429,7 +67153,7 @@ public final class ContextOuterClass {
                     if (!other.linkIds_.isEmpty()) {
                         if (linkIds_.isEmpty()) {
                             linkIds_ = other.linkIds_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000004);
                         } else {
                             ensureLinkIdsIsMutable();
                             linkIds_.addAll(other.linkIds_);
@@ -64442,14 +67166,14 @@ public final class ContextOuterClass {
                             linkIdsBuilder_.dispose();
                             linkIdsBuilder_ = null;
                             linkIds_ = other.linkIds_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000004);
                             linkIdsBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getLinkIdsFieldBuilder() : null;
                         } else {
                             linkIdsBuilder_.addAllMessages(other.linkIds_);
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -64461,78 +67185,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint_Exclusions parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    isPermanent_ = input.readBool();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            case 18:
-                                {
-                                    context.ContextOuterClass.DeviceId m = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry);
-                                    if (deviceIdsBuilder_ == null) {
-                                        ensureDeviceIdsIsMutable();
-                                        deviceIds_.add(m);
-                                    } else {
-                                        deviceIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    context.ContextOuterClass.EndPointId m = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry);
-                                    if (endpointIdsBuilder_ == null) {
-                                        ensureEndpointIdsIsMutable();
-                                        endpointIds_.add(m);
-                                    } else {
-                                        endpointIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    context.ContextOuterClass.LinkId m = input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry);
-                                    if (linkIdsBuilder_ == null) {
-                                        ensureLinkIdsIsMutable();
-                                        linkIds_.add(m);
-                                    } else {
-                                        linkIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 34
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint_Exclusions) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -64556,7 +67219,6 @@ public final class ContextOuterClass {
              */
             public Builder setIsPermanent(boolean value) {
                 isPermanent_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -64566,7 +67228,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearIsPermanent() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 isPermanent_ = false;
                 onChanged();
                 return this;
@@ -64575,9 +67236,9 @@ public final class ContextOuterClass {
             private java.util.List deviceIds_ = java.util.Collections.emptyList();
 
             private void ensureDeviceIdsIsMutable() {
-                if (!((bitField0_ & 0x00000002) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     deviceIds_ = new java.util.ArrayList(deviceIds_);
-                    bitField0_ |= 0x00000002;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -64729,7 +67390,7 @@ public final class ContextOuterClass {
             public Builder clearDeviceIds() {
                 if (deviceIdsBuilder_ == null) {
                     deviceIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000002);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     deviceIdsBuilder_.clear();
@@ -64803,7 +67464,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getDeviceIdsFieldBuilder() {
                 if (deviceIdsBuilder_ == null) {
-                    deviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(deviceIds_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
+                    deviceIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(deviceIds_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     deviceIds_ = null;
                 }
                 return deviceIdsBuilder_;
@@ -64812,9 +67473,9 @@ public final class ContextOuterClass {
             private java.util.List endpointIds_ = java.util.Collections.emptyList();
 
             private void ensureEndpointIdsIsMutable() {
-                if (!((bitField0_ & 0x00000004) != 0)) {
+                if (!((bitField0_ & 0x00000002) != 0)) {
                     endpointIds_ = new java.util.ArrayList(endpointIds_);
-                    bitField0_ |= 0x00000004;
+                    bitField0_ |= 0x00000002;
                 }
             }
 
@@ -64966,7 +67627,7 @@ public final class ContextOuterClass {
             public Builder clearEndpointIds() {
                 if (endpointIdsBuilder_ == null) {
                     endpointIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000004);
+                    bitField0_ = (bitField0_ & ~0x00000002);
                     onChanged();
                 } else {
                     endpointIdsBuilder_.clear();
@@ -65040,7 +67701,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getEndpointIdsFieldBuilder() {
                 if (endpointIdsBuilder_ == null) {
-                    endpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(endpointIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
+                    endpointIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(endpointIds_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
                     endpointIds_ = null;
                 }
                 return endpointIdsBuilder_;
@@ -65049,9 +67710,9 @@ public final class ContextOuterClass {
             private java.util.List linkIds_ = java.util.Collections.emptyList();
 
             private void ensureLinkIdsIsMutable() {
-                if (!((bitField0_ & 0x00000008) != 0)) {
+                if (!((bitField0_ & 0x00000004) != 0)) {
                     linkIds_ = new java.util.ArrayList(linkIds_);
-                    bitField0_ |= 0x00000008;
+                    bitField0_ |= 0x00000004;
                 }
             }
 
@@ -65203,7 +67864,7 @@ public final class ContextOuterClass {
             public Builder clearLinkIds() {
                 if (linkIdsBuilder_ == null) {
                     linkIds_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000008);
+                    bitField0_ = (bitField0_ & ~0x00000004);
                     onChanged();
                 } else {
                     linkIdsBuilder_.clear();
@@ -65277,7 +67938,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getLinkIdsFieldBuilder() {
                 if (linkIdsBuilder_ == null) {
-                    linkIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(linkIds_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
+                    linkIdsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(linkIds_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
                     linkIds_ = null;
                 }
                 return linkIdsBuilder_;
@@ -65310,17 +67971,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint_Exclusions parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint_Exclusions(input, extensionRegistry);
             }
         };
 
@@ -65507,7 +68158,7 @@ public final class ContextOuterClass {
          */
         context.ContextOuterClass.Constraint_ExclusionsOrBuilder getExclusionsOrBuilder();
 
-        context.ContextOuterClass.Constraint.ConstraintCase getConstraintCase();
+        public context.ContextOuterClass.Constraint.ConstraintCase getConstraintCase();
     }
 
     /**
@@ -65533,6 +68184,176 @@ public final class ContextOuterClass {
             return new Constraint();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Constraint(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                int rawValue = input.readEnum();
+                                action_ = rawValue;
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.Constraint_Custom.Builder subBuilder = null;
+                                if (constraintCase_ == 2) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_Custom) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_Custom.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_Custom) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 2;
+                                break;
+                            }
+                        case 26:
+                            {
+                                context.ContextOuterClass.Constraint_Schedule.Builder subBuilder = null;
+                                if (constraintCase_ == 3) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_Schedule) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_Schedule.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_Schedule) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 3;
+                                break;
+                            }
+                        case 34:
+                            {
+                                context.ContextOuterClass.Constraint_EndPointLocation.Builder subBuilder = null;
+                                if (constraintCase_ == 4) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_EndPointLocation) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_EndPointLocation.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_EndPointLocation) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 4;
+                                break;
+                            }
+                        case 42:
+                            {
+                                context.ContextOuterClass.Constraint_EndPointPriority.Builder subBuilder = null;
+                                if (constraintCase_ == 5) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_EndPointPriority) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_EndPointPriority.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_EndPointPriority) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 5;
+                                break;
+                            }
+                        case 50:
+                            {
+                                context.ContextOuterClass.Constraint_SLA_Capacity.Builder subBuilder = null;
+                                if (constraintCase_ == 6) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_SLA_Capacity) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_SLA_Capacity.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_SLA_Capacity) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 6;
+                                break;
+                            }
+                        case 58:
+                            {
+                                context.ContextOuterClass.Constraint_SLA_Latency.Builder subBuilder = null;
+                                if (constraintCase_ == 7) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_SLA_Latency) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_SLA_Latency.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_SLA_Latency) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 7;
+                                break;
+                            }
+                        case 66:
+                            {
+                                context.ContextOuterClass.Constraint_SLA_Availability.Builder subBuilder = null;
+                                if (constraintCase_ == 8) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_SLA_Availability) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_SLA_Availability.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_SLA_Availability) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 8;
+                                break;
+                            }
+                        case 74:
+                            {
+                                context.ContextOuterClass.Constraint_SLA_Isolation_level.Builder subBuilder = null;
+                                if (constraintCase_ == 9) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_SLA_Isolation_level) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_SLA_Isolation_level.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_SLA_Isolation_level) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 9;
+                                break;
+                            }
+                        case 82:
+                            {
+                                context.ContextOuterClass.Constraint_Exclusions.Builder subBuilder = null;
+                                if (constraintCase_ == 10) {
+                                    subBuilder = ((context.ContextOuterClass.Constraint_Exclusions) constraint_).toBuilder();
+                                }
+                                constraint_ = input.readMessage(context.ContextOuterClass.Constraint_Exclusions.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom((context.ContextOuterClass.Constraint_Exclusions) constraint_);
+                                    constraint_ = subBuilder.buildPartial();
+                                }
+                                constraintCase_ = 10;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Constraint_descriptor;
         }
@@ -65544,7 +68365,6 @@ public final class ContextOuterClass {
 
         private int constraintCase_ = 0;
 
-        @SuppressWarnings("serial")
         private java.lang.Object constraint_;
 
         public enum ConstraintCase implements com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum {
@@ -65614,7 +68434,7 @@ public final class ContextOuterClass {
 
         public static final int ACTION_FIELD_NUMBER = 1;
 
-        private int action_ = 0;
+        private int action_;
 
         /**
          * .context.ConstraintActionEnum action = 1;
@@ -65631,7 +68451,8 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ConstraintActionEnum getAction() {
-            context.ContextOuterClass.ConstraintActionEnum result = context.ContextOuterClass.ConstraintActionEnum.forNumber(action_);
+            @SuppressWarnings("deprecation")
+            context.ContextOuterClass.ConstraintActionEnum result = context.ContextOuterClass.ConstraintActionEnum.valueOf(action_);
             return result == null ? context.ContextOuterClass.ConstraintActionEnum.UNRECOGNIZED : result;
         }
 
@@ -65986,7 +68807,7 @@ public final class ContextOuterClass {
             if (constraintCase_ == 10) {
                 output.writeMessage(10, (context.ContextOuterClass.Constraint_Exclusions) constraint_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -66025,7 +68846,7 @@ public final class ContextOuterClass {
             if (constraintCase_ == 10) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, (context.ContextOuterClass.Constraint_Exclusions) constraint_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -66083,7 +68904,7 @@ public final class ContextOuterClass {
                 case 0:
                 default:
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -66137,7 +68958,7 @@ public final class ContextOuterClass {
                 case 0:
                 default:
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -66231,44 +69052,23 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Constraint.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 action_ = 0;
-                if (customBuilder_ != null) {
-                    customBuilder_.clear();
-                }
-                if (scheduleBuilder_ != null) {
-                    scheduleBuilder_.clear();
-                }
-                if (endpointLocationBuilder_ != null) {
-                    endpointLocationBuilder_.clear();
-                }
-                if (endpointPriorityBuilder_ != null) {
-                    endpointPriorityBuilder_.clear();
-                }
-                if (slaCapacityBuilder_ != null) {
-                    slaCapacityBuilder_.clear();
-                }
-                if (slaLatencyBuilder_ != null) {
-                    slaLatencyBuilder_.clear();
-                }
-                if (slaAvailabilityBuilder_ != null) {
-                    slaAvailabilityBuilder_.clear();
-                }
-                if (slaIsolationBuilder_ != null) {
-                    slaIsolationBuilder_.clear();
-                }
-                if (exclusionsBuilder_ != null) {
-                    exclusionsBuilder_.clear();
-                }
                 constraintCase_ = 0;
                 constraint_ = null;
                 return this;
@@ -66296,51 +69096,103 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Constraint buildPartial() {
                 context.ContextOuterClass.Constraint result = new context.ContextOuterClass.Constraint(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                buildPartialOneofs(result);
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartial0(context.ContextOuterClass.Constraint result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.action_ = action_;
-                }
-            }
-
-            private void buildPartialOneofs(context.ContextOuterClass.Constraint result) {
-                result.constraintCase_ = constraintCase_;
-                result.constraint_ = this.constraint_;
-                if (constraintCase_ == 2 && customBuilder_ != null) {
-                    result.constraint_ = customBuilder_.build();
+                result.action_ = action_;
+                if (constraintCase_ == 2) {
+                    if (customBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = customBuilder_.build();
+                    }
                 }
-                if (constraintCase_ == 3 && scheduleBuilder_ != null) {
-                    result.constraint_ = scheduleBuilder_.build();
+                if (constraintCase_ == 3) {
+                    if (scheduleBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = scheduleBuilder_.build();
+                    }
                 }
-                if (constraintCase_ == 4 && endpointLocationBuilder_ != null) {
-                    result.constraint_ = endpointLocationBuilder_.build();
+                if (constraintCase_ == 4) {
+                    if (endpointLocationBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = endpointLocationBuilder_.build();
+                    }
                 }
-                if (constraintCase_ == 5 && endpointPriorityBuilder_ != null) {
-                    result.constraint_ = endpointPriorityBuilder_.build();
+                if (constraintCase_ == 5) {
+                    if (endpointPriorityBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = endpointPriorityBuilder_.build();
+                    }
                 }
-                if (constraintCase_ == 6 && slaCapacityBuilder_ != null) {
-                    result.constraint_ = slaCapacityBuilder_.build();
+                if (constraintCase_ == 6) {
+                    if (slaCapacityBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = slaCapacityBuilder_.build();
+                    }
                 }
-                if (constraintCase_ == 7 && slaLatencyBuilder_ != null) {
-                    result.constraint_ = slaLatencyBuilder_.build();
+                if (constraintCase_ == 7) {
+                    if (slaLatencyBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = slaLatencyBuilder_.build();
+                    }
                 }
-                if (constraintCase_ == 8 && slaAvailabilityBuilder_ != null) {
-                    result.constraint_ = slaAvailabilityBuilder_.build();
+                if (constraintCase_ == 8) {
+                    if (slaAvailabilityBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = slaAvailabilityBuilder_.build();
+                    }
                 }
-                if (constraintCase_ == 9 && slaIsolationBuilder_ != null) {
-                    result.constraint_ = slaIsolationBuilder_.build();
+                if (constraintCase_ == 9) {
+                    if (slaIsolationBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = slaIsolationBuilder_.build();
+                    }
                 }
-                if (constraintCase_ == 10 && exclusionsBuilder_ != null) {
-                    result.constraint_ = exclusionsBuilder_.build();
+                if (constraintCase_ == 10) {
+                    if (exclusionsBuilder_ == null) {
+                        result.constraint_ = constraint_;
+                    } else {
+                        result.constraint_ = exclusionsBuilder_.build();
+                    }
                 }
+                result.constraintCase_ = constraintCase_;
+                onBuilt();
+                return result;
+            }
+
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -66410,7 +69262,7 @@ public final class ContextOuterClass {
                             break;
                         }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -66422,105 +69274,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Constraint parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    action_ = input.readEnum();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 8
-                            case 18:
-                                {
-                                    input.readMessage(getCustomFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 2;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    input.readMessage(getScheduleFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 3;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    input.readMessage(getEndpointLocationFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 4;
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    input.readMessage(getEndpointPriorityFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 5;
-                                    break;
-                                }
-                            // case 42
-                            case 50:
-                                {
-                                    input.readMessage(getSlaCapacityFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 6;
-                                    break;
-                                }
-                            // case 50
-                            case 58:
-                                {
-                                    input.readMessage(getSlaLatencyFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 7;
-                                    break;
-                                }
-                            // case 58
-                            case 66:
-                                {
-                                    input.readMessage(getSlaAvailabilityFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 8;
-                                    break;
-                                }
-                            // case 66
-                            case 74:
-                                {
-                                    input.readMessage(getSlaIsolationFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 9;
-                                    break;
-                                }
-                            // case 74
-                            case 82:
-                                {
-                                    input.readMessage(getExclusionsFieldBuilder().getBuilder(), extensionRegistry);
-                                    constraintCase_ = 10;
-                                    break;
-                                }
-                            // case 82
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Constraint) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -66539,8 +69303,6 @@ public final class ContextOuterClass {
                 return this;
             }
 
-            private int bitField0_;
-
             private int action_ = 0;
 
             /**
@@ -66559,7 +69321,6 @@ public final class ContextOuterClass {
              */
             public Builder setActionValue(int value) {
                 action_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -66570,7 +69331,8 @@ public final class ContextOuterClass {
              */
             @java.lang.Override
             public context.ContextOuterClass.ConstraintActionEnum getAction() {
-                context.ContextOuterClass.ConstraintActionEnum result = context.ContextOuterClass.ConstraintActionEnum.forNumber(action_);
+                @SuppressWarnings("deprecation")
+                context.ContextOuterClass.ConstraintActionEnum result = context.ContextOuterClass.ConstraintActionEnum.valueOf(action_);
                 return result == null ? context.ContextOuterClass.ConstraintActionEnum.UNRECOGNIZED : result;
             }
 
@@ -66583,7 +69345,6 @@ public final class ContextOuterClass {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000001;
                 action_ = value.getNumber();
                 onChanged();
                 return this;
@@ -66594,7 +69355,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearAction() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 action_ = 0;
                 onChanged();
                 return this;
@@ -66675,9 +69435,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 2) {
                         customBuilder_.mergeFrom(value);
-                    } else {
-                        customBuilder_.setMessage(value);
                     }
+                    customBuilder_.setMessage(value);
                 }
                 constraintCase_ = 2;
                 return this;
@@ -66738,6 +69497,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 2;
                 onChanged();
+                ;
                 return customBuilder_;
             }
 
@@ -66816,9 +69576,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 3) {
                         scheduleBuilder_.mergeFrom(value);
-                    } else {
-                        scheduleBuilder_.setMessage(value);
                     }
+                    scheduleBuilder_.setMessage(value);
                 }
                 constraintCase_ = 3;
                 return this;
@@ -66879,6 +69638,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 3;
                 onChanged();
+                ;
                 return scheduleBuilder_;
             }
 
@@ -66957,9 +69717,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 4) {
                         endpointLocationBuilder_.mergeFrom(value);
-                    } else {
-                        endpointLocationBuilder_.setMessage(value);
                     }
+                    endpointLocationBuilder_.setMessage(value);
                 }
                 constraintCase_ = 4;
                 return this;
@@ -67020,6 +69779,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 4;
                 onChanged();
+                ;
                 return endpointLocationBuilder_;
             }
 
@@ -67098,9 +69858,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 5) {
                         endpointPriorityBuilder_.mergeFrom(value);
-                    } else {
-                        endpointPriorityBuilder_.setMessage(value);
                     }
+                    endpointPriorityBuilder_.setMessage(value);
                 }
                 constraintCase_ = 5;
                 return this;
@@ -67161,6 +69920,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 5;
                 onChanged();
+                ;
                 return endpointPriorityBuilder_;
             }
 
@@ -67239,9 +69999,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 6) {
                         slaCapacityBuilder_.mergeFrom(value);
-                    } else {
-                        slaCapacityBuilder_.setMessage(value);
                     }
+                    slaCapacityBuilder_.setMessage(value);
                 }
                 constraintCase_ = 6;
                 return this;
@@ -67302,6 +70061,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 6;
                 onChanged();
+                ;
                 return slaCapacityBuilder_;
             }
 
@@ -67380,9 +70140,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 7) {
                         slaLatencyBuilder_.mergeFrom(value);
-                    } else {
-                        slaLatencyBuilder_.setMessage(value);
                     }
+                    slaLatencyBuilder_.setMessage(value);
                 }
                 constraintCase_ = 7;
                 return this;
@@ -67443,6 +70202,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 7;
                 onChanged();
+                ;
                 return slaLatencyBuilder_;
             }
 
@@ -67521,9 +70281,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 8) {
                         slaAvailabilityBuilder_.mergeFrom(value);
-                    } else {
-                        slaAvailabilityBuilder_.setMessage(value);
                     }
+                    slaAvailabilityBuilder_.setMessage(value);
                 }
                 constraintCase_ = 8;
                 return this;
@@ -67584,6 +70343,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 8;
                 onChanged();
+                ;
                 return slaAvailabilityBuilder_;
             }
 
@@ -67662,9 +70422,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 9) {
                         slaIsolationBuilder_.mergeFrom(value);
-                    } else {
-                        slaIsolationBuilder_.setMessage(value);
                     }
+                    slaIsolationBuilder_.setMessage(value);
                 }
                 constraintCase_ = 9;
                 return this;
@@ -67725,6 +70484,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 9;
                 onChanged();
+                ;
                 return slaIsolationBuilder_;
             }
 
@@ -67803,9 +70563,8 @@ public final class ContextOuterClass {
                 } else {
                     if (constraintCase_ == 10) {
                         exclusionsBuilder_.mergeFrom(value);
-                    } else {
-                        exclusionsBuilder_.setMessage(value);
                     }
+                    exclusionsBuilder_.setMessage(value);
                 }
                 constraintCase_ = 10;
                 return this;
@@ -67866,6 +70625,7 @@ public final class ContextOuterClass {
                 }
                 constraintCase_ = 10;
                 onChanged();
+                ;
                 return exclusionsBuilder_;
             }
 
@@ -67896,17 +70656,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Constraint parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Constraint(input, extensionRegistry);
             }
         };
 
@@ -67991,6 +70741,68 @@ public final class ContextOuterClass {
             return new TeraFlowController();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private TeraFlowController(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ContextId.Builder subBuilder = null;
+                                if (contextId_ != null) {
+                                    subBuilder = contextId_.toBuilder();
+                                }
+                                contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(contextId_);
+                                    contextId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                ipAddress_ = s;
+                                break;
+                            }
+                        case 24:
+                            {
+                                port_ = input.readUInt32();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_TeraFlowController_descriptor;
         }
@@ -68027,13 +70839,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() {
-            return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_;
+            return getContextId();
         }
 
         public static final int IP_ADDRESS_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object ipAddress_ = "";
+        private volatile java.lang.Object ipAddress_;
 
         /**
          * string ip_address = 2;
@@ -68070,7 +70881,7 @@ public final class ContextOuterClass {
 
         public static final int PORT_FIELD_NUMBER = 3;
 
-        private int port_ = 0;
+        private int port_;
 
         /**
          * uint32 port = 3;
@@ -68099,13 +70910,13 @@ public final class ContextOuterClass {
             if (contextId_ != null) {
                 output.writeMessage(1, getContextId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(ipAddress_)) {
+            if (!getIpAddressBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, ipAddress_);
             }
             if (port_ != 0) {
                 output.writeUInt32(3, port_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -68117,13 +70928,13 @@ public final class ContextOuterClass {
             if (contextId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getContextId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(ipAddress_)) {
+            if (!getIpAddressBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, ipAddress_);
             }
             if (port_ != 0) {
                 size += com.google.protobuf.CodedOutputStream.computeUInt32Size(3, port_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -68147,7 +70958,7 @@ public final class ContextOuterClass {
                 return false;
             if (getPort() != other.getPort())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -68167,7 +70978,7 @@ public final class ContextOuterClass {
             hash = (53 * hash) + getIpAddress().hashCode();
             hash = (37 * hash) + PORT_FIELD_NUMBER;
             hash = (53 * hash) + getPort();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -68265,19 +71076,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.TeraFlowController.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
                 ipAddress_ = "";
@@ -68307,24 +71125,45 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.TeraFlowController buildPartial() {
                 context.ContextOuterClass.TeraFlowController result = new context.ContextOuterClass.TeraFlowController(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (contextIdBuilder_ == null) {
+                    result.contextId_ = contextId_;
+                } else {
+                    result.contextId_ = contextIdBuilder_.build();
                 }
+                result.ipAddress_ = ipAddress_;
+                result.port_ = port_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.TeraFlowController result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.contextId_ = contextIdBuilder_ == null ? contextId_ : contextIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.ipAddress_ = ipAddress_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.port_ = port_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -68345,13 +71184,12 @@ public final class ContextOuterClass {
                 }
                 if (!other.getIpAddress().isEmpty()) {
                     ipAddress_ = other.ipAddress_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (other.getPort() != 0) {
                     setPort(other.getPort());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -68363,61 +71201,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.TeraFlowController parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getContextIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    ipAddress_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 24:
-                                {
-                                    port_ = input.readUInt32();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.TeraFlowController) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.ContextId contextId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 contextIdBuilder_;
@@ -68427,7 +71224,7 @@ public final class ContextOuterClass {
              * @return Whether the contextId field is set.
              */
             public boolean hasContextId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return contextIdBuilder_ != null || contextId_ != null;
             }
 
             /**
@@ -68451,11 +71248,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     contextId_ = value;
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -68465,11 +71261,10 @@ public final class ContextOuterClass {
             public Builder setContextId(context.ContextOuterClass.ContextId.Builder builderForValue) {
                 if (contextIdBuilder_ == null) {
                     contextId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -68478,16 +71273,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeContextId(context.ContextOuterClass.ContextId value) {
                 if (contextIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && contextId_ != null && contextId_ != context.ContextOuterClass.ContextId.getDefaultInstance()) {
-                        getContextIdBuilder().mergeFrom(value);
+                    if (contextId_ != null) {
+                        contextId_ = context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial();
                     } else {
                         contextId_ = value;
                     }
+                    onChanged();
                 } else {
                     contextIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -68495,13 +71289,13 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public Builder clearContextId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                    onChanged();
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -68509,7 +71303,6 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getContextIdFieldBuilder().getBuilder();
             }
@@ -68579,7 +71372,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 ipAddress_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -68590,7 +71382,6 @@ public final class ContextOuterClass {
              */
             public Builder clearIpAddress() {
                 ipAddress_ = getDefaultInstance().getIpAddress();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -68606,7 +71397,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 ipAddress_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -68629,7 +71419,6 @@ public final class ContextOuterClass {
              */
             public Builder setPort(int value) {
                 port_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -68639,7 +71428,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearPort() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 port_ = 0;
                 onChanged();
                 return this;
@@ -68672,17 +71460,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public TeraFlowController parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new TeraFlowController(input, extensionRegistry);
             }
         };
 
@@ -68750,6 +71528,62 @@ public final class ContextOuterClass {
             return new AuthenticationResult();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private AuthenticationResult(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.ContextId.Builder subBuilder = null;
+                                if (contextId_ != null) {
+                                    subBuilder = contextId_.toBuilder();
+                                }
+                                contextId_ = input.readMessage(context.ContextOuterClass.ContextId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(contextId_);
+                                    contextId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 16:
+                            {
+                                authenticated_ = input.readBool();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_AuthenticationResult_descriptor;
         }
@@ -68786,12 +71620,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.ContextIdOrBuilder getContextIdOrBuilder() {
-            return contextId_ == null ? context.ContextOuterClass.ContextId.getDefaultInstance() : contextId_;
+            return getContextId();
         }
 
         public static final int AUTHENTICATED_FIELD_NUMBER = 2;
 
-        private boolean authenticated_ = false;
+        private boolean authenticated_;
 
         /**
          * bool authenticated = 2;
@@ -68823,7 +71657,7 @@ public final class ContextOuterClass {
             if (authenticated_ != false) {
                 output.writeBool(2, authenticated_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -68838,7 +71672,7 @@ public final class ContextOuterClass {
             if (authenticated_ != false) {
                 size += com.google.protobuf.CodedOutputStream.computeBoolSize(2, authenticated_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -68860,7 +71694,7 @@ public final class ContextOuterClass {
             }
             if (getAuthenticated() != other.getAuthenticated())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -68878,7 +71712,7 @@ public final class ContextOuterClass {
             }
             hash = (37 * hash) + AUTHENTICATED_FIELD_NUMBER;
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getAuthenticated());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -68972,19 +71806,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.AuthenticationResult.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
                 authenticated_ = false;
@@ -69013,21 +71854,44 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.AuthenticationResult buildPartial() {
                 context.ContextOuterClass.AuthenticationResult result = new context.ContextOuterClass.AuthenticationResult(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (contextIdBuilder_ == null) {
+                    result.contextId_ = contextId_;
+                } else {
+                    result.contextId_ = contextIdBuilder_.build();
                 }
+                result.authenticated_ = authenticated_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.AuthenticationResult result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.contextId_ = contextIdBuilder_ == null ? contextId_ : contextIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.authenticated_ = authenticated_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -69049,7 +71913,7 @@ public final class ContextOuterClass {
                 if (other.getAuthenticated() != false) {
                     setAuthenticated(other.getAuthenticated());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -69061,54 +71925,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.AuthenticationResult parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getContextIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 16:
-                                {
-                                    authenticated_ = input.readBool();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.AuthenticationResult) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.ContextId contextId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 contextIdBuilder_;
@@ -69118,7 +71948,7 @@ public final class ContextOuterClass {
              * @return Whether the contextId field is set.
              */
             public boolean hasContextId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return contextIdBuilder_ != null || contextId_ != null;
             }
 
             /**
@@ -69142,11 +71972,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     contextId_ = value;
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -69156,11 +71985,10 @@ public final class ContextOuterClass {
             public Builder setContextId(context.ContextOuterClass.ContextId.Builder builderForValue) {
                 if (contextIdBuilder_ == null) {
                     contextId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     contextIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -69169,16 +71997,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeContextId(context.ContextOuterClass.ContextId value) {
                 if (contextIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && contextId_ != null && contextId_ != context.ContextOuterClass.ContextId.getDefaultInstance()) {
-                        getContextIdBuilder().mergeFrom(value);
+                    if (contextId_ != null) {
+                        contextId_ = context.ContextOuterClass.ContextId.newBuilder(contextId_).mergeFrom(value).buildPartial();
                     } else {
                         contextId_ = value;
                     }
+                    onChanged();
                 } else {
                     contextIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -69186,13 +72013,13 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public Builder clearContextId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                contextId_ = null;
-                if (contextIdBuilder_ != null) {
-                    contextIdBuilder_.dispose();
+                if (contextIdBuilder_ == null) {
+                    contextId_ = null;
+                    onChanged();
+                } else {
+                    contextId_ = null;
                     contextIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -69200,7 +72027,6 @@ public final class ContextOuterClass {
              * .context.ContextId context_id = 1;
              */
             public context.ContextOuterClass.ContextId.Builder getContextIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getContextIdFieldBuilder().getBuilder();
             }
@@ -69245,7 +72071,6 @@ public final class ContextOuterClass {
              */
             public Builder setAuthenticated(boolean value) {
                 authenticated_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -69255,7 +72080,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearAuthenticated() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 authenticated_ = false;
                 onChanged();
                 return this;
@@ -69288,17 +72112,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public AuthenticationResult parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new AuthenticationResult(input, extensionRegistry);
             }
         };
 
@@ -69360,6 +72174,50 @@ public final class ContextOuterClass {
             return new OpticalConfigId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private OpticalConfigId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                opticalconfigUuid_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_OpticalConfigId_descriptor;
         }
@@ -69371,8 +72229,7 @@ public final class ContextOuterClass {
 
         public static final int OPTICALCONFIG_UUID_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object opticalconfigUuid_ = "";
+        private volatile java.lang.Object opticalconfigUuid_;
 
         /**
          * string opticalconfig_uuid = 1;
@@ -69422,10 +72279,10 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(opticalconfigUuid_)) {
+            if (!getOpticalconfigUuidBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, opticalconfigUuid_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -69434,10 +72291,10 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(opticalconfigUuid_)) {
+            if (!getOpticalconfigUuidBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, opticalconfigUuid_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -69453,7 +72310,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.OpticalConfigId other = (context.ContextOuterClass.OpticalConfigId) obj;
             if (!getOpticalconfigUuid().equals(other.getOpticalconfigUuid()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -69467,7 +72324,7 @@ public final class ContextOuterClass {
             hash = (19 * hash) + getDescriptor().hashCode();
             hash = (37 * hash) + OPTICALCONFIG_UUID_FIELD_NUMBER;
             hash = (53 * hash) + getOpticalconfigUuid().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -69565,16 +72422,22 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.OpticalConfigId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 opticalconfigUuid_ = "";
                 return this;
             }
@@ -69601,18 +72464,39 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.OpticalConfigId buildPartial() {
                 context.ContextOuterClass.OpticalConfigId result = new context.ContextOuterClass.OpticalConfigId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
+                result.opticalconfigUuid_ = opticalconfigUuid_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.OpticalConfigId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.opticalconfigUuid_ = opticalconfigUuid_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -69630,10 +72514,9 @@ public final class ContextOuterClass {
                     return this;
                 if (!other.getOpticalconfigUuid().isEmpty()) {
                     opticalconfigUuid_ = other.opticalconfigUuid_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -69645,47 +72528,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.OpticalConfigId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    opticalconfigUuid_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.OpticalConfigId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private java.lang.Object opticalconfigUuid_ = "";
 
             /**
@@ -69729,7 +72585,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 opticalconfigUuid_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -69740,7 +72595,6 @@ public final class ContextOuterClass {
              */
             public Builder clearOpticalconfigUuid() {
                 opticalconfigUuid_ = getDefaultInstance().getOpticalconfigUuid();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -69756,7 +72610,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 opticalconfigUuid_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -69788,17 +72641,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public OpticalConfigId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new OpticalConfigId(input, extensionRegistry);
             }
         };
 
@@ -69873,6 +72716,63 @@ public final class ContextOuterClass {
             return new OpticalConfig();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private OpticalConfig(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.OpticalConfigId.Builder subBuilder = null;
+                                if (opticalconfigId_ != null) {
+                                    subBuilder = opticalconfigId_.toBuilder();
+                                }
+                                opticalconfigId_ = input.readMessage(context.ContextOuterClass.OpticalConfigId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(opticalconfigId_);
+                                    opticalconfigId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                config_ = s;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_OpticalConfig_descriptor;
         }
@@ -69909,13 +72809,12 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.OpticalConfigIdOrBuilder getOpticalconfigIdOrBuilder() {
-            return opticalconfigId_ == null ? context.ContextOuterClass.OpticalConfigId.getDefaultInstance() : opticalconfigId_;
+            return getOpticalconfigId();
         }
 
         public static final int CONFIG_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object config_ = "";
+        private volatile java.lang.Object config_;
 
         /**
          * string config = 2;
@@ -69968,10 +72867,10 @@ public final class ContextOuterClass {
             if (opticalconfigId_ != null) {
                 output.writeMessage(1, getOpticalconfigId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(config_)) {
+            if (!getConfigBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, config_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -69983,10 +72882,10 @@ public final class ContextOuterClass {
             if (opticalconfigId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getOpticalconfigId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(config_)) {
+            if (!getConfigBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, config_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -70008,7 +72907,7 @@ public final class ContextOuterClass {
             }
             if (!getConfig().equals(other.getConfig()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -70026,7 +72925,7 @@ public final class ContextOuterClass {
             }
             hash = (37 * hash) + CONFIG_FIELD_NUMBER;
             hash = (53 * hash) + getConfig().hashCode();
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -70120,19 +73019,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.OpticalConfig.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                opticalconfigId_ = null;
-                if (opticalconfigIdBuilder_ != null) {
-                    opticalconfigIdBuilder_.dispose();
+                if (opticalconfigIdBuilder_ == null) {
+                    opticalconfigId_ = null;
+                } else {
+                    opticalconfigId_ = null;
                     opticalconfigIdBuilder_ = null;
                 }
                 config_ = "";
@@ -70161,21 +73067,44 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.OpticalConfig buildPartial() {
                 context.ContextOuterClass.OpticalConfig result = new context.ContextOuterClass.OpticalConfig(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (opticalconfigIdBuilder_ == null) {
+                    result.opticalconfigId_ = opticalconfigId_;
+                } else {
+                    result.opticalconfigId_ = opticalconfigIdBuilder_.build();
                 }
+                result.config_ = config_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.OpticalConfig result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.opticalconfigId_ = opticalconfigIdBuilder_ == null ? opticalconfigId_ : opticalconfigIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.config_ = config_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -70196,10 +73125,9 @@ public final class ContextOuterClass {
                 }
                 if (!other.getConfig().isEmpty()) {
                     config_ = other.config_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -70211,54 +73139,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.OpticalConfig parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getOpticalconfigIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    config_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.OpticalConfig) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.OpticalConfigId opticalconfigId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 opticalconfigIdBuilder_;
@@ -70268,7 +73162,7 @@ public final class ContextOuterClass {
              * @return Whether the opticalconfigId field is set.
              */
             public boolean hasOpticalconfigId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return opticalconfigIdBuilder_ != null || opticalconfigId_ != null;
             }
 
             /**
@@ -70292,11 +73186,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     opticalconfigId_ = value;
+                    onChanged();
                 } else {
                     opticalconfigIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -70306,11 +73199,10 @@ public final class ContextOuterClass {
             public Builder setOpticalconfigId(context.ContextOuterClass.OpticalConfigId.Builder builderForValue) {
                 if (opticalconfigIdBuilder_ == null) {
                     opticalconfigId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     opticalconfigIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -70319,16 +73211,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeOpticalconfigId(context.ContextOuterClass.OpticalConfigId value) {
                 if (opticalconfigIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && opticalconfigId_ != null && opticalconfigId_ != context.ContextOuterClass.OpticalConfigId.getDefaultInstance()) {
-                        getOpticalconfigIdBuilder().mergeFrom(value);
+                    if (opticalconfigId_ != null) {
+                        opticalconfigId_ = context.ContextOuterClass.OpticalConfigId.newBuilder(opticalconfigId_).mergeFrom(value).buildPartial();
                     } else {
                         opticalconfigId_ = value;
                     }
+                    onChanged();
                 } else {
                     opticalconfigIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -70336,13 +73227,13 @@ public final class ContextOuterClass {
              * .context.OpticalConfigId opticalconfig_id = 1;
              */
             public Builder clearOpticalconfigId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                opticalconfigId_ = null;
-                if (opticalconfigIdBuilder_ != null) {
-                    opticalconfigIdBuilder_.dispose();
+                if (opticalconfigIdBuilder_ == null) {
+                    opticalconfigId_ = null;
+                    onChanged();
+                } else {
+                    opticalconfigId_ = null;
                     opticalconfigIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -70350,7 +73241,6 @@ public final class ContextOuterClass {
              * .context.OpticalConfigId opticalconfig_id = 1;
              */
             public context.ContextOuterClass.OpticalConfigId.Builder getOpticalconfigIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getOpticalconfigIdFieldBuilder().getBuilder();
             }
@@ -70420,7 +73310,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 config_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -70431,7 +73320,6 @@ public final class ContextOuterClass {
              */
             public Builder clearConfig() {
                 config_ = getDefaultInstance().getConfig();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -70447,7 +73335,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 config_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -70479,17 +73366,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public OpticalConfig parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new OpticalConfig(input, extensionRegistry);
             }
         };
 
@@ -70560,6 +73437,57 @@ public final class ContextOuterClass {
             return new OpticalConfigList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private OpticalConfigList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    opticalconfigs_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                opticalconfigs_.add(input.readMessage(context.ContextOuterClass.OpticalConfig.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    opticalconfigs_ = java.util.Collections.unmodifiableList(opticalconfigs_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_OpticalConfigList_descriptor;
         }
@@ -70571,7 +73499,6 @@ public final class ContextOuterClass {
 
         public static final int OPTICALCONFIGS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List opticalconfigs_;
 
         /**
@@ -70632,7 +73559,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < opticalconfigs_.size(); i++) {
                 output.writeMessage(1, opticalconfigs_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -70644,7 +73571,7 @@ public final class ContextOuterClass {
             for (int i = 0; i < opticalconfigs_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, opticalconfigs_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -70660,7 +73587,7 @@ public final class ContextOuterClass {
             context.ContextOuterClass.OpticalConfigList other = (context.ContextOuterClass.OpticalConfigList) obj;
             if (!getOpticalconfigsList().equals(other.getOpticalconfigsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -70676,7 +73603,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + OPTICALCONFIGS_FIELD_NUMBER;
                 hash = (53 * hash) + getOpticalconfigsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -70770,23 +73697,29 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.OpticalConfigList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getOpticalconfigsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (opticalconfigsBuilder_ == null) {
                     opticalconfigs_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    opticalconfigs_ = null;
                     opticalconfigsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -70812,15 +73745,7 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.OpticalConfigList buildPartial() {
                 context.ContextOuterClass.OpticalConfigList result = new context.ContextOuterClass.OpticalConfigList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.OpticalConfigList result) {
+                int from_bitField0_ = bitField0_;
                 if (opticalconfigsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         opticalconfigs_ = java.util.Collections.unmodifiableList(opticalconfigs_);
@@ -70830,10 +73755,38 @@ public final class ContextOuterClass {
                 } else {
                     result.opticalconfigs_ = opticalconfigsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.OpticalConfigList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -70873,7 +73826,7 @@ public final class ContextOuterClass {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -70885,47 +73838,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.OpticalConfigList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    context.ContextOuterClass.OpticalConfig m = input.readMessage(context.ContextOuterClass.OpticalConfig.parser(), extensionRegistry);
-                                    if (opticalconfigsBuilder_ == null) {
-                                        ensureOpticalconfigsIsMutable();
-                                        opticalconfigs_.add(m);
-                                    } else {
-                                        opticalconfigsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.OpticalConfigList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -71195,17 +74118,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public OpticalConfigList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new OpticalConfigList(input, extensionRegistry);
             }
         };
 
@@ -71267,6 +74180,57 @@ public final class ContextOuterClass {
             return new OpticalLinkId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private OpticalLinkId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (opticalLinkUuid_ != null) {
+                                    subBuilder = opticalLinkUuid_.toBuilder();
+                                }
+                                opticalLinkUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(opticalLinkUuid_);
+                                    opticalLinkUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_OpticalLinkId_descriptor;
         }
@@ -71303,7 +74267,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getOpticalLinkUuidOrBuilder() {
-            return opticalLinkUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : opticalLinkUuid_;
+            return getOpticalLinkUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -71324,7 +74288,7 @@ public final class ContextOuterClass {
             if (opticalLinkUuid_ != null) {
                 output.writeMessage(1, getOpticalLinkUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -71336,7 +74300,7 @@ public final class ContextOuterClass {
             if (opticalLinkUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getOpticalLinkUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -71356,7 +74320,7 @@ public final class ContextOuterClass {
                 if (!getOpticalLinkUuid().equals(other.getOpticalLinkUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -71372,7 +74336,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + OPTICAL_LINK_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getOpticalLinkUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -71466,19 +74430,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.OpticalLinkId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                opticalLinkUuid_ = null;
-                if (opticalLinkUuidBuilder_ != null) {
-                    opticalLinkUuidBuilder_.dispose();
+                if (opticalLinkUuidBuilder_ == null) {
+                    opticalLinkUuid_ = null;
+                } else {
+                    opticalLinkUuid_ = null;
                     opticalLinkUuidBuilder_ = null;
                 }
                 return this;
@@ -71506,18 +74477,43 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.OpticalLinkId buildPartial() {
                 context.ContextOuterClass.OpticalLinkId result = new context.ContextOuterClass.OpticalLinkId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (opticalLinkUuidBuilder_ == null) {
+                    result.opticalLinkUuid_ = opticalLinkUuid_;
+                } else {
+                    result.opticalLinkUuid_ = opticalLinkUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.OpticalLinkId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.opticalLinkUuid_ = opticalLinkUuidBuilder_ == null ? opticalLinkUuid_ : opticalLinkUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -71536,7 +74532,7 @@ public final class ContextOuterClass {
                 if (other.hasOpticalLinkUuid()) {
                     mergeOpticalLinkUuid(other.getOpticalLinkUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -71548,47 +74544,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.OpticalLinkId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getOpticalLinkUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.OpticalLinkId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid opticalLinkUuid_;
 
             private com.google.protobuf.SingleFieldBuilderV3 opticalLinkUuidBuilder_;
@@ -71598,7 +74567,7 @@ public final class ContextOuterClass {
              * @return Whether the opticalLinkUuid field is set.
              */
             public boolean hasOpticalLinkUuid() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return opticalLinkUuidBuilder_ != null || opticalLinkUuid_ != null;
             }
 
             /**
@@ -71622,11 +74591,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     opticalLinkUuid_ = value;
+                    onChanged();
                 } else {
                     opticalLinkUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -71636,11 +74604,10 @@ public final class ContextOuterClass {
             public Builder setOpticalLinkUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (opticalLinkUuidBuilder_ == null) {
                     opticalLinkUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     opticalLinkUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -71649,16 +74616,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeOpticalLinkUuid(context.ContextOuterClass.Uuid value) {
                 if (opticalLinkUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && opticalLinkUuid_ != null && opticalLinkUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getOpticalLinkUuidBuilder().mergeFrom(value);
+                    if (opticalLinkUuid_ != null) {
+                        opticalLinkUuid_ = context.ContextOuterClass.Uuid.newBuilder(opticalLinkUuid_).mergeFrom(value).buildPartial();
                     } else {
                         opticalLinkUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     opticalLinkUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -71666,13 +74632,13 @@ public final class ContextOuterClass {
              * .context.Uuid optical_link_uuid = 1;
              */
             public Builder clearOpticalLinkUuid() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                opticalLinkUuid_ = null;
-                if (opticalLinkUuidBuilder_ != null) {
-                    opticalLinkUuidBuilder_.dispose();
+                if (opticalLinkUuidBuilder_ == null) {
+                    opticalLinkUuid_ = null;
+                    onChanged();
+                } else {
+                    opticalLinkUuid_ = null;
                     opticalLinkUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -71680,7 +74646,6 @@ public final class ContextOuterClass {
              * .context.Uuid optical_link_uuid = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getOpticalLinkUuidBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getOpticalLinkUuidFieldBuilder().getBuilder();
             }
@@ -71734,17 +74699,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public OpticalLinkId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new OpticalLinkId(input, extensionRegistry);
             }
         };
 
@@ -71806,6 +74761,57 @@ public final class ContextOuterClass {
             return new FiberId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private FiberId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (fiberUuid_ != null) {
+                                    subBuilder = fiberUuid_.toBuilder();
+                                }
+                                fiberUuid_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(fiberUuid_);
+                                    fiberUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_FiberId_descriptor;
         }
@@ -71842,7 +74848,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getFiberUuidOrBuilder() {
-            return fiberUuid_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : fiberUuid_;
+            return getFiberUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -71863,7 +74869,7 @@ public final class ContextOuterClass {
             if (fiberUuid_ != null) {
                 output.writeMessage(1, getFiberUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -71875,7 +74881,7 @@ public final class ContextOuterClass {
             if (fiberUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getFiberUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -71895,7 +74901,7 @@ public final class ContextOuterClass {
                 if (!getFiberUuid().equals(other.getFiberUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -71911,7 +74917,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + FIBER_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getFiberUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -72005,19 +75011,26 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.FiberId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                fiberUuid_ = null;
-                if (fiberUuidBuilder_ != null) {
-                    fiberUuidBuilder_.dispose();
+                if (fiberUuidBuilder_ == null) {
+                    fiberUuid_ = null;
+                } else {
+                    fiberUuid_ = null;
                     fiberUuidBuilder_ = null;
                 }
                 return this;
@@ -72045,18 +75058,43 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.FiberId buildPartial() {
                 context.ContextOuterClass.FiberId result = new context.ContextOuterClass.FiberId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (fiberUuidBuilder_ == null) {
+                    result.fiberUuid_ = fiberUuid_;
+                } else {
+                    result.fiberUuid_ = fiberUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.FiberId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.fiberUuid_ = fiberUuidBuilder_ == null ? fiberUuid_ : fiberUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -72075,7 +75113,7 @@ public final class ContextOuterClass {
                 if (other.hasFiberUuid()) {
                     mergeFiberUuid(other.getFiberUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -72087,47 +75125,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.FiberId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getFiberUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.FiberId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid fiberUuid_;
 
             private com.google.protobuf.SingleFieldBuilderV3 fiberUuidBuilder_;
@@ -72137,7 +75148,7 @@ public final class ContextOuterClass {
              * @return Whether the fiberUuid field is set.
              */
             public boolean hasFiberUuid() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return fiberUuidBuilder_ != null || fiberUuid_ != null;
             }
 
             /**
@@ -72161,11 +75172,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     fiberUuid_ = value;
+                    onChanged();
                 } else {
                     fiberUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -72175,11 +75185,10 @@ public final class ContextOuterClass {
             public Builder setFiberUuid(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (fiberUuidBuilder_ == null) {
                     fiberUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     fiberUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -72188,16 +75197,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeFiberUuid(context.ContextOuterClass.Uuid value) {
                 if (fiberUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && fiberUuid_ != null && fiberUuid_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getFiberUuidBuilder().mergeFrom(value);
+                    if (fiberUuid_ != null) {
+                        fiberUuid_ = context.ContextOuterClass.Uuid.newBuilder(fiberUuid_).mergeFrom(value).buildPartial();
                     } else {
                         fiberUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     fiberUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -72205,13 +75213,13 @@ public final class ContextOuterClass {
              * .context.Uuid fiber_uuid = 1;
              */
             public Builder clearFiberUuid() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                fiberUuid_ = null;
-                if (fiberUuidBuilder_ != null) {
-                    fiberUuidBuilder_.dispose();
+                if (fiberUuidBuilder_ == null) {
+                    fiberUuid_ = null;
+                    onChanged();
+                } else {
+                    fiberUuid_ = null;
                     fiberUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -72219,7 +75227,6 @@ public final class ContextOuterClass {
              * .context.Uuid fiber_uuid = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getFiberUuidBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getFiberUuidFieldBuilder().getBuilder();
             }
@@ -72273,17 +75280,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public FiberId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new FiberId(input, extensionRegistry);
             }
         };
 
@@ -72482,6 +75479,179 @@ public final class ContextOuterClass {
             return new Fiber();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Fiber(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                srcPort_ = s;
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                dstPort_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                localPeerPort_ = s;
+                                break;
+                            }
+                        case 34:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                remotePeerPort_ = s;
+                                break;
+                            }
+                        case 40:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    cSlots_ = newIntList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                cSlots_.addInt(input.readInt32());
+                                break;
+                            }
+                        case 42:
+                            {
+                                int length = input.readRawVarint32();
+                                int limit = input.pushLimit(length);
+                                if (!((mutable_bitField0_ & 0x00000001) != 0) && input.getBytesUntilLimit() > 0) {
+                                    cSlots_ = newIntList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                while (input.getBytesUntilLimit() > 0) {
+                                    cSlots_.addInt(input.readInt32());
+                                }
+                                input.popLimit(limit);
+                                break;
+                            }
+                        case 48:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000002) != 0)) {
+                                    lSlots_ = newIntList();
+                                    mutable_bitField0_ |= 0x00000002;
+                                }
+                                lSlots_.addInt(input.readInt32());
+                                break;
+                            }
+                        case 50:
+                            {
+                                int length = input.readRawVarint32();
+                                int limit = input.pushLimit(length);
+                                if (!((mutable_bitField0_ & 0x00000002) != 0) && input.getBytesUntilLimit() > 0) {
+                                    lSlots_ = newIntList();
+                                    mutable_bitField0_ |= 0x00000002;
+                                }
+                                while (input.getBytesUntilLimit() > 0) {
+                                    lSlots_.addInt(input.readInt32());
+                                }
+                                input.popLimit(limit);
+                                break;
+                            }
+                        case 56:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000004) != 0)) {
+                                    sSlots_ = newIntList();
+                                    mutable_bitField0_ |= 0x00000004;
+                                }
+                                sSlots_.addInt(input.readInt32());
+                                break;
+                            }
+                        case 58:
+                            {
+                                int length = input.readRawVarint32();
+                                int limit = input.pushLimit(length);
+                                if (!((mutable_bitField0_ & 0x00000004) != 0) && input.getBytesUntilLimit() > 0) {
+                                    sSlots_ = newIntList();
+                                    mutable_bitField0_ |= 0x00000004;
+                                }
+                                while (input.getBytesUntilLimit() > 0) {
+                                    sSlots_.addInt(input.readInt32());
+                                }
+                                input.popLimit(limit);
+                                break;
+                            }
+                        case 69:
+                            {
+                                length_ = input.readFloat();
+                                break;
+                            }
+                        case 72:
+                            {
+                                used_ = input.readBool();
+                                break;
+                            }
+                        case 82:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                iD_ = s;
+                                break;
+                            }
+                        case 90:
+                            {
+                                context.ContextOuterClass.FiberId.Builder subBuilder = null;
+                                if (fiberUuid_ != null) {
+                                    subBuilder = fiberUuid_.toBuilder();
+                                }
+                                fiberUuid_ = input.readMessage(context.ContextOuterClass.FiberId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(fiberUuid_);
+                                    fiberUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    // C
+                    cSlots_.makeImmutable();
+                }
+                if (((mutable_bitField0_ & 0x00000002) != 0)) {
+                    // C
+                    lSlots_.makeImmutable();
+                }
+                if (((mutable_bitField0_ & 0x00000004) != 0)) {
+                    // C
+                    sSlots_.makeImmutable();
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_Fiber_descriptor;
         }
@@ -72493,8 +75663,7 @@ public final class ContextOuterClass {
 
         public static final int ID_FIELD_NUMBER = 10;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object iD_ = "";
+        private volatile java.lang.Object iD_;
 
         /**
          * string ID = 10;
@@ -72531,8 +75700,7 @@ public final class ContextOuterClass {
 
         public static final int SRC_PORT_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object srcPort_ = "";
+        private volatile java.lang.Object srcPort_;
 
         /**
          * string src_port = 1;
@@ -72569,8 +75737,7 @@ public final class ContextOuterClass {
 
         public static final int DST_PORT_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object dstPort_ = "";
+        private volatile java.lang.Object dstPort_;
 
         /**
          * string dst_port = 2;
@@ -72607,8 +75774,7 @@ public final class ContextOuterClass {
 
         public static final int LOCAL_PEER_PORT_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object localPeerPort_ = "";
+        private volatile java.lang.Object localPeerPort_;
 
         /**
          * string local_peer_port = 3;
@@ -72645,8 +75811,7 @@ public final class ContextOuterClass {
 
         public static final int REMOTE_PEER_PORT_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object remotePeerPort_ = "";
+        private volatile java.lang.Object remotePeerPort_;
 
         /**
          * string remote_peer_port = 4;
@@ -72683,7 +75848,6 @@ public final class ContextOuterClass {
 
         public static final int C_SLOTS_FIELD_NUMBER = 5;
 
-        @SuppressWarnings("serial")
         private com.google.protobuf.Internal.IntList cSlots_;
 
         /**
@@ -72716,7 +75880,6 @@ public final class ContextOuterClass {
 
         public static final int L_SLOTS_FIELD_NUMBER = 6;
 
-        @SuppressWarnings("serial")
         private com.google.protobuf.Internal.IntList lSlots_;
 
         /**
@@ -72749,7 +75912,6 @@ public final class ContextOuterClass {
 
         public static final int S_SLOTS_FIELD_NUMBER = 7;
 
-        @SuppressWarnings("serial")
         private com.google.protobuf.Internal.IntList sSlots_;
 
         /**
@@ -72782,7 +75944,7 @@ public final class ContextOuterClass {
 
         public static final int LENGTH_FIELD_NUMBER = 8;
 
-        private float length_ = 0F;
+        private float length_;
 
         /**
          * float length = 8;
@@ -72795,7 +75957,7 @@ public final class ContextOuterClass {
 
         public static final int USED_FIELD_NUMBER = 9;
 
-        private boolean used_ = false;
+        private boolean used_;
 
         /**
          * bool used = 9;
@@ -72833,7 +75995,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.FiberIdOrBuilder getFiberUuidOrBuilder() {
-            return fiberUuid_ == null ? context.ContextOuterClass.FiberId.getDefaultInstance() : fiberUuid_;
+            return getFiberUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -72852,16 +76014,16 @@ public final class ContextOuterClass {
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
             getSerializedSize();
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcPort_)) {
+            if (!getSrcPortBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, srcPort_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstPort_)) {
+            if (!getDstPortBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, dstPort_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(localPeerPort_)) {
+            if (!getLocalPeerPortBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 3, localPeerPort_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(remotePeerPort_)) {
+            if (!getRemotePeerPortBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 4, remotePeerPort_);
             }
             if (getCSlotsList().size() > 0) {
@@ -72885,19 +76047,19 @@ public final class ContextOuterClass {
             for (int i = 0; i < sSlots_.size(); i++) {
                 output.writeInt32NoTag(sSlots_.getInt(i));
             }
-            if (java.lang.Float.floatToRawIntBits(length_) != 0) {
+            if (length_ != 0F) {
                 output.writeFloat(8, length_);
             }
             if (used_ != false) {
                 output.writeBool(9, used_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(iD_)) {
+            if (!getIDBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 10, iD_);
             }
             if (fiberUuid_ != null) {
                 output.writeMessage(11, getFiberUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -72906,16 +76068,16 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(srcPort_)) {
+            if (!getSrcPortBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, srcPort_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(dstPort_)) {
+            if (!getDstPortBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, dstPort_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(localPeerPort_)) {
+            if (!getLocalPeerPortBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, localPeerPort_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(remotePeerPort_)) {
+            if (!getRemotePeerPortBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, remotePeerPort_);
             }
             {
@@ -72954,19 +76116,19 @@ public final class ContextOuterClass {
                 }
                 sSlotsMemoizedSerializedSize = dataSize;
             }
-            if (java.lang.Float.floatToRawIntBits(length_) != 0) {
+            if (length_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(8, length_);
             }
             if (used_ != false) {
                 size += com.google.protobuf.CodedOutputStream.computeBoolSize(9, used_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(iD_)) {
+            if (!getIDBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, iD_);
             }
             if (fiberUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(11, getFiberUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -73006,7 +76168,7 @@ public final class ContextOuterClass {
                 if (!getFiberUuid().equals(other.getFiberUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -73048,7 +76210,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + FIBER_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getFiberUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -73142,29 +76304,39 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.Fiber.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 iD_ = "";
                 srcPort_ = "";
                 dstPort_ = "";
                 localPeerPort_ = "";
                 remotePeerPort_ = "";
                 cSlots_ = emptyIntList();
+                bitField0_ = (bitField0_ & ~0x00000001);
                 lSlots_ = emptyIntList();
+                bitField0_ = (bitField0_ & ~0x00000002);
                 sSlots_ = emptyIntList();
+                bitField0_ = (bitField0_ & ~0x00000004);
                 length_ = 0F;
                 used_ = false;
-                fiberUuid_ = null;
-                if (fiberUuidBuilder_ != null) {
-                    fiberUuidBuilder_.dispose();
+                if (fiberUuidBuilder_ == null) {
+                    fiberUuid_ = null;
+                } else {
+                    fiberUuid_ = null;
                     fiberUuidBuilder_ = null;
                 }
                 return this;
@@ -73192,58 +76364,66 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.Fiber buildPartial() {
                 context.ContextOuterClass.Fiber result = new context.ContextOuterClass.Fiber(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.Fiber result) {
-                if (((bitField0_ & 0x00000020) != 0)) {
+                int from_bitField0_ = bitField0_;
+                result.iD_ = iD_;
+                result.srcPort_ = srcPort_;
+                result.dstPort_ = dstPort_;
+                result.localPeerPort_ = localPeerPort_;
+                result.remotePeerPort_ = remotePeerPort_;
+                if (((bitField0_ & 0x00000001) != 0)) {
                     cSlots_.makeImmutable();
-                    bitField0_ = (bitField0_ & ~0x00000020);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 }
                 result.cSlots_ = cSlots_;
-                if (((bitField0_ & 0x00000040) != 0)) {
+                if (((bitField0_ & 0x00000002) != 0)) {
                     lSlots_.makeImmutable();
-                    bitField0_ = (bitField0_ & ~0x00000040);
+                    bitField0_ = (bitField0_ & ~0x00000002);
                 }
                 result.lSlots_ = lSlots_;
-                if (((bitField0_ & 0x00000080) != 0)) {
+                if (((bitField0_ & 0x00000004) != 0)) {
                     sSlots_.makeImmutable();
-                    bitField0_ = (bitField0_ & ~0x00000080);
+                    bitField0_ = (bitField0_ & ~0x00000004);
                 }
                 result.sSlots_ = sSlots_;
+                result.length_ = length_;
+                result.used_ = used_;
+                if (fiberUuidBuilder_ == null) {
+                    result.fiberUuid_ = fiberUuid_;
+                } else {
+                    result.fiberUuid_ = fiberUuidBuilder_.build();
+                }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.Fiber result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.iD_ = iD_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.srcPort_ = srcPort_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.dstPort_ = dstPort_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.localPeerPort_ = localPeerPort_;
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.remotePeerPort_ = remotePeerPort_;
-                }
-                if (((from_bitField0_ & 0x00000100) != 0)) {
-                    result.length_ = length_;
-                }
-                if (((from_bitField0_ & 0x00000200) != 0)) {
-                    result.used_ = used_;
-                }
-                if (((from_bitField0_ & 0x00000400) != 0)) {
-                    result.fiberUuid_ = fiberUuidBuilder_ == null ? fiberUuid_ : fiberUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -73261,33 +76441,28 @@ public final class ContextOuterClass {
                     return this;
                 if (!other.getID().isEmpty()) {
                     iD_ = other.iD_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
                 if (!other.getSrcPort().isEmpty()) {
                     srcPort_ = other.srcPort_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (!other.getDstPort().isEmpty()) {
                     dstPort_ = other.dstPort_;
-                    bitField0_ |= 0x00000004;
                     onChanged();
                 }
                 if (!other.getLocalPeerPort().isEmpty()) {
                     localPeerPort_ = other.localPeerPort_;
-                    bitField0_ |= 0x00000008;
                     onChanged();
                 }
                 if (!other.getRemotePeerPort().isEmpty()) {
                     remotePeerPort_ = other.remotePeerPort_;
-                    bitField0_ |= 0x00000010;
                     onChanged();
                 }
                 if (!other.cSlots_.isEmpty()) {
                     if (cSlots_.isEmpty()) {
                         cSlots_ = other.cSlots_;
-                        bitField0_ = (bitField0_ & ~0x00000020);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     } else {
                         ensureCSlotsIsMutable();
                         cSlots_.addAll(other.cSlots_);
@@ -73297,7 +76472,7 @@ public final class ContextOuterClass {
                 if (!other.lSlots_.isEmpty()) {
                     if (lSlots_.isEmpty()) {
                         lSlots_ = other.lSlots_;
-                        bitField0_ = (bitField0_ & ~0x00000040);
+                        bitField0_ = (bitField0_ & ~0x00000002);
                     } else {
                         ensureLSlotsIsMutable();
                         lSlots_.addAll(other.lSlots_);
@@ -73307,7 +76482,7 @@ public final class ContextOuterClass {
                 if (!other.sSlots_.isEmpty()) {
                     if (sSlots_.isEmpty()) {
                         sSlots_ = other.sSlots_;
-                        bitField0_ = (bitField0_ & ~0x00000080);
+                        bitField0_ = (bitField0_ & ~0x00000004);
                     } else {
                         ensureSSlotsIsMutable();
                         sSlots_.addAll(other.sSlots_);
@@ -73323,7 +76498,7 @@ public final class ContextOuterClass {
                 if (other.hasFiberUuid()) {
                     mergeFiberUuid(other.getFiberUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -73335,151 +76510,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.Fiber parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    srcPort_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    dstPort_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    localPeerPort_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    remotePeerPort_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 34
-                            case 40:
-                                {
-                                    int v = input.readInt32();
-                                    ensureCSlotsIsMutable();
-                                    cSlots_.addInt(v);
-                                    break;
-                                }
-                            // case 40
-                            case 42:
-                                {
-                                    int length = input.readRawVarint32();
-                                    int limit = input.pushLimit(length);
-                                    ensureCSlotsIsMutable();
-                                    while (input.getBytesUntilLimit() > 0) {
-                                        cSlots_.addInt(input.readInt32());
-                                    }
-                                    input.popLimit(limit);
-                                    break;
-                                }
-                            // case 42
-                            case 48:
-                                {
-                                    int v = input.readInt32();
-                                    ensureLSlotsIsMutable();
-                                    lSlots_.addInt(v);
-                                    break;
-                                }
-                            // case 48
-                            case 50:
-                                {
-                                    int length = input.readRawVarint32();
-                                    int limit = input.pushLimit(length);
-                                    ensureLSlotsIsMutable();
-                                    while (input.getBytesUntilLimit() > 0) {
-                                        lSlots_.addInt(input.readInt32());
-                                    }
-                                    input.popLimit(limit);
-                                    break;
-                                }
-                            // case 50
-                            case 56:
-                                {
-                                    int v = input.readInt32();
-                                    ensureSSlotsIsMutable();
-                                    sSlots_.addInt(v);
-                                    break;
-                                }
-                            // case 56
-                            case 58:
-                                {
-                                    int length = input.readRawVarint32();
-                                    int limit = input.pushLimit(length);
-                                    ensureSSlotsIsMutable();
-                                    while (input.getBytesUntilLimit() > 0) {
-                                        sSlots_.addInt(input.readInt32());
-                                    }
-                                    input.popLimit(limit);
-                                    break;
-                                }
-                            // case 58
-                            case 69:
-                                {
-                                    length_ = input.readFloat();
-                                    bitField0_ |= 0x00000100;
-                                    break;
-                                }
-                            // case 69
-                            case 72:
-                                {
-                                    used_ = input.readBool();
-                                    bitField0_ |= 0x00000200;
-                                    break;
-                                }
-                            // case 72
-                            case 82:
-                                {
-                                    iD_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 82
-                            case 90:
-                                {
-                                    input.readMessage(getFiberUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000400;
-                                    break;
-                                }
-                            // case 90
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.Fiber) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -73528,7 +76569,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 iD_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -73539,7 +76579,6 @@ public final class ContextOuterClass {
              */
             public Builder clearID() {
                 iD_ = getDefaultInstance().getID();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -73555,7 +76594,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 iD_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -73603,7 +76641,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 srcPort_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -73614,7 +76651,6 @@ public final class ContextOuterClass {
              */
             public Builder clearSrcPort() {
                 srcPort_ = getDefaultInstance().getSrcPort();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -73630,7 +76666,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 srcPort_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -73678,7 +76713,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 dstPort_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -73689,7 +76723,6 @@ public final class ContextOuterClass {
              */
             public Builder clearDstPort() {
                 dstPort_ = getDefaultInstance().getDstPort();
-                bitField0_ = (bitField0_ & ~0x00000004);
                 onChanged();
                 return this;
             }
@@ -73705,7 +76738,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 dstPort_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -73753,7 +76785,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 localPeerPort_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -73764,7 +76795,6 @@ public final class ContextOuterClass {
              */
             public Builder clearLocalPeerPort() {
                 localPeerPort_ = getDefaultInstance().getLocalPeerPort();
-                bitField0_ = (bitField0_ & ~0x00000008);
                 onChanged();
                 return this;
             }
@@ -73780,7 +76810,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 localPeerPort_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -73828,7 +76857,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 remotePeerPort_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -73839,7 +76867,6 @@ public final class ContextOuterClass {
              */
             public Builder clearRemotePeerPort() {
                 remotePeerPort_ = getDefaultInstance().getRemotePeerPort();
-                bitField0_ = (bitField0_ & ~0x00000010);
                 onChanged();
                 return this;
             }
@@ -73855,7 +76882,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 remotePeerPort_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -73863,9 +76889,9 @@ public final class ContextOuterClass {
             private com.google.protobuf.Internal.IntList cSlots_ = emptyIntList();
 
             private void ensureCSlotsIsMutable() {
-                if (!((bitField0_ & 0x00000020) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     cSlots_ = mutableCopy(cSlots_);
-                    bitField0_ |= 0x00000020;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -73874,7 +76900,7 @@ public final class ContextOuterClass {
              * @return A list containing the cSlots.
              */
             public java.util.List getCSlotsList() {
-                return ((bitField0_ & 0x00000020) != 0) ? java.util.Collections.unmodifiableList(cSlots_) : cSlots_;
+                return ((bitField0_ & 0x00000001) != 0) ? java.util.Collections.unmodifiableList(cSlots_) : cSlots_;
             }
 
             /**
@@ -73937,7 +76963,7 @@ public final class ContextOuterClass {
              */
             public Builder clearCSlots() {
                 cSlots_ = emptyIntList();
-                bitField0_ = (bitField0_ & ~0x00000020);
+                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -73945,9 +76971,9 @@ public final class ContextOuterClass {
             private com.google.protobuf.Internal.IntList lSlots_ = emptyIntList();
 
             private void ensureLSlotsIsMutable() {
-                if (!((bitField0_ & 0x00000040) != 0)) {
+                if (!((bitField0_ & 0x00000002) != 0)) {
                     lSlots_ = mutableCopy(lSlots_);
-                    bitField0_ |= 0x00000040;
+                    bitField0_ |= 0x00000002;
                 }
             }
 
@@ -73956,7 +76982,7 @@ public final class ContextOuterClass {
              * @return A list containing the lSlots.
              */
             public java.util.List getLSlotsList() {
-                return ((bitField0_ & 0x00000040) != 0) ? java.util.Collections.unmodifiableList(lSlots_) : lSlots_;
+                return ((bitField0_ & 0x00000002) != 0) ? java.util.Collections.unmodifiableList(lSlots_) : lSlots_;
             }
 
             /**
@@ -74019,7 +77045,7 @@ public final class ContextOuterClass {
              */
             public Builder clearLSlots() {
                 lSlots_ = emptyIntList();
-                bitField0_ = (bitField0_ & ~0x00000040);
+                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -74027,9 +77053,9 @@ public final class ContextOuterClass {
             private com.google.protobuf.Internal.IntList sSlots_ = emptyIntList();
 
             private void ensureSSlotsIsMutable() {
-                if (!((bitField0_ & 0x00000080) != 0)) {
+                if (!((bitField0_ & 0x00000004) != 0)) {
                     sSlots_ = mutableCopy(sSlots_);
-                    bitField0_ |= 0x00000080;
+                    bitField0_ |= 0x00000004;
                 }
             }
 
@@ -74038,7 +77064,7 @@ public final class ContextOuterClass {
              * @return A list containing the sSlots.
              */
             public java.util.List getSSlotsList() {
-                return ((bitField0_ & 0x00000080) != 0) ? java.util.Collections.unmodifiableList(sSlots_) : sSlots_;
+                return ((bitField0_ & 0x00000004) != 0) ? java.util.Collections.unmodifiableList(sSlots_) : sSlots_;
             }
 
             /**
@@ -74101,7 +77127,7 @@ public final class ContextOuterClass {
              */
             public Builder clearSSlots() {
                 sSlots_ = emptyIntList();
-                bitField0_ = (bitField0_ & ~0x00000080);
+                bitField0_ = (bitField0_ & ~0x00000004);
                 onChanged();
                 return this;
             }
@@ -74124,7 +77150,6 @@ public final class ContextOuterClass {
              */
             public Builder setLength(float value) {
                 length_ = value;
-                bitField0_ |= 0x00000100;
                 onChanged();
                 return this;
             }
@@ -74134,7 +77159,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearLength() {
-                bitField0_ = (bitField0_ & ~0x00000100);
                 length_ = 0F;
                 onChanged();
                 return this;
@@ -74158,7 +77182,6 @@ public final class ContextOuterClass {
              */
             public Builder setUsed(boolean value) {
                 used_ = value;
-                bitField0_ |= 0x00000200;
                 onChanged();
                 return this;
             }
@@ -74168,7 +77191,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearUsed() {
-                bitField0_ = (bitField0_ & ~0x00000200);
                 used_ = false;
                 onChanged();
                 return this;
@@ -74183,7 +77205,7 @@ public final class ContextOuterClass {
              * @return Whether the fiberUuid field is set.
              */
             public boolean hasFiberUuid() {
-                return ((bitField0_ & 0x00000400) != 0);
+                return fiberUuidBuilder_ != null || fiberUuid_ != null;
             }
 
             /**
@@ -74207,11 +77229,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     fiberUuid_ = value;
+                    onChanged();
                 } else {
                     fiberUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000400;
-                onChanged();
                 return this;
             }
 
@@ -74221,11 +77242,10 @@ public final class ContextOuterClass {
             public Builder setFiberUuid(context.ContextOuterClass.FiberId.Builder builderForValue) {
                 if (fiberUuidBuilder_ == null) {
                     fiberUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     fiberUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000400;
-                onChanged();
                 return this;
             }
 
@@ -74234,16 +77254,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeFiberUuid(context.ContextOuterClass.FiberId value) {
                 if (fiberUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000400) != 0) && fiberUuid_ != null && fiberUuid_ != context.ContextOuterClass.FiberId.getDefaultInstance()) {
-                        getFiberUuidBuilder().mergeFrom(value);
+                    if (fiberUuid_ != null) {
+                        fiberUuid_ = context.ContextOuterClass.FiberId.newBuilder(fiberUuid_).mergeFrom(value).buildPartial();
                     } else {
                         fiberUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     fiberUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000400;
-                onChanged();
                 return this;
             }
 
@@ -74251,13 +77270,13 @@ public final class ContextOuterClass {
              * .context.FiberId fiber_uuid = 11;
              */
             public Builder clearFiberUuid() {
-                bitField0_ = (bitField0_ & ~0x00000400);
-                fiberUuid_ = null;
-                if (fiberUuidBuilder_ != null) {
-                    fiberUuidBuilder_.dispose();
+                if (fiberUuidBuilder_ == null) {
+                    fiberUuid_ = null;
+                    onChanged();
+                } else {
+                    fiberUuid_ = null;
                     fiberUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -74265,7 +77284,6 @@ public final class ContextOuterClass {
              * .context.FiberId fiber_uuid = 11;
              */
             public context.ContextOuterClass.FiberId.Builder getFiberUuidBuilder() {
-                bitField0_ |= 0x00000400;
                 onChanged();
                 return getFiberUuidFieldBuilder().getBuilder();
             }
@@ -74319,17 +77337,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Fiber parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Fiber(input, extensionRegistry);
             }
         };
 
@@ -74432,6 +77440,74 @@ public final class ContextOuterClass {
             return new OpticalLinkDetails();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private OpticalLinkDetails(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 13:
+                            {
+                                length_ = input.readFloat();
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                source_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                target_ = s;
+                                break;
+                            }
+                        case 34:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    fibers_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                fibers_.add(input.readMessage(context.ContextOuterClass.Fiber.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    fibers_ = java.util.Collections.unmodifiableList(fibers_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_OpticalLinkDetails_descriptor;
         }
@@ -74443,7 +77519,7 @@ public final class ContextOuterClass {
 
         public static final int LENGTH_FIELD_NUMBER = 1;
 
-        private float length_ = 0F;
+        private float length_;
 
         /**
          * float length = 1;
@@ -74456,8 +77532,7 @@ public final class ContextOuterClass {
 
         public static final int SOURCE_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object source_ = "";
+        private volatile java.lang.Object source_;
 
         /**
          * string source = 2;
@@ -74494,8 +77569,7 @@ public final class ContextOuterClass {
 
         public static final int TARGET_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object target_ = "";
+        private volatile java.lang.Object target_;
 
         /**
          * string target = 3;
@@ -74532,7 +77606,6 @@ public final class ContextOuterClass {
 
         public static final int FIBERS_FIELD_NUMBER = 4;
 
-        @SuppressWarnings("serial")
         private java.util.List fibers_;
 
         /**
@@ -74590,19 +77663,19 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (java.lang.Float.floatToRawIntBits(length_) != 0) {
+            if (length_ != 0F) {
                 output.writeFloat(1, length_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(source_)) {
+            if (!getSourceBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, source_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(target_)) {
+            if (!getTargetBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 3, target_);
             }
             for (int i = 0; i < fibers_.size(); i++) {
                 output.writeMessage(4, fibers_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -74611,19 +77684,19 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (java.lang.Float.floatToRawIntBits(length_) != 0) {
+            if (length_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(1, length_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(source_)) {
+            if (!getSourceBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, source_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(target_)) {
+            if (!getTargetBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, target_);
             }
             for (int i = 0; i < fibers_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, fibers_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -74645,7 +77718,7 @@ public final class ContextOuterClass {
                 return false;
             if (!getFibersList().equals(other.getFibersList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -74667,7 +77740,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + FIBERS_FIELD_NUMBER;
                 hash = (53 * hash) + getFibersList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -74761,26 +77834,32 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.OpticalLinkDetails.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getFibersFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 length_ = 0F;
                 source_ = "";
                 target_ = "";
                 if (fibersBuilder_ == null) {
                     fibers_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    fibers_ = null;
                     fibersBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000008);
                 return this;
             }
 
@@ -74806,37 +77885,51 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.OpticalLinkDetails buildPartial() {
                 context.ContextOuterClass.OpticalLinkDetails result = new context.ContextOuterClass.OpticalLinkDetails(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(context.ContextOuterClass.OpticalLinkDetails result) {
+                int from_bitField0_ = bitField0_;
+                result.length_ = length_;
+                result.source_ = source_;
+                result.target_ = target_;
                 if (fibersBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         fibers_ = java.util.Collections.unmodifiableList(fibers_);
-                        bitField0_ = (bitField0_ & ~0x00000008);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.fibers_ = fibers_;
                 } else {
                     result.fibers_ = fibersBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.OpticalLinkDetails result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.length_ = length_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.source_ = source_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.target_ = target_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -74857,19 +77950,17 @@ public final class ContextOuterClass {
                 }
                 if (!other.getSource().isEmpty()) {
                     source_ = other.source_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (!other.getTarget().isEmpty()) {
                     target_ = other.target_;
-                    bitField0_ |= 0x00000004;
                     onChanged();
                 }
                 if (fibersBuilder_ == null) {
                     if (!other.fibers_.isEmpty()) {
                         if (fibers_.isEmpty()) {
                             fibers_ = other.fibers_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureFibersIsMutable();
                             fibers_.addAll(other.fibers_);
@@ -74882,14 +77973,14 @@ public final class ContextOuterClass {
                             fibersBuilder_.dispose();
                             fibersBuilder_ = null;
                             fibers_ = other.fibers_;
-                            bitField0_ = (bitField0_ & ~0x00000008);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             fibersBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getFibersFieldBuilder() : null;
                         } else {
                             fibersBuilder_.addAllMessages(other.fibers_);
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -74901,68 +77992,17 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.OpticalLinkDetails parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 13:
-                                {
-                                    length_ = input.readFloat();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 13
-                            case 18:
-                                {
-                                    source_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    target_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    context.ContextOuterClass.Fiber m = input.readMessage(context.ContextOuterClass.Fiber.parser(), extensionRegistry);
-                                    if (fibersBuilder_ == null) {
-                                        ensureFibersIsMutable();
-                                        fibers_.add(m);
-                                    } else {
-                                        fibersBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 34
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.OpticalLinkDetails) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -74986,7 +78026,6 @@ public final class ContextOuterClass {
              */
             public Builder setLength(float value) {
                 length_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -74996,7 +78035,6 @@ public final class ContextOuterClass {
              * @return This builder for chaining.
              */
             public Builder clearLength() {
-                bitField0_ = (bitField0_ & ~0x00000001);
                 length_ = 0F;
                 onChanged();
                 return this;
@@ -75045,7 +78083,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 source_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -75056,7 +78093,6 @@ public final class ContextOuterClass {
              */
             public Builder clearSource() {
                 source_ = getDefaultInstance().getSource();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -75072,7 +78108,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 source_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -75120,7 +78155,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 target_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -75131,7 +78165,6 @@ public final class ContextOuterClass {
              */
             public Builder clearTarget() {
                 target_ = getDefaultInstance().getTarget();
-                bitField0_ = (bitField0_ & ~0x00000004);
                 onChanged();
                 return this;
             }
@@ -75147,7 +78180,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 target_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -75155,9 +78187,9 @@ public final class ContextOuterClass {
             private java.util.List fibers_ = java.util.Collections.emptyList();
 
             private void ensureFibersIsMutable() {
-                if (!((bitField0_ & 0x00000008) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     fibers_ = new java.util.ArrayList(fibers_);
-                    bitField0_ |= 0x00000008;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -75309,7 +78341,7 @@ public final class ContextOuterClass {
             public Builder clearFibers() {
                 if (fibersBuilder_ == null) {
                     fibers_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000008);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     fibersBuilder_.clear();
@@ -75383,7 +78415,7 @@ public final class ContextOuterClass {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getFibersFieldBuilder() {
                 if (fibersBuilder_ == null) {
-                    fibersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(fibers_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
+                    fibersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(fibers_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     fibers_ = null;
                 }
                 return fibersBuilder_;
@@ -75416,17 +78448,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public OpticalLinkDetails parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new OpticalLinkDetails(input, extensionRegistry);
             }
         };
 
@@ -75518,6 +78540,76 @@ public final class ContextOuterClass {
             return new OpticalLink();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private OpticalLink(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.OpticalLinkDetails.Builder subBuilder = null;
+                                if (details_ != null) {
+                                    subBuilder = details_.toBuilder();
+                                }
+                                details_ = input.readMessage(context.ContextOuterClass.OpticalLinkDetails.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(details_);
+                                    details_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 26:
+                            {
+                                context.ContextOuterClass.OpticalLinkId.Builder subBuilder = null;
+                                if (opticalLinkUuid_ != null) {
+                                    subBuilder = opticalLinkUuid_.toBuilder();
+                                }
+                                opticalLinkUuid_ = input.readMessage(context.ContextOuterClass.OpticalLinkId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(opticalLinkUuid_);
+                                    opticalLinkUuid_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return context.ContextOuterClass.internal_static_context_OpticalLink_descriptor;
         }
@@ -75529,8 +78621,7 @@ public final class ContextOuterClass {
 
         public static final int NAME_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 1;
@@ -75592,7 +78683,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.OpticalLinkDetailsOrBuilder getDetailsOrBuilder() {
-            return details_ == null ? context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance() : details_;
+            return getDetails();
         }
 
         public static final int OPTICAL_LINK_UUID_FIELD_NUMBER = 3;
@@ -75622,7 +78713,7 @@ public final class ContextOuterClass {
          */
         @java.lang.Override
         public context.ContextOuterClass.OpticalLinkIdOrBuilder getOpticalLinkUuidOrBuilder() {
-            return opticalLinkUuid_ == null ? context.ContextOuterClass.OpticalLinkId.getDefaultInstance() : opticalLinkUuid_;
+            return getOpticalLinkUuid();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -75640,7 +78731,7 @@ public final class ContextOuterClass {
 
         @java.lang.Override
         public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
             }
             if (details_ != null) {
@@ -75649,7 +78740,7 @@ public final class ContextOuterClass {
             if (opticalLinkUuid_ != null) {
                 output.writeMessage(3, getOpticalLinkUuid());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -75658,7 +78749,7 @@ public final class ContextOuterClass {
             if (size != -1)
                 return size;
             size = 0;
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
             }
             if (details_ != null) {
@@ -75667,7 +78758,7 @@ public final class ContextOuterClass {
             if (opticalLinkUuid_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getOpticalLinkUuid());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -75695,7 +78786,7 @@ public final class ContextOuterClass {
                 if (!getOpticalLinkUuid().equals(other.getOpticalLinkUuid()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -75717,7 +78808,7 @@ public final class ContextOuterClass {
                 hash = (37 * hash) + OPTICAL_LINK_UUID_FIELD_NUMBER;
                 hash = (53 * hash) + getOpticalLinkUuid().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -75811,25 +78902,33 @@ public final class ContextOuterClass {
 
             // Construct using context.ContextOuterClass.OpticalLink.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 name_ = "";
-                details_ = null;
-                if (detailsBuilder_ != null) {
-                    detailsBuilder_.dispose();
+                if (detailsBuilder_ == null) {
+                    details_ = null;
+                } else {
+                    details_ = null;
                     detailsBuilder_ = null;
                 }
-                opticalLinkUuid_ = null;
-                if (opticalLinkUuidBuilder_ != null) {
-                    opticalLinkUuidBuilder_.dispose();
+                if (opticalLinkUuidBuilder_ == null) {
+                    opticalLinkUuid_ = null;
+                } else {
+                    opticalLinkUuid_ = null;
                     opticalLinkUuidBuilder_ = null;
                 }
                 return this;
@@ -75857,24 +78956,49 @@ public final class ContextOuterClass {
             @java.lang.Override
             public context.ContextOuterClass.OpticalLink buildPartial() {
                 context.ContextOuterClass.OpticalLink result = new context.ContextOuterClass.OpticalLink(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                result.name_ = name_;
+                if (detailsBuilder_ == null) {
+                    result.details_ = details_;
+                } else {
+                    result.details_ = detailsBuilder_.build();
+                }
+                if (opticalLinkUuidBuilder_ == null) {
+                    result.opticalLinkUuid_ = opticalLinkUuid_;
+                } else {
+                    result.opticalLinkUuid_ = opticalLinkUuidBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(context.ContextOuterClass.OpticalLink result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.name_ = name_;
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.details_ = detailsBuilder_ == null ? details_ : detailsBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.opticalLinkUuid_ = opticalLinkUuidBuilder_ == null ? opticalLinkUuid_ : opticalLinkUuidBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -75892,7 +79016,6 @@ public final class ContextOuterClass {
                     return this;
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000001;
                     onChanged();
                 }
                 if (other.hasDetails()) {
@@ -75901,7 +79024,7 @@ public final class ContextOuterClass {
                 if (other.hasOpticalLinkUuid()) {
                     mergeOpticalLinkUuid(other.getOpticalLinkUuid());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -75913,61 +79036,20 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                context.ContextOuterClass.OpticalLink parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getDetailsFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    input.readMessage(getOpticalLinkUuidFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (context.ContextOuterClass.OpticalLink) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private java.lang.Object name_ = "";
 
             /**
@@ -76011,7 +79093,6 @@ public final class ContextOuterClass {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -76022,7 +79103,6 @@ public final class ContextOuterClass {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000001);
                 onChanged();
                 return this;
             }
@@ -76038,7 +79118,6 @@ public final class ContextOuterClass {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -76052,7 +79131,7 @@ public final class ContextOuterClass {
              * @return Whether the details field is set.
              */
             public boolean hasDetails() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return detailsBuilder_ != null || details_ != null;
             }
 
             /**
@@ -76076,11 +79155,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     details_ = value;
+                    onChanged();
                 } else {
                     detailsBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -76090,11 +79168,10 @@ public final class ContextOuterClass {
             public Builder setDetails(context.ContextOuterClass.OpticalLinkDetails.Builder builderForValue) {
                 if (detailsBuilder_ == null) {
                     details_ = builderForValue.build();
+                    onChanged();
                 } else {
                     detailsBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -76103,16 +79180,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeDetails(context.ContextOuterClass.OpticalLinkDetails value) {
                 if (detailsBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && details_ != null && details_ != context.ContextOuterClass.OpticalLinkDetails.getDefaultInstance()) {
-                        getDetailsBuilder().mergeFrom(value);
+                    if (details_ != null) {
+                        details_ = context.ContextOuterClass.OpticalLinkDetails.newBuilder(details_).mergeFrom(value).buildPartial();
                     } else {
                         details_ = value;
                     }
+                    onChanged();
                 } else {
                     detailsBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -76120,13 +79196,13 @@ public final class ContextOuterClass {
              * .context.OpticalLinkDetails details = 2;
              */
             public Builder clearDetails() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                details_ = null;
-                if (detailsBuilder_ != null) {
-                    detailsBuilder_.dispose();
+                if (detailsBuilder_ == null) {
+                    details_ = null;
+                    onChanged();
+                } else {
+                    details_ = null;
                     detailsBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -76134,7 +79210,6 @@ public final class ContextOuterClass {
              * .context.OpticalLinkDetails details = 2;
              */
             public context.ContextOuterClass.OpticalLinkDetails.Builder getDetailsBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getDetailsFieldBuilder().getBuilder();
             }
@@ -76170,7 +79245,7 @@ public final class ContextOuterClass {
              * @return Whether the opticalLinkUuid field is set.
              */
             public boolean hasOpticalLinkUuid() {
-                return ((bitField0_ & 0x00000004) != 0);
+                return opticalLinkUuidBuilder_ != null || opticalLinkUuid_ != null;
             }
 
             /**
@@ -76194,11 +79269,10 @@ public final class ContextOuterClass {
                         throw new NullPointerException();
                     }
                     opticalLinkUuid_ = value;
+                    onChanged();
                 } else {
                     opticalLinkUuidBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -76208,11 +79282,10 @@ public final class ContextOuterClass {
             public Builder setOpticalLinkUuid(context.ContextOuterClass.OpticalLinkId.Builder builderForValue) {
                 if (opticalLinkUuidBuilder_ == null) {
                     opticalLinkUuid_ = builderForValue.build();
+                    onChanged();
                 } else {
                     opticalLinkUuidBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -76221,16 +79294,15 @@ public final class ContextOuterClass {
              */
             public Builder mergeOpticalLinkUuid(context.ContextOuterClass.OpticalLinkId value) {
                 if (opticalLinkUuidBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0) && opticalLinkUuid_ != null && opticalLinkUuid_ != context.ContextOuterClass.OpticalLinkId.getDefaultInstance()) {
-                        getOpticalLinkUuidBuilder().mergeFrom(value);
+                    if (opticalLinkUuid_ != null) {
+                        opticalLinkUuid_ = context.ContextOuterClass.OpticalLinkId.newBuilder(opticalLinkUuid_).mergeFrom(value).buildPartial();
                     } else {
                         opticalLinkUuid_ = value;
                     }
+                    onChanged();
                 } else {
                     opticalLinkUuidBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -76238,13 +79310,13 @@ public final class ContextOuterClass {
              * .context.OpticalLinkId optical_link_uuid = 3;
              */
             public Builder clearOpticalLinkUuid() {
-                bitField0_ = (bitField0_ & ~0x00000004);
-                opticalLinkUuid_ = null;
-                if (opticalLinkUuidBuilder_ != null) {
-                    opticalLinkUuidBuilder_.dispose();
+                if (opticalLinkUuidBuilder_ == null) {
+                    opticalLinkUuid_ = null;
+                    onChanged();
+                } else {
+                    opticalLinkUuid_ = null;
                     opticalLinkUuidBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -76252,7 +79324,6 @@ public final class ContextOuterClass {
              * .context.OpticalLinkId optical_link_uuid = 3;
              */
             public context.ContextOuterClass.OpticalLinkId.Builder getOpticalLinkUuidBuilder() {
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return getOpticalLinkUuidFieldBuilder().getBuilder();
             }
@@ -76306,17 +79377,7 @@ public final class ContextOuterClass {
 
             @java.lang.Override
             public OpticalLink parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new OpticalLink(input, extensionRegistry);
             }
         };
 
@@ -76690,7 +79751,7 @@ public final class ContextOuterClass {
     private static com.google.protobuf.Descriptors.FileDescriptor descriptor;
 
     static {
-        java.lang.String[] descriptorData = { "\n\rcontext.proto\022\007context\032\tacl.proto\032\026kpi" + "_sample_types.proto\"\007\n\005Empty\"\024\n\004Uuid\022\014\n\004" + "uuid\030\001 \001(\t\"\036\n\tTimestamp\022\021\n\ttimestamp\030\001 \001" + "(\001\"Z\n\005Event\022%\n\ttimestamp\030\001 \001(\0132\022.context" + ".Timestamp\022*\n\nevent_type\030\002 \001(\0162\026.context" + ".EventTypeEnum\"0\n\tContextId\022#\n\014context_u" + "uid\030\001 \001(\0132\r.context.Uuid\"\351\001\n\007Context\022&\n\n" + "context_id\030\001 \001(\0132\022.context.ContextId\022\014\n\004" + "name\030\002 \001(\t\022)\n\014topology_ids\030\003 \003(\0132\023.conte" + "xt.TopologyId\022\'\n\013service_ids\030\004 \003(\0132\022.con" + "text.ServiceId\022#\n\tslice_ids\030\005 \003(\0132\020.cont" + "ext.SliceId\022/\n\ncontroller\030\006 \001(\0132\033.contex" + "t.TeraFlowController\"8\n\rContextIdList\022\'\n" + "\013context_ids\030\001 \003(\0132\022.context.ContextId\"1" + "\n\013ContextList\022\"\n\010contexts\030\001 \003(\0132\020.contex" + "t.Context\"U\n\014ContextEvent\022\035\n\005event\030\001 \001(\013" + "2\016.context.Event\022&\n\ncontext_id\030\002 \001(\0132\022.c" + "ontext.ContextId\"Z\n\nTopologyId\022&\n\ncontex" + "t_id\030\001 \001(\0132\022.context.ContextId\022$\n\rtopolo" + "gy_uuid\030\002 \001(\0132\r.context.Uuid\"\214\001\n\010Topolog" + "y\022(\n\013topology_id\030\001 \001(\0132\023.context.Topolog" + "yId\022\014\n\004name\030\002 \001(\t\022%\n\ndevice_ids\030\003 \003(\0132\021." + "context.DeviceId\022!\n\010link_ids\030\004 \003(\0132\017.con" + "text.LinkId\"\211\001\n\017TopologyDetails\022(\n\013topol" + "ogy_id\030\001 \001(\0132\023.context.TopologyId\022\014\n\004nam" + "e\030\002 \001(\t\022 \n\007devices\030\003 \003(\0132\017.context.Devic" + "e\022\034\n\005links\030\004 \003(\0132\r.context.Link\";\n\016Topol" + "ogyIdList\022)\n\014topology_ids\030\001 \003(\0132\023.contex" + "t.TopologyId\"5\n\014TopologyList\022%\n\ntopologi" + "es\030\001 \003(\0132\021.context.Topology\"X\n\rTopologyE" + "vent\022\035\n\005event\030\001 \001(\0132\016.context.Event\022(\n\013t" + "opology_id\030\002 \001(\0132\023.context.TopologyId\".\n" + "\010DeviceId\022\"\n\013device_uuid\030\001 \001(\0132\r.context" + ".Uuid\"\372\002\n\006Device\022$\n\tdevice_id\030\001 \001(\0132\021.co" + "ntext.DeviceId\022\014\n\004name\030\002 \001(\t\022\023\n\013device_t" + "ype\030\003 \001(\t\022,\n\rdevice_config\030\004 \001(\0132\025.conte" + "xt.DeviceConfig\022G\n\031device_operational_st" + "atus\030\005 \001(\0162$.context.DeviceOperationalSt" + "atusEnum\0221\n\016device_drivers\030\006 \003(\0162\031.conte" + "xt.DeviceDriverEnum\022+\n\020device_endpoints\030" + "\007 \003(\0132\021.context.EndPoint\022&\n\ncomponents\030\010" + " \003(\0132\022.context.Component\022(\n\rcontroller_i" + "d\030\t \001(\0132\021.context.DeviceId\"\311\001\n\tComponent" + "\022%\n\016component_uuid\030\001 \001(\0132\r.context.Uuid\022" + "\014\n\004name\030\002 \001(\t\022\014\n\004type\030\003 \001(\t\0226\n\nattribute" + "s\030\004 \003(\0132\".context.Component.AttributesEn" + "try\022\016\n\006parent\030\005 \001(\t\0321\n\017AttributesEntry\022\013" + "\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"9\n\014Device" + "Config\022)\n\014config_rules\030\001 \003(\0132\023.context.C" + "onfigRule\"5\n\014DeviceIdList\022%\n\ndevice_ids\030" + "\001 \003(\0132\021.context.DeviceId\".\n\nDeviceList\022 " + "\n\007devices\030\001 \003(\0132\017.context.Device\"\216\001\n\014Dev" + "iceFilter\022)\n\ndevice_ids\030\001 \001(\0132\025.context." + "DeviceIdList\022\031\n\021include_endpoints\030\002 \001(\010\022" + "\034\n\024include_config_rules\030\003 \001(\010\022\032\n\022include" + "_components\030\004 \001(\010\"\200\001\n\013DeviceEvent\022\035\n\005eve" + "nt\030\001 \001(\0132\016.context.Event\022$\n\tdevice_id\030\002 " + "\001(\0132\021.context.DeviceId\022,\n\rdevice_config\030" + "\003 \001(\0132\025.context.DeviceConfig\"*\n\006LinkId\022 " + "\n\tlink_uuid\030\001 \001(\0132\r.context.Uuid\"I\n\016Link" + "Attributes\022\033\n\023total_capacity_gbps\030\001 \001(\002\022" + "\032\n\022used_capacity_gbps\030\002 \001(\002\"\223\001\n\004Link\022 \n\007" + "link_id\030\001 \001(\0132\017.context.LinkId\022\014\n\004name\030\002" + " \001(\t\022.\n\021link_endpoint_ids\030\003 \003(\0132\023.contex" + "t.EndPointId\022+\n\nattributes\030\004 \001(\0132\027.conte" + "xt.LinkAttributes\"/\n\nLinkIdList\022!\n\010link_" + "ids\030\001 \003(\0132\017.context.LinkId\"(\n\010LinkList\022\034" + "\n\005links\030\001 \003(\0132\r.context.Link\"L\n\tLinkEven" + "t\022\035\n\005event\030\001 \001(\0132\016.context.Event\022 \n\007link" + "_id\030\002 \001(\0132\017.context.LinkId\"X\n\tServiceId\022" + "&\n\ncontext_id\030\001 \001(\0132\022.context.ContextId\022" + "#\n\014service_uuid\030\002 \001(\0132\r.context.Uuid\"\333\002\n" + "\007Service\022&\n\nservice_id\030\001 \001(\0132\022.context.S" + "erviceId\022\014\n\004name\030\002 \001(\t\022.\n\014service_type\030\003" + " \001(\0162\030.context.ServiceTypeEnum\0221\n\024servic" + "e_endpoint_ids\030\004 \003(\0132\023.context.EndPointI" + "d\0220\n\023service_constraints\030\005 \003(\0132\023.context" + ".Constraint\022.\n\016service_status\030\006 \001(\0132\026.co" + "ntext.ServiceStatus\022.\n\016service_config\030\007 " + "\001(\0132\026.context.ServiceConfig\022%\n\ttimestamp" + "\030\010 \001(\0132\022.context.Timestamp\"C\n\rServiceSta" + "tus\0222\n\016service_status\030\001 \001(\0162\032.context.Se" + "rviceStatusEnum\":\n\rServiceConfig\022)\n\014conf" + "ig_rules\030\001 \003(\0132\023.context.ConfigRule\"8\n\rS" + "erviceIdList\022\'\n\013service_ids\030\001 \003(\0132\022.cont" + "ext.ServiceId\"1\n\013ServiceList\022\"\n\010services" + "\030\001 \003(\0132\020.context.Service\"\225\001\n\rServiceFilt" + "er\022+\n\013service_ids\030\001 \001(\0132\026.context.Servic" + "eIdList\022\034\n\024include_endpoint_ids\030\002 \001(\010\022\033\n" + "\023include_constraints\030\003 \001(\010\022\034\n\024include_co" + "nfig_rules\030\004 \001(\010\"U\n\014ServiceEvent\022\035\n\005even" + "t\030\001 \001(\0132\016.context.Event\022&\n\nservice_id\030\002 " + "\001(\0132\022.context.ServiceId\"T\n\007SliceId\022&\n\nco" + "ntext_id\030\001 \001(\0132\022.context.ContextId\022!\n\nsl" + "ice_uuid\030\002 \001(\0132\r.context.Uuid\"\240\003\n\005Slice\022" + "\"\n\010slice_id\030\001 \001(\0132\020.context.SliceId\022\014\n\004n" + "ame\030\002 \001(\t\022/\n\022slice_endpoint_ids\030\003 \003(\0132\023." + "context.EndPointId\022.\n\021slice_constraints\030" + "\004 \003(\0132\023.context.Constraint\022-\n\021slice_serv" + "ice_ids\030\005 \003(\0132\022.context.ServiceId\022,\n\022sli" + "ce_subslice_ids\030\006 \003(\0132\020.context.SliceId\022" + "*\n\014slice_status\030\007 \001(\0132\024.context.SliceSta" + "tus\022*\n\014slice_config\030\010 \001(\0132\024.context.Slic" + "eConfig\022(\n\013slice_owner\030\t \001(\0132\023.context.S" + "liceOwner\022%\n\ttimestamp\030\n \001(\0132\022.context.T" + "imestamp\"E\n\nSliceOwner\022!\n\nowner_uuid\030\001 \001" + "(\0132\r.context.Uuid\022\024\n\014owner_string\030\002 \001(\t\"" + "=\n\013SliceStatus\022.\n\014slice_status\030\001 \001(\0162\030.c" + "ontext.SliceStatusEnum\"8\n\013SliceConfig\022)\n" + "\014config_rules\030\001 \003(\0132\023.context.ConfigRule" + "\"2\n\013SliceIdList\022#\n\tslice_ids\030\001 \003(\0132\020.con" + "text.SliceId\"+\n\tSliceList\022\036\n\006slices\030\001 \003(" + "\0132\016.context.Slice\"\312\001\n\013SliceFilter\022\'\n\tsli" + "ce_ids\030\001 \001(\0132\024.context.SliceIdList\022\034\n\024in" + "clude_endpoint_ids\030\002 \001(\010\022\033\n\023include_cons" + "traints\030\003 \001(\010\022\033\n\023include_service_ids\030\004 \001" + "(\010\022\034\n\024include_subslice_ids\030\005 \001(\010\022\034\n\024incl" + "ude_config_rules\030\006 \001(\010\"O\n\nSliceEvent\022\035\n\005" + "event\030\001 \001(\0132\016.context.Event\022\"\n\010slice_id\030" + "\002 \001(\0132\020.context.SliceId\"6\n\014ConnectionId\022" + "&\n\017connection_uuid\030\001 \001(\0132\r.context.Uuid\"" + "2\n\025ConnectionSettings_L0\022\031\n\021lsp_symbolic" + "_name\030\001 \001(\t\"\236\001\n\025ConnectionSettings_L2\022\027\n" + "\017src_mac_address\030\001 \001(\t\022\027\n\017dst_mac_addres" + "s\030\002 \001(\t\022\022\n\nether_type\030\003 \001(\r\022\017\n\007vlan_id\030\004" + " \001(\r\022\022\n\nmpls_label\030\005 \001(\r\022\032\n\022mpls_traffic" + "_class\030\006 \001(\r\"t\n\025ConnectionSettings_L3\022\026\n" + "\016src_ip_address\030\001 \001(\t\022\026\n\016dst_ip_address\030" + "\002 \001(\t\022\014\n\004dscp\030\003 \001(\r\022\020\n\010protocol\030\004 \001(\r\022\013\n" + "\003ttl\030\005 \001(\r\"[\n\025ConnectionSettings_L4\022\020\n\010s" + "rc_port\030\001 \001(\r\022\020\n\010dst_port\030\002 \001(\r\022\021\n\ttcp_f" + "lags\030\003 \001(\r\022\013\n\003ttl\030\004 \001(\r\"\304\001\n\022ConnectionSe" + "ttings\022*\n\002l0\030\001 \001(\0132\036.context.ConnectionS" + "ettings_L0\022*\n\002l2\030\002 \001(\0132\036.context.Connect" + "ionSettings_L2\022*\n\002l3\030\003 \001(\0132\036.context.Con" + "nectionSettings_L3\022*\n\002l4\030\004 \001(\0132\036.context" + ".ConnectionSettings_L4\"\363\001\n\nConnection\022,\n" + "\rconnection_id\030\001 \001(\0132\025.context.Connectio" + "nId\022&\n\nservice_id\030\002 \001(\0132\022.context.Servic" + "eId\0223\n\026path_hops_endpoint_ids\030\003 \003(\0132\023.co" + "ntext.EndPointId\022+\n\017sub_service_ids\030\004 \003(" + "\0132\022.context.ServiceId\022-\n\010settings\030\005 \001(\0132" + "\033.context.ConnectionSettings\"A\n\020Connecti" + "onIdList\022-\n\016connection_ids\030\001 \003(\0132\025.conte" + "xt.ConnectionId\":\n\016ConnectionList\022(\n\013con" + "nections\030\001 \003(\0132\023.context.Connection\"^\n\017C" + "onnectionEvent\022\035\n\005event\030\001 \001(\0132\016.context." + "Event\022,\n\rconnection_id\030\002 \001(\0132\025.context.C" + "onnectionId\"\202\001\n\nEndPointId\022(\n\013topology_i" + "d\030\001 \001(\0132\023.context.TopologyId\022$\n\tdevice_i" + "d\030\002 \001(\0132\021.context.DeviceId\022$\n\rendpoint_u" + "uid\030\003 \001(\0132\r.context.Uuid\"\302\001\n\010EndPoint\022(\n" + "\013endpoint_id\030\001 \001(\0132\023.context.EndPointId\022" + "\014\n\004name\030\002 \001(\t\022\025\n\rendpoint_type\030\003 \001(\t\0229\n\020" + "kpi_sample_types\030\004 \003(\0162\037.kpi_sample_type" + "s.KpiSampleType\022,\n\021endpoint_location\030\005 \001" + "(\0132\021.context.Location\"{\n\014EndPointName\022(\n" + "\013endpoint_id\030\001 \001(\0132\023.context.EndPointId\022" + "\023\n\013device_name\030\002 \001(\t\022\025\n\rendpoint_name\030\003 " + "\001(\t\022\025\n\rendpoint_type\030\004 \001(\t\";\n\016EndPointId" + "List\022)\n\014endpoint_ids\030\001 \003(\0132\023.context.End" + "PointId\"A\n\020EndPointNameList\022-\n\016endpoint_" + "names\030\001 \003(\0132\025.context.EndPointName\"A\n\021Co" + "nfigRule_Custom\022\024\n\014resource_key\030\001 \001(\t\022\026\n" + "\016resource_value\030\002 \001(\t\"]\n\016ConfigRule_ACL\022" + "(\n\013endpoint_id\030\001 \001(\0132\023.context.EndPointI" + "d\022!\n\010rule_set\030\002 \001(\0132\017.acl.AclRuleSet\"\234\001\n" + "\nConfigRule\022)\n\006action\030\001 \001(\0162\031.context.Co" + "nfigActionEnum\022,\n\006custom\030\002 \001(\0132\032.context" + ".ConfigRule_CustomH\000\022&\n\003acl\030\003 \001(\0132\027.cont" + "ext.ConfigRule_ACLH\000B\r\n\013config_rule\"F\n\021C" + "onstraint_Custom\022\027\n\017constraint_type\030\001 \001(" + "\t\022\030\n\020constraint_value\030\002 \001(\t\"E\n\023Constrain" + "t_Schedule\022\027\n\017start_timestamp\030\001 \001(\002\022\025\n\rd" + "uration_days\030\002 \001(\002\"3\n\014GPS_Position\022\020\n\010la" + "titude\030\001 \001(\002\022\021\n\tlongitude\030\002 \001(\002\"W\n\010Locat" + "ion\022\020\n\006region\030\001 \001(\tH\000\022-\n\014gps_position\030\002 " + "\001(\0132\025.context.GPS_PositionH\000B\n\n\010location" + "\"l\n\033Constraint_EndPointLocation\022(\n\013endpo" + "int_id\030\001 \001(\0132\023.context.EndPointId\022#\n\010loc" + "ation\030\002 \001(\0132\021.context.Location\"Y\n\033Constr" + "aint_EndPointPriority\022(\n\013endpoint_id\030\001 \001" + "(\0132\023.context.EndPointId\022\020\n\010priority\030\002 \001(" + "\r\"0\n\026Constraint_SLA_Latency\022\026\n\016e2e_laten" + "cy_ms\030\001 \001(\002\"0\n\027Constraint_SLA_Capacity\022\025" + "\n\rcapacity_gbps\030\001 \001(\002\"c\n\033Constraint_SLA_" + "Availability\022\032\n\022num_disjoint_paths\030\001 \001(\r" + "\022\022\n\nall_active\030\002 \001(\010\022\024\n\014availability\030\003 \001" + "(\002\"V\n\036Constraint_SLA_Isolation_level\0224\n\017" + "isolation_level\030\001 \003(\0162\033.context.Isolatio" + "nLevelEnum\"\242\001\n\025Constraint_Exclusions\022\024\n\014" + "is_permanent\030\001 \001(\010\022%\n\ndevice_ids\030\002 \003(\0132\021" + ".context.DeviceId\022)\n\014endpoint_ids\030\003 \003(\0132" + "\023.context.EndPointId\022!\n\010link_ids\030\004 \003(\0132\017" + ".context.LinkId\"\333\004\n\nConstraint\022-\n\006action" + "\030\001 \001(\0162\035.context.ConstraintActionEnum\022,\n" + "\006custom\030\002 \001(\0132\032.context.Constraint_Custo" + "mH\000\0220\n\010schedule\030\003 \001(\0132\034.context.Constrai" + "nt_ScheduleH\000\022A\n\021endpoint_location\030\004 \001(\013" + "2$.context.Constraint_EndPointLocationH\000" + "\022A\n\021endpoint_priority\030\005 \001(\0132$.context.Co" + "nstraint_EndPointPriorityH\000\0228\n\014sla_capac" + "ity\030\006 \001(\0132 .context.Constraint_SLA_Capac" + "ityH\000\0226\n\013sla_latency\030\007 \001(\0132\037.context.Con" + "straint_SLA_LatencyH\000\022@\n\020sla_availabilit" + "y\030\010 \001(\0132$.context.Constraint_SLA_Availab" + "ilityH\000\022@\n\rsla_isolation\030\t \001(\0132\'.context" + ".Constraint_SLA_Isolation_levelH\000\0224\n\nexc" + "lusions\030\n \001(\0132\036.context.Constraint_Exclu" + "sionsH\000B\014\n\nconstraint\"^\n\022TeraFlowControl" + "ler\022&\n\ncontext_id\030\001 \001(\0132\022.context.Contex" + "tId\022\022\n\nip_address\030\002 \001(\t\022\014\n\004port\030\003 \001(\r\"U\n" + "\024AuthenticationResult\022&\n\ncontext_id\030\001 \001(" + "\0132\022.context.ContextId\022\025\n\rauthenticated\030\002" + " \001(\010\"-\n\017OpticalConfigId\022\032\n\022opticalconfig" + "_uuid\030\001 \001(\t\"S\n\rOpticalConfig\0222\n\020opticalc" + "onfig_id\030\001 \001(\0132\030.context.OpticalConfigId" + "\022\016\n\006config\030\002 \001(\t\"C\n\021OpticalConfigList\022.\n" + "\016opticalconfigs\030\001 \003(\0132\026.context.OpticalC" + "onfig\"9\n\rOpticalLinkId\022(\n\021optical_link_u" + "uid\030\001 \001(\0132\r.context.Uuid\",\n\007FiberId\022!\n\nf" + "iber_uuid\030\001 \001(\0132\r.context.Uuid\"\341\001\n\005Fiber" + "\022\n\n\002ID\030\n \001(\t\022\020\n\010src_port\030\001 \001(\t\022\020\n\010dst_po" + "rt\030\002 \001(\t\022\027\n\017local_peer_port\030\003 \001(\t\022\030\n\020rem" + "ote_peer_port\030\004 \001(\t\022\017\n\007c_slots\030\005 \003(\005\022\017\n\007" + "l_slots\030\006 \003(\005\022\017\n\007s_slots\030\007 \003(\005\022\016\n\006length" + "\030\010 \001(\002\022\014\n\004used\030\t \001(\010\022$\n\nfiber_uuid\030\013 \001(\013" + "2\020.context.FiberId\"d\n\022OpticalLinkDetails" + "\022\016\n\006length\030\001 \001(\002\022\016\n\006source\030\002 \001(\t\022\016\n\006targ" + "et\030\003 \001(\t\022\036\n\006fibers\030\004 \003(\0132\016.context.Fiber" + "\"|\n\013OpticalLink\022\014\n\004name\030\001 \001(\t\022,\n\007details" + "\030\002 \001(\0132\033.context.OpticalLinkDetails\0221\n\021o" + "ptical_link_uuid\030\003 \001(\0132\026.context.Optical" + "LinkId*j\n\rEventTypeEnum\022\027\n\023EVENTTYPE_UND" + "EFINED\020\000\022\024\n\020EVENTTYPE_CREATE\020\001\022\024\n\020EVENTT" + "YPE_UPDATE\020\002\022\024\n\020EVENTTYPE_REMOVE\020\003*\346\002\n\020D" + "eviceDriverEnum\022\032\n\026DEVICEDRIVER_UNDEFINE" + "D\020\000\022\033\n\027DEVICEDRIVER_OPENCONFIG\020\001\022\036\n\032DEVI" + "CEDRIVER_TRANSPORT_API\020\002\022\023\n\017DEVICEDRIVER" + "_P4\020\003\022&\n\"DEVICEDRIVER_IETF_NETWORK_TOPOL" + "OGY\020\004\022\033\n\027DEVICEDRIVER_ONF_TR_532\020\005\022\023\n\017DE" + "VICEDRIVER_XR\020\006\022\033\n\027DEVICEDRIVER_IETF_L2V" + "PN\020\007\022 \n\034DEVICEDRIVER_GNMI_OPENCONFIG\020\010\022\032" + "\n\026DEVICEDRIVER_FLEXSCALE\020\t\022\032\n\026DEVICEDRIV" + "ER_IETF_ACTN\020\n\022\023\n\017DEVICEDRIVER_OC\020\013*\217\001\n\033" + "DeviceOperationalStatusEnum\022%\n!DEVICEOPE" + "RATIONALSTATUS_UNDEFINED\020\000\022$\n DEVICEOPER" + "ATIONALSTATUS_DISABLED\020\001\022#\n\037DEVICEOPERAT" + "IONALSTATUS_ENABLED\020\002*\320\001\n\017ServiceTypeEnu" + "m\022\027\n\023SERVICETYPE_UNKNOWN\020\000\022\024\n\020SERVICETYP" + "E_L3NM\020\001\022\024\n\020SERVICETYPE_L2NM\020\002\022)\n%SERVIC" + "ETYPE_TAPI_CONNECTIVITY_SERVICE\020\003\022\022\n\016SER" + "VICETYPE_TE\020\004\022\023\n\017SERVICETYPE_E2E\020\005\022$\n SE" + "RVICETYPE_OPTICAL_CONNECTIVITY\020\006*\304\001\n\021Ser" + "viceStatusEnum\022\033\n\027SERVICESTATUS_UNDEFINE" + "D\020\000\022\031\n\025SERVICESTATUS_PLANNED\020\001\022\030\n\024SERVIC" + "ESTATUS_ACTIVE\020\002\022\032\n\026SERVICESTATUS_UPDATI" + "NG\020\003\022!\n\035SERVICESTATUS_PENDING_REMOVAL\020\004\022" + "\036\n\032SERVICESTATUS_SLA_VIOLATED\020\005*\251\001\n\017Slic" + "eStatusEnum\022\031\n\025SLICESTATUS_UNDEFINED\020\000\022\027" + "\n\023SLICESTATUS_PLANNED\020\001\022\024\n\020SLICESTATUS_I" + "NIT\020\002\022\026\n\022SLICESTATUS_ACTIVE\020\003\022\026\n\022SLICEST" + "ATUS_DEINIT\020\004\022\034\n\030SLICESTATUS_SLA_VIOLATE" + "D\020\005*]\n\020ConfigActionEnum\022\032\n\026CONFIGACTION_" + "UNDEFINED\020\000\022\024\n\020CONFIGACTION_SET\020\001\022\027\n\023CON" + "FIGACTION_DELETE\020\002*m\n\024ConstraintActionEn" + "um\022\036\n\032CONSTRAINTACTION_UNDEFINED\020\000\022\030\n\024CO" + "NSTRAINTACTION_SET\020\001\022\033\n\027CONSTRAINTACTION" + "_DELETE\020\002*\203\002\n\022IsolationLevelEnum\022\020\n\014NO_I" + "SOLATION\020\000\022\026\n\022PHYSICAL_ISOLATION\020\001\022\025\n\021LO" + "GICAL_ISOLATION\020\002\022\025\n\021PROCESS_ISOLATION\020\003" + "\022\035\n\031PHYSICAL_MEMORY_ISOLATION\020\004\022\036\n\032PHYSI" + "CAL_NETWORK_ISOLATION\020\005\022\036\n\032VIRTUAL_RESOU" + "RCE_ISOLATION\020\006\022\037\n\033NETWORK_FUNCTIONS_ISO" + "LATION\020\007\022\025\n\021SERVICE_ISOLATION\020\0102\246\031\n\016Cont" + "extService\022:\n\016ListContextIds\022\016.context.E" + "mpty\032\026.context.ContextIdList\"\000\0226\n\014ListCo" + "ntexts\022\016.context.Empty\032\024.context.Context" + "List\"\000\0224\n\nGetContext\022\022.context.ContextId" + "\032\020.context.Context\"\000\0224\n\nSetContext\022\020.con" + "text.Context\032\022.context.ContextId\"\000\0225\n\rRe" + "moveContext\022\022.context.ContextId\032\016.contex" + "t.Empty\"\000\022=\n\020GetContextEvents\022\016.context." + "Empty\032\025.context.ContextEvent\"\0000\001\022@\n\017List" + "TopologyIds\022\022.context.ContextId\032\027.contex" + "t.TopologyIdList\"\000\022=\n\016ListTopologies\022\022.c" + "ontext.ContextId\032\025.context.TopologyList\"" + "\000\0227\n\013GetTopology\022\023.context.TopologyId\032\021." + "context.Topology\"\000\022E\n\022GetTopologyDetails" + "\022\023.context.TopologyId\032\030.context.Topology" + "Details\"\000\0227\n\013SetTopology\022\021.context.Topol" + "ogy\032\023.context.TopologyId\"\000\0227\n\016RemoveTopo" + "logy\022\023.context.TopologyId\032\016.context.Empt" + "y\"\000\022?\n\021GetTopologyEvents\022\016.context.Empty" + "\032\026.context.TopologyEvent\"\0000\001\0228\n\rListDevi" + "ceIds\022\016.context.Empty\032\025.context.DeviceId" + "List\"\000\0224\n\013ListDevices\022\016.context.Empty\032\023." + "context.DeviceList\"\000\0221\n\tGetDevice\022\021.cont" + "ext.DeviceId\032\017.context.Device\"\000\0221\n\tSetDe" + "vice\022\017.context.Device\032\021.context.DeviceId" + "\"\000\0223\n\014RemoveDevice\022\021.context.DeviceId\032\016." + "context.Empty\"\000\022;\n\017GetDeviceEvents\022\016.con" + "text.Empty\032\024.context.DeviceEvent\"\0000\001\022<\n\014" + "SelectDevice\022\025.context.DeviceFilter\032\023.co" + "ntext.DeviceList\"\000\022I\n\021ListEndPointNames\022" + "\027.context.EndPointIdList\032\031.context.EndPo" + "intNameList\"\000\0224\n\013ListLinkIds\022\016.context.E" + "mpty\032\023.context.LinkIdList\"\000\0220\n\tListLinks" + "\022\016.context.Empty\032\021.context.LinkList\"\000\022+\n" + "\007GetLink\022\017.context.LinkId\032\r.context.Link" + "\"\000\022+\n\007SetLink\022\r.context.Link\032\017.context.L" + "inkId\"\000\022/\n\nRemoveLink\022\017.context.LinkId\032\016" + ".context.Empty\"\000\0227\n\rGetLinkEvents\022\016.cont" + "ext.Empty\032\022.context.LinkEvent\"\0000\001\022>\n\016Lis" + "tServiceIds\022\022.context.ContextId\032\026.contex" + "t.ServiceIdList\"\000\022:\n\014ListServices\022\022.cont" + "ext.ContextId\032\024.context.ServiceList\"\000\0224\n" + "\nGetService\022\022.context.ServiceId\032\020.contex" + "t.Service\"\000\0224\n\nSetService\022\020.context.Serv" + "ice\032\022.context.ServiceId\"\000\0226\n\014UnsetServic" + "e\022\020.context.Service\032\022.context.ServiceId\"" + "\000\0225\n\rRemoveService\022\022.context.ServiceId\032\016" + ".context.Empty\"\000\022=\n\020GetServiceEvents\022\016.c" + "ontext.Empty\032\025.context.ServiceEvent\"\0000\001\022" + "?\n\rSelectService\022\026.context.ServiceFilter" + "\032\024.context.ServiceList\"\000\022:\n\014ListSliceIds" + "\022\022.context.ContextId\032\024.context.SliceIdLi" + "st\"\000\0226\n\nListSlices\022\022.context.ContextId\032\022" + ".context.SliceList\"\000\022.\n\010GetSlice\022\020.conte" + "xt.SliceId\032\016.context.Slice\"\000\022.\n\010SetSlice" + "\022\016.context.Slice\032\020.context.SliceId\"\000\0220\n\n" + "UnsetSlice\022\016.context.Slice\032\020.context.Sli" + "ceId\"\000\0221\n\013RemoveSlice\022\020.context.SliceId\032" + "\016.context.Empty\"\000\0229\n\016GetSliceEvents\022\016.co" + "ntext.Empty\032\023.context.SliceEvent\"\0000\001\0229\n\013" + "SelectSlice\022\024.context.SliceFilter\032\022.cont" + "ext.SliceList\"\000\022D\n\021ListConnectionIds\022\022.c" + "ontext.ServiceId\032\031.context.ConnectionIdL" + "ist\"\000\022@\n\017ListConnections\022\022.context.Servi" + "ceId\032\027.context.ConnectionList\"\000\022=\n\rGetCo" + "nnection\022\025.context.ConnectionId\032\023.contex" + "t.Connection\"\000\022=\n\rSetConnection\022\023.contex" + "t.Connection\032\025.context.ConnectionId\"\000\022;\n" + "\020RemoveConnection\022\025.context.ConnectionId" + "\032\016.context.Empty\"\000\022C\n\023GetConnectionEvent" + "s\022\016.context.Empty\032\030.context.ConnectionEv" + "ent\"\0000\001\022@\n\020GetOpticalConfig\022\016.context.Em" + "pty\032\032.context.OpticalConfigList\"\000\022F\n\020Set" + "OpticalConfig\022\026.context.OpticalConfig\032\030." + "context.OpticalConfigId\"\000\022I\n\023SelectOptic" + "alConfig\022\030.context.OpticalConfigId\032\026.con" + "text.OpticalConfig\"\000\0228\n\016SetOpticalLink\022\024" + ".context.OpticalLink\032\016.context.Empty\"\000\022@" + "\n\016GetOpticalLink\022\026.context.OpticalLinkId" + "\032\024.context.OpticalLink\"\000\022.\n\010GetFiber\022\020.c" + "ontext.FiberId\032\016.context.Fiber\"\000b\006proto3" };
+        java.lang.String[] descriptorData = { "\n\rcontext.proto\022\007context\032\tacl.proto\032\026kpi" + "_sample_types.proto\"\007\n\005Empty\"\024\n\004Uuid\022\014\n\004" + "uuid\030\001 \001(\t\"\036\n\tTimestamp\022\021\n\ttimestamp\030\001 \001" + "(\001\"Z\n\005Event\022%\n\ttimestamp\030\001 \001(\0132\022.context" + ".Timestamp\022*\n\nevent_type\030\002 \001(\0162\026.context" + ".EventTypeEnum\"0\n\tContextId\022#\n\014context_u" + "uid\030\001 \001(\0132\r.context.Uuid\"\351\001\n\007Context\022&\n\n" + "context_id\030\001 \001(\0132\022.context.ContextId\022\014\n\004" + "name\030\002 \001(\t\022)\n\014topology_ids\030\003 \003(\0132\023.conte" + "xt.TopologyId\022\'\n\013service_ids\030\004 \003(\0132\022.con" + "text.ServiceId\022#\n\tslice_ids\030\005 \003(\0132\020.cont" + "ext.SliceId\022/\n\ncontroller\030\006 \001(\0132\033.contex" + "t.TeraFlowController\"8\n\rContextIdList\022\'\n" + "\013context_ids\030\001 \003(\0132\022.context.ContextId\"1" + "\n\013ContextList\022\"\n\010contexts\030\001 \003(\0132\020.contex" + "t.Context\"U\n\014ContextEvent\022\035\n\005event\030\001 \001(\013" + "2\016.context.Event\022&\n\ncontext_id\030\002 \001(\0132\022.c" + "ontext.ContextId\"Z\n\nTopologyId\022&\n\ncontex" + "t_id\030\001 \001(\0132\022.context.ContextId\022$\n\rtopolo" + "gy_uuid\030\002 \001(\0132\r.context.Uuid\"\214\001\n\010Topolog" + "y\022(\n\013topology_id\030\001 \001(\0132\023.context.Topolog" + "yId\022\014\n\004name\030\002 \001(\t\022%\n\ndevice_ids\030\003 \003(\0132\021." + "context.DeviceId\022!\n\010link_ids\030\004 \003(\0132\017.con" + "text.LinkId\"\211\001\n\017TopologyDetails\022(\n\013topol" + "ogy_id\030\001 \001(\0132\023.context.TopologyId\022\014\n\004nam" + "e\030\002 \001(\t\022 \n\007devices\030\003 \003(\0132\017.context.Devic" + "e\022\034\n\005links\030\004 \003(\0132\r.context.Link\";\n\016Topol" + "ogyIdList\022)\n\014topology_ids\030\001 \003(\0132\023.contex" + "t.TopologyId\"5\n\014TopologyList\022%\n\ntopologi" + "es\030\001 \003(\0132\021.context.Topology\"X\n\rTopologyE" + "vent\022\035\n\005event\030\001 \001(\0132\016.context.Event\022(\n\013t" + "opology_id\030\002 \001(\0132\023.context.TopologyId\".\n" + "\010DeviceId\022\"\n\013device_uuid\030\001 \001(\0132\r.context" + ".Uuid\"\372\002\n\006Device\022$\n\tdevice_id\030\001 \001(\0132\021.co" + "ntext.DeviceId\022\014\n\004name\030\002 \001(\t\022\023\n\013device_t" + "ype\030\003 \001(\t\022,\n\rdevice_config\030\004 \001(\0132\025.conte" + "xt.DeviceConfig\022G\n\031device_operational_st" + "atus\030\005 \001(\0162$.context.DeviceOperationalSt" + "atusEnum\0221\n\016device_drivers\030\006 \003(\0162\031.conte" + "xt.DeviceDriverEnum\022+\n\020device_endpoints\030" + "\007 \003(\0132\021.context.EndPoint\022&\n\ncomponents\030\010" + " \003(\0132\022.context.Component\022(\n\rcontroller_i" + "d\030\t \001(\0132\021.context.DeviceId\"\311\001\n\tComponent" + "\022%\n\016component_uuid\030\001 \001(\0132\r.context.Uuid\022" + "\014\n\004name\030\002 \001(\t\022\014\n\004type\030\003 \001(\t\0226\n\nattribute" + "s\030\004 \003(\0132\".context.Component.AttributesEn" + "try\022\016\n\006parent\030\005 \001(\t\0321\n\017AttributesEntry\022\013" + "\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\"9\n\014Device" + "Config\022)\n\014config_rules\030\001 \003(\0132\023.context.C" + "onfigRule\"5\n\014DeviceIdList\022%\n\ndevice_ids\030" + "\001 \003(\0132\021.context.DeviceId\".\n\nDeviceList\022 " + "\n\007devices\030\001 \003(\0132\017.context.Device\"\216\001\n\014Dev" + "iceFilter\022)\n\ndevice_ids\030\001 \001(\0132\025.context." + "DeviceIdList\022\031\n\021include_endpoints\030\002 \001(\010\022" + "\034\n\024include_config_rules\030\003 \001(\010\022\032\n\022include" + "_components\030\004 \001(\010\"\200\001\n\013DeviceEvent\022\035\n\005eve" + "nt\030\001 \001(\0132\016.context.Event\022$\n\tdevice_id\030\002 " + "\001(\0132\021.context.DeviceId\022,\n\rdevice_config\030" + "\003 \001(\0132\025.context.DeviceConfig\"*\n\006LinkId\022 " + "\n\tlink_uuid\030\001 \001(\0132\r.context.Uuid\"I\n\016Link" + "Attributes\022\033\n\023total_capacity_gbps\030\001 \001(\002\022" + "\032\n\022used_capacity_gbps\030\002 \001(\002\"\223\001\n\004Link\022 \n\007" + "link_id\030\001 \001(\0132\017.context.LinkId\022\014\n\004name\030\002" + " \001(\t\022.\n\021link_endpoint_ids\030\003 \003(\0132\023.contex" + "t.EndPointId\022+\n\nattributes\030\004 \001(\0132\027.conte" + "xt.LinkAttributes\"/\n\nLinkIdList\022!\n\010link_" + "ids\030\001 \003(\0132\017.context.LinkId\"(\n\010LinkList\022\034" + "\n\005links\030\001 \003(\0132\r.context.Link\"L\n\tLinkEven" + "t\022\035\n\005event\030\001 \001(\0132\016.context.Event\022 \n\007link" + "_id\030\002 \001(\0132\017.context.LinkId\"X\n\tServiceId\022" + "&\n\ncontext_id\030\001 \001(\0132\022.context.ContextId\022" + "#\n\014service_uuid\030\002 \001(\0132\r.context.Uuid\"\333\002\n" + "\007Service\022&\n\nservice_id\030\001 \001(\0132\022.context.S" + "erviceId\022\014\n\004name\030\002 \001(\t\022.\n\014service_type\030\003" + " \001(\0162\030.context.ServiceTypeEnum\0221\n\024servic" + "e_endpoint_ids\030\004 \003(\0132\023.context.EndPointI" + "d\0220\n\023service_constraints\030\005 \003(\0132\023.context" + ".Constraint\022.\n\016service_status\030\006 \001(\0132\026.co" + "ntext.ServiceStatus\022.\n\016service_config\030\007 " + "\001(\0132\026.context.ServiceConfig\022%\n\ttimestamp" + "\030\010 \001(\0132\022.context.Timestamp\"C\n\rServiceSta" + "tus\0222\n\016service_status\030\001 \001(\0162\032.context.Se" + "rviceStatusEnum\":\n\rServiceConfig\022)\n\014conf" + "ig_rules\030\001 \003(\0132\023.context.ConfigRule\"8\n\rS" + "erviceIdList\022\'\n\013service_ids\030\001 \003(\0132\022.cont" + "ext.ServiceId\"1\n\013ServiceList\022\"\n\010services" + "\030\001 \003(\0132\020.context.Service\"\225\001\n\rServiceFilt" + "er\022+\n\013service_ids\030\001 \001(\0132\026.context.Servic" + "eIdList\022\034\n\024include_endpoint_ids\030\002 \001(\010\022\033\n" + "\023include_constraints\030\003 \001(\010\022\034\n\024include_co" + "nfig_rules\030\004 \001(\010\"U\n\014ServiceEvent\022\035\n\005even" + "t\030\001 \001(\0132\016.context.Event\022&\n\nservice_id\030\002 " + "\001(\0132\022.context.ServiceId\"T\n\007SliceId\022&\n\nco" + "ntext_id\030\001 \001(\0132\022.context.ContextId\022!\n\nsl" + "ice_uuid\030\002 \001(\0132\r.context.Uuid\"\240\003\n\005Slice\022" + "\"\n\010slice_id\030\001 \001(\0132\020.context.SliceId\022\014\n\004n" + "ame\030\002 \001(\t\022/\n\022slice_endpoint_ids\030\003 \003(\0132\023." + "context.EndPointId\022.\n\021slice_constraints\030" + "\004 \003(\0132\023.context.Constraint\022-\n\021slice_serv" + "ice_ids\030\005 \003(\0132\022.context.ServiceId\022,\n\022sli" + "ce_subslice_ids\030\006 \003(\0132\020.context.SliceId\022" + "*\n\014slice_status\030\007 \001(\0132\024.context.SliceSta" + "tus\022*\n\014slice_config\030\010 \001(\0132\024.context.Slic" + "eConfig\022(\n\013slice_owner\030\t \001(\0132\023.context.S" + "liceOwner\022%\n\ttimestamp\030\n \001(\0132\022.context.T" + "imestamp\"E\n\nSliceOwner\022!\n\nowner_uuid\030\001 \001" + "(\0132\r.context.Uuid\022\024\n\014owner_string\030\002 \001(\t\"" + "=\n\013SliceStatus\022.\n\014slice_status\030\001 \001(\0162\030.c" + "ontext.SliceStatusEnum\"8\n\013SliceConfig\022)\n" + "\014config_rules\030\001 \003(\0132\023.context.ConfigRule" + "\"2\n\013SliceIdList\022#\n\tslice_ids\030\001 \003(\0132\020.con" + "text.SliceId\"+\n\tSliceList\022\036\n\006slices\030\001 \003(" + "\0132\016.context.Slice\"\312\001\n\013SliceFilter\022\'\n\tsli" + "ce_ids\030\001 \001(\0132\024.context.SliceIdList\022\034\n\024in" + "clude_endpoint_ids\030\002 \001(\010\022\033\n\023include_cons" + "traints\030\003 \001(\010\022\033\n\023include_service_ids\030\004 \001" + "(\010\022\034\n\024include_subslice_ids\030\005 \001(\010\022\034\n\024incl" + "ude_config_rules\030\006 \001(\010\"O\n\nSliceEvent\022\035\n\005" + "event\030\001 \001(\0132\016.context.Event\022\"\n\010slice_id\030" + "\002 \001(\0132\020.context.SliceId\"6\n\014ConnectionId\022" + "&\n\017connection_uuid\030\001 \001(\0132\r.context.Uuid\"" + "2\n\025ConnectionSettings_L0\022\031\n\021lsp_symbolic" + "_name\030\001 \001(\t\"\236\001\n\025ConnectionSettings_L2\022\027\n" + "\017src_mac_address\030\001 \001(\t\022\027\n\017dst_mac_addres" + "s\030\002 \001(\t\022\022\n\nether_type\030\003 \001(\r\022\017\n\007vlan_id\030\004" + " \001(\r\022\022\n\nmpls_label\030\005 \001(\r\022\032\n\022mpls_traffic" + "_class\030\006 \001(\r\"t\n\025ConnectionSettings_L3\022\026\n" + "\016src_ip_address\030\001 \001(\t\022\026\n\016dst_ip_address\030" + "\002 \001(\t\022\014\n\004dscp\030\003 \001(\r\022\020\n\010protocol\030\004 \001(\r\022\013\n" + "\003ttl\030\005 \001(\r\"[\n\025ConnectionSettings_L4\022\020\n\010s" + "rc_port\030\001 \001(\r\022\020\n\010dst_port\030\002 \001(\r\022\021\n\ttcp_f" + "lags\030\003 \001(\r\022\013\n\003ttl\030\004 \001(\r\"\304\001\n\022ConnectionSe" + "ttings\022*\n\002l0\030\001 \001(\0132\036.context.ConnectionS" + "ettings_L0\022*\n\002l2\030\002 \001(\0132\036.context.Connect" + "ionSettings_L2\022*\n\002l3\030\003 \001(\0132\036.context.Con" + "nectionSettings_L3\022*\n\002l4\030\004 \001(\0132\036.context" + ".ConnectionSettings_L4\"\363\001\n\nConnection\022,\n" + "\rconnection_id\030\001 \001(\0132\025.context.Connectio" + "nId\022&\n\nservice_id\030\002 \001(\0132\022.context.Servic" + "eId\0223\n\026path_hops_endpoint_ids\030\003 \003(\0132\023.co" + "ntext.EndPointId\022+\n\017sub_service_ids\030\004 \003(" + "\0132\022.context.ServiceId\022-\n\010settings\030\005 \001(\0132" + "\033.context.ConnectionSettings\"A\n\020Connecti" + "onIdList\022-\n\016connection_ids\030\001 \003(\0132\025.conte" + "xt.ConnectionId\":\n\016ConnectionList\022(\n\013con" + "nections\030\001 \003(\0132\023.context.Connection\"^\n\017C" + "onnectionEvent\022\035\n\005event\030\001 \001(\0132\016.context." + "Event\022,\n\rconnection_id\030\002 \001(\0132\025.context.C" + "onnectionId\"\202\001\n\nEndPointId\022(\n\013topology_i" + "d\030\001 \001(\0132\023.context.TopologyId\022$\n\tdevice_i" + "d\030\002 \001(\0132\021.context.DeviceId\022$\n\rendpoint_u" + "uid\030\003 \001(\0132\r.context.Uuid\"\302\001\n\010EndPoint\022(\n" + "\013endpoint_id\030\001 \001(\0132\023.context.EndPointId\022" + "\014\n\004name\030\002 \001(\t\022\025\n\rendpoint_type\030\003 \001(\t\0229\n\020" + "kpi_sample_types\030\004 \003(\0162\037.kpi_sample_type" + "s.KpiSampleType\022,\n\021endpoint_location\030\005 \001" + "(\0132\021.context.Location\"{\n\014EndPointName\022(\n" + "\013endpoint_id\030\001 \001(\0132\023.context.EndPointId\022" + "\023\n\013device_name\030\002 \001(\t\022\025\n\rendpoint_name\030\003 " + "\001(\t\022\025\n\rendpoint_type\030\004 \001(\t\";\n\016EndPointId" + "List\022)\n\014endpoint_ids\030\001 \003(\0132\023.context.End" + "PointId\"A\n\020EndPointNameList\022-\n\016endpoint_" + "names\030\001 \003(\0132\025.context.EndPointName\"A\n\021Co" + "nfigRule_Custom\022\024\n\014resource_key\030\001 \001(\t\022\026\n" + "\016resource_value\030\002 \001(\t\"]\n\016ConfigRule_ACL\022" + "(\n\013endpoint_id\030\001 \001(\0132\023.context.EndPointI" + "d\022!\n\010rule_set\030\002 \001(\0132\017.acl.AclRuleSet\"\234\001\n" + "\nConfigRule\022)\n\006action\030\001 \001(\0162\031.context.Co" + "nfigActionEnum\022,\n\006custom\030\002 \001(\0132\032.context" + ".ConfigRule_CustomH\000\022&\n\003acl\030\003 \001(\0132\027.cont" + "ext.ConfigRule_ACLH\000B\r\n\013config_rule\"F\n\021C" + "onstraint_Custom\022\027\n\017constraint_type\030\001 \001(" + "\t\022\030\n\020constraint_value\030\002 \001(\t\"E\n\023Constrain" + "t_Schedule\022\027\n\017start_timestamp\030\001 \001(\002\022\025\n\rd" + "uration_days\030\002 \001(\002\"3\n\014GPS_Position\022\020\n\010la" + "titude\030\001 \001(\002\022\021\n\tlongitude\030\002 \001(\002\"W\n\010Locat" + "ion\022\020\n\006region\030\001 \001(\tH\000\022-\n\014gps_position\030\002 " + "\001(\0132\025.context.GPS_PositionH\000B\n\n\010location" + "\"l\n\033Constraint_EndPointLocation\022(\n\013endpo" + "int_id\030\001 \001(\0132\023.context.EndPointId\022#\n\010loc" + "ation\030\002 \001(\0132\021.context.Location\"Y\n\033Constr" + "aint_EndPointPriority\022(\n\013endpoint_id\030\001 \001" + "(\0132\023.context.EndPointId\022\020\n\010priority\030\002 \001(" + "\r\"0\n\026Constraint_SLA_Latency\022\026\n\016e2e_laten" + "cy_ms\030\001 \001(\002\"0\n\027Constraint_SLA_Capacity\022\025" + "\n\rcapacity_gbps\030\001 \001(\002\"c\n\033Constraint_SLA_" + "Availability\022\032\n\022num_disjoint_paths\030\001 \001(\r" + "\022\022\n\nall_active\030\002 \001(\010\022\024\n\014availability\030\003 \001" + "(\002\"V\n\036Constraint_SLA_Isolation_level\0224\n\017" + "isolation_level\030\001 \003(\0162\033.context.Isolatio" + "nLevelEnum\"\242\001\n\025Constraint_Exclusions\022\024\n\014" + "is_permanent\030\001 \001(\010\022%\n\ndevice_ids\030\002 \003(\0132\021" + ".context.DeviceId\022)\n\014endpoint_ids\030\003 \003(\0132" + "\023.context.EndPointId\022!\n\010link_ids\030\004 \003(\0132\017" + ".context.LinkId\"\333\004\n\nConstraint\022-\n\006action" + "\030\001 \001(\0162\035.context.ConstraintActionEnum\022,\n" + "\006custom\030\002 \001(\0132\032.context.Constraint_Custo" + "mH\000\0220\n\010schedule\030\003 \001(\0132\034.context.Constrai" + "nt_ScheduleH\000\022A\n\021endpoint_location\030\004 \001(\013" + "2$.context.Constraint_EndPointLocationH\000" + "\022A\n\021endpoint_priority\030\005 \001(\0132$.context.Co" + "nstraint_EndPointPriorityH\000\0228\n\014sla_capac" + "ity\030\006 \001(\0132 .context.Constraint_SLA_Capac" + "ityH\000\0226\n\013sla_latency\030\007 \001(\0132\037.context.Con" + "straint_SLA_LatencyH\000\022@\n\020sla_availabilit" + "y\030\010 \001(\0132$.context.Constraint_SLA_Availab" + "ilityH\000\022@\n\rsla_isolation\030\t \001(\0132\'.context" + ".Constraint_SLA_Isolation_levelH\000\0224\n\nexc" + "lusions\030\n \001(\0132\036.context.Constraint_Exclu" + "sionsH\000B\014\n\nconstraint\"^\n\022TeraFlowControl" + "ler\022&\n\ncontext_id\030\001 \001(\0132\022.context.Contex" + "tId\022\022\n\nip_address\030\002 \001(\t\022\014\n\004port\030\003 \001(\r\"U\n" + "\024AuthenticationResult\022&\n\ncontext_id\030\001 \001(" + "\0132\022.context.ContextId\022\025\n\rauthenticated\030\002" + " \001(\010\"-\n\017OpticalConfigId\022\032\n\022opticalconfig" + "_uuid\030\001 \001(\t\"S\n\rOpticalConfig\0222\n\020opticalc" + "onfig_id\030\001 \001(\0132\030.context.OpticalConfigId" + "\022\016\n\006config\030\002 \001(\t\"C\n\021OpticalConfigList\022.\n" + "\016opticalconfigs\030\001 \003(\0132\026.context.OpticalC" + "onfig\"9\n\rOpticalLinkId\022(\n\021optical_link_u" + "uid\030\001 \001(\0132\r.context.Uuid\",\n\007FiberId\022!\n\nf" + "iber_uuid\030\001 \001(\0132\r.context.Uuid\"\341\001\n\005Fiber" + "\022\n\n\002ID\030\n \001(\t\022\020\n\010src_port\030\001 \001(\t\022\020\n\010dst_po" + "rt\030\002 \001(\t\022\027\n\017local_peer_port\030\003 \001(\t\022\030\n\020rem" + "ote_peer_port\030\004 \001(\t\022\017\n\007c_slots\030\005 \003(\005\022\017\n\007" + "l_slots\030\006 \003(\005\022\017\n\007s_slots\030\007 \003(\005\022\016\n\006length" + "\030\010 \001(\002\022\014\n\004used\030\t \001(\010\022$\n\nfiber_uuid\030\013 \001(\013" + "2\020.context.FiberId\"d\n\022OpticalLinkDetails" + "\022\016\n\006length\030\001 \001(\002\022\016\n\006source\030\002 \001(\t\022\016\n\006targ" + "et\030\003 \001(\t\022\036\n\006fibers\030\004 \003(\0132\016.context.Fiber" + "\"|\n\013OpticalLink\022\014\n\004name\030\001 \001(\t\022,\n\007details" + "\030\002 \001(\0132\033.context.OpticalLinkDetails\0221\n\021o" + "ptical_link_uuid\030\003 \001(\0132\026.context.Optical" + "LinkId*j\n\rEventTypeEnum\022\027\n\023EVENTTYPE_UND" + "EFINED\020\000\022\024\n\020EVENTTYPE_CREATE\020\001\022\024\n\020EVENTT" + "YPE_UPDATE\020\002\022\024\n\020EVENTTYPE_REMOVE\020\003*\350\002\n\020D" + "eviceDriverEnum\022\032\n\026DEVICEDRIVER_UNDEFINE" + "D\020\000\022\033\n\027DEVICEDRIVER_OPENCONFIG\020\001\022\036\n\032DEVI" + "CEDRIVER_TRANSPORT_API\020\002\022\023\n\017DEVICEDRIVER" + "_P4\020\003\022&\n\"DEVICEDRIVER_IETF_NETWORK_TOPOL" + "OGY\020\004\022\033\n\027DEVICEDRIVER_ONF_TR_532\020\005\022\023\n\017DE" + "VICEDRIVER_XR\020\006\022\033\n\027DEVICEDRIVER_IETF_L2V" + "PN\020\007\022 \n\034DEVICEDRIVER_GNMI_OPENCONFIG\020\010\022\034" + "\n\030DEVICEDRIVER_OPTICAL_TFS\020\t\022\032\n\026DEVICEDR" + "IVER_IETF_ACTN\020\n\022\023\n\017DEVICEDRIVER_OC\020\013*\217\001" + "\n\033DeviceOperationalStatusEnum\022%\n!DEVICEO" + "PERATIONALSTATUS_UNDEFINED\020\000\022$\n DEVICEOP" + "ERATIONALSTATUS_DISABLED\020\001\022#\n\037DEVICEOPER" + "ATIONALSTATUS_ENABLED\020\002*\320\001\n\017ServiceTypeE" + "num\022\027\n\023SERVICETYPE_UNKNOWN\020\000\022\024\n\020SERVICET" + "YPE_L3NM\020\001\022\024\n\020SERVICETYPE_L2NM\020\002\022)\n%SERV" + "ICETYPE_TAPI_CONNECTIVITY_SERVICE\020\003\022\022\n\016S" + "ERVICETYPE_TE\020\004\022\023\n\017SERVICETYPE_E2E\020\005\022$\n " + "SERVICETYPE_OPTICAL_CONNECTIVITY\020\006*\304\001\n\021S" + "erviceStatusEnum\022\033\n\027SERVICESTATUS_UNDEFI" + "NED\020\000\022\031\n\025SERVICESTATUS_PLANNED\020\001\022\030\n\024SERV" + "ICESTATUS_ACTIVE\020\002\022\032\n\026SERVICESTATUS_UPDA" + "TING\020\003\022!\n\035SERVICESTATUS_PENDING_REMOVAL\020" + "\004\022\036\n\032SERVICESTATUS_SLA_VIOLATED\020\005*\251\001\n\017Sl" + "iceStatusEnum\022\031\n\025SLICESTATUS_UNDEFINED\020\000" + "\022\027\n\023SLICESTATUS_PLANNED\020\001\022\024\n\020SLICESTATUS" + "_INIT\020\002\022\026\n\022SLICESTATUS_ACTIVE\020\003\022\026\n\022SLICE" + "STATUS_DEINIT\020\004\022\034\n\030SLICESTATUS_SLA_VIOLA" + "TED\020\005*]\n\020ConfigActionEnum\022\032\n\026CONFIGACTIO" + "N_UNDEFINED\020\000\022\024\n\020CONFIGACTION_SET\020\001\022\027\n\023C" + "ONFIGACTION_DELETE\020\002*m\n\024ConstraintAction" + "Enum\022\036\n\032CONSTRAINTACTION_UNDEFINED\020\000\022\030\n\024" + "CONSTRAINTACTION_SET\020\001\022\033\n\027CONSTRAINTACTI" + "ON_DELETE\020\002*\203\002\n\022IsolationLevelEnum\022\020\n\014NO" + "_ISOLATION\020\000\022\026\n\022PHYSICAL_ISOLATION\020\001\022\025\n\021" + "LOGICAL_ISOLATION\020\002\022\025\n\021PROCESS_ISOLATION" + "\020\003\022\035\n\031PHYSICAL_MEMORY_ISOLATION\020\004\022\036\n\032PHY" + "SICAL_NETWORK_ISOLATION\020\005\022\036\n\032VIRTUAL_RES" + "OURCE_ISOLATION\020\006\022\037\n\033NETWORK_FUNCTIONS_I" + "SOLATION\020\007\022\025\n\021SERVICE_ISOLATION\020\0102\246\031\n\016Co" + "ntextService\022:\n\016ListContextIds\022\016.context" + ".Empty\032\026.context.ContextIdList\"\000\0226\n\014List" + "Contexts\022\016.context.Empty\032\024.context.Conte" + "xtList\"\000\0224\n\nGetContext\022\022.context.Context" + "Id\032\020.context.Context\"\000\0224\n\nSetContext\022\020.c" + "ontext.Context\032\022.context.ContextId\"\000\0225\n\r" + "RemoveContext\022\022.context.ContextId\032\016.cont" + "ext.Empty\"\000\022=\n\020GetContextEvents\022\016.contex" + "t.Empty\032\025.context.ContextEvent\"\0000\001\022@\n\017Li" + "stTopologyIds\022\022.context.ContextId\032\027.cont" + "ext.TopologyIdList\"\000\022=\n\016ListTopologies\022\022" + ".context.ContextId\032\025.context.TopologyLis" + "t\"\000\0227\n\013GetTopology\022\023.context.TopologyId\032" + "\021.context.Topology\"\000\022E\n\022GetTopologyDetai" + "ls\022\023.context.TopologyId\032\030.context.Topolo" + "gyDetails\"\000\0227\n\013SetTopology\022\021.context.Top" + "ology\032\023.context.TopologyId\"\000\0227\n\016RemoveTo" + "pology\022\023.context.TopologyId\032\016.context.Em" + "pty\"\000\022?\n\021GetTopologyEvents\022\016.context.Emp" + "ty\032\026.context.TopologyEvent\"\0000\001\0228\n\rListDe" + "viceIds\022\016.context.Empty\032\025.context.Device" + "IdList\"\000\0224\n\013ListDevices\022\016.context.Empty\032" + "\023.context.DeviceList\"\000\0221\n\tGetDevice\022\021.co" + "ntext.DeviceId\032\017.context.Device\"\000\0221\n\tSet" + "Device\022\017.context.Device\032\021.context.Device" + "Id\"\000\0223\n\014RemoveDevice\022\021.context.DeviceId\032" + "\016.context.Empty\"\000\022;\n\017GetDeviceEvents\022\016.c" + "ontext.Empty\032\024.context.DeviceEvent\"\0000\001\022<" + "\n\014SelectDevice\022\025.context.DeviceFilter\032\023." + "context.DeviceList\"\000\022I\n\021ListEndPointName" + "s\022\027.context.EndPointIdList\032\031.context.End" + "PointNameList\"\000\0224\n\013ListLinkIds\022\016.context" + ".Empty\032\023.context.LinkIdList\"\000\0220\n\tListLin" + "ks\022\016.context.Empty\032\021.context.LinkList\"\000\022" + "+\n\007GetLink\022\017.context.LinkId\032\r.context.Li" + "nk\"\000\022+\n\007SetLink\022\r.context.Link\032\017.context" + ".LinkId\"\000\022/\n\nRemoveLink\022\017.context.LinkId" + "\032\016.context.Empty\"\000\0227\n\rGetLinkEvents\022\016.co" + "ntext.Empty\032\022.context.LinkEvent\"\0000\001\022>\n\016L" + "istServiceIds\022\022.context.ContextId\032\026.cont" + "ext.ServiceIdList\"\000\022:\n\014ListServices\022\022.co" + "ntext.ContextId\032\024.context.ServiceList\"\000\022" + "4\n\nGetService\022\022.context.ServiceId\032\020.cont" + "ext.Service\"\000\0224\n\nSetService\022\020.context.Se" + "rvice\032\022.context.ServiceId\"\000\0226\n\014UnsetServ" + "ice\022\020.context.Service\032\022.context.ServiceI" + "d\"\000\0225\n\rRemoveService\022\022.context.ServiceId" + "\032\016.context.Empty\"\000\022=\n\020GetServiceEvents\022\016" + ".context.Empty\032\025.context.ServiceEvent\"\0000" + "\001\022?\n\rSelectService\022\026.context.ServiceFilt" + "er\032\024.context.ServiceList\"\000\022:\n\014ListSliceI" + "ds\022\022.context.ContextId\032\024.context.SliceId" + "List\"\000\0226\n\nListSlices\022\022.context.ContextId" + "\032\022.context.SliceList\"\000\022.\n\010GetSlice\022\020.con" + "text.SliceId\032\016.context.Slice\"\000\022.\n\010SetSli" + "ce\022\016.context.Slice\032\020.context.SliceId\"\000\0220" + "\n\nUnsetSlice\022\016.context.Slice\032\020.context.S" + "liceId\"\000\0221\n\013RemoveSlice\022\020.context.SliceI" + "d\032\016.context.Empty\"\000\0229\n\016GetSliceEvents\022\016." + "context.Empty\032\023.context.SliceEvent\"\0000\001\0229" + "\n\013SelectSlice\022\024.context.SliceFilter\032\022.co" + "ntext.SliceList\"\000\022D\n\021ListConnectionIds\022\022" + ".context.ServiceId\032\031.context.ConnectionI" + "dList\"\000\022@\n\017ListConnections\022\022.context.Ser" + "viceId\032\027.context.ConnectionList\"\000\022=\n\rGet" + "Connection\022\025.context.ConnectionId\032\023.cont" + "ext.Connection\"\000\022=\n\rSetConnection\022\023.cont" + "ext.Connection\032\025.context.ConnectionId\"\000\022" + ";\n\020RemoveConnection\022\025.context.Connection" + "Id\032\016.context.Empty\"\000\022C\n\023GetConnectionEve" + "nts\022\016.context.Empty\032\030.context.Connection" + "Event\"\0000\001\022@\n\020GetOpticalConfig\022\016.context." + "Empty\032\032.context.OpticalConfigList\"\000\022F\n\020S" + "etOpticalConfig\022\026.context.OpticalConfig\032" + "\030.context.OpticalConfigId\"\000\022I\n\023SelectOpt" + "icalConfig\022\030.context.OpticalConfigId\032\026.c" + "ontext.OpticalConfig\"\000\0228\n\016SetOpticalLink" + "\022\024.context.OpticalLink\032\016.context.Empty\"\000" + "\022@\n\016GetOpticalLink\022\026.context.OpticalLink" + "Id\032\024.context.OpticalLink\"\000\022.\n\010GetFiber\022\020" + ".context.FiberId\032\016.context.Fiber\"\000b\006prot" + "o3" };
         descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] { acl.Acl.getDescriptor(), kpi_sample_types.KpiSampleTypes.getDescriptor() });
         internal_static_context_Empty_descriptor = getDescriptor().getMessageTypes().get(0);
         internal_static_context_Empty_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(internal_static_context_Empty_descriptor, new java.lang.String[] {});
diff --git a/src/ztp/target/generated-sources/grpc/context/ContextServiceGrpc.java b/src/ztp/target/generated-sources/grpc/context/ContextServiceGrpc.java
index 233312dd7..a03f7e949 100644
--- a/src/ztp/target/generated-sources/grpc/context/ContextServiceGrpc.java
+++ b/src/ztp/target/generated-sources/grpc/context/ContextServiceGrpc.java
@@ -4,8 +4,7 @@ import static io.grpc.MethodDescriptor.generateFullMethodName;
 
 /**
  */
-@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.55.1)", comments = "Source: context.proto")
-@io.grpc.stub.annotations.GrpcGenerated
+@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.38.1)", comments = "Source: context.proto")
 public final class ContextServiceGrpc {
 
     private ContextServiceGrpc() {
@@ -883,299 +882,299 @@ public final class ContextServiceGrpc {
 
     /**
      */
-    public interface AsyncService {
+    public static abstract class ContextServiceImplBase implements io.grpc.BindableService {
 
         /**
          */
-        default void listContextIds(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listContextIds(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListContextIdsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listContexts(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listContexts(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListContextsMethod(), responseObserver);
         }
 
         /**
          */
-        default void getContext(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getContext(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetContextMethod(), responseObserver);
         }
 
         /**
          */
-        default void setContext(context.ContextOuterClass.Context request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setContext(context.ContextOuterClass.Context request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetContextMethod(), responseObserver);
         }
 
         /**
          */
-        default void removeContext(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void removeContext(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRemoveContextMethod(), responseObserver);
         }
 
         /**
          */
-        default void getContextEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getContextEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetContextEventsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listTopologyIds(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listTopologyIds(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListTopologyIdsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listTopologies(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listTopologies(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListTopologiesMethod(), responseObserver);
         }
 
         /**
          */
-        default void getTopology(context.ContextOuterClass.TopologyId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getTopology(context.ContextOuterClass.TopologyId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetTopologyMethod(), responseObserver);
         }
 
         /**
          */
-        default void getTopologyDetails(context.ContextOuterClass.TopologyId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getTopologyDetails(context.ContextOuterClass.TopologyId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetTopologyDetailsMethod(), responseObserver);
         }
 
         /**
          */
-        default void setTopology(context.ContextOuterClass.Topology request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setTopology(context.ContextOuterClass.Topology request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetTopologyMethod(), responseObserver);
         }
 
         /**
          */
-        default void removeTopology(context.ContextOuterClass.TopologyId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void removeTopology(context.ContextOuterClass.TopologyId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRemoveTopologyMethod(), responseObserver);
         }
 
         /**
          */
-        default void getTopologyEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getTopologyEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetTopologyEventsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listDeviceIds(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listDeviceIds(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListDeviceIdsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listDevices(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listDevices(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListDevicesMethod(), responseObserver);
         }
 
         /**
          */
-        default void getDevice(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getDevice(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetDeviceMethod(), responseObserver);
         }
 
         /**
          */
-        default void setDevice(context.ContextOuterClass.Device request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setDevice(context.ContextOuterClass.Device request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetDeviceMethod(), responseObserver);
         }
 
         /**
          */
-        default void removeDevice(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void removeDevice(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRemoveDeviceMethod(), responseObserver);
         }
 
         /**
          */
-        default void getDeviceEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getDeviceEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetDeviceEventsMethod(), responseObserver);
         }
 
         /**
          */
-        default void selectDevice(context.ContextOuterClass.DeviceFilter request, io.grpc.stub.StreamObserver responseObserver) {
+        public void selectDevice(context.ContextOuterClass.DeviceFilter request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSelectDeviceMethod(), responseObserver);
         }
 
         /**
          */
-        default void listEndPointNames(context.ContextOuterClass.EndPointIdList request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listEndPointNames(context.ContextOuterClass.EndPointIdList request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListEndPointNamesMethod(), responseObserver);
         }
 
         /**
          */
-        default void listLinkIds(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listLinkIds(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListLinkIdsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listLinks(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listLinks(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListLinksMethod(), responseObserver);
         }
 
         /**
          */
-        default void getLink(context.ContextOuterClass.LinkId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getLink(context.ContextOuterClass.LinkId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetLinkMethod(), responseObserver);
         }
 
         /**
          */
-        default void setLink(context.ContextOuterClass.Link request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setLink(context.ContextOuterClass.Link request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetLinkMethod(), responseObserver);
         }
 
         /**
          */
-        default void removeLink(context.ContextOuterClass.LinkId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void removeLink(context.ContextOuterClass.LinkId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRemoveLinkMethod(), responseObserver);
         }
 
         /**
          */
-        default void getLinkEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getLinkEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetLinkEventsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listServiceIds(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listServiceIds(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListServiceIdsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listServices(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listServices(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListServicesMethod(), responseObserver);
         }
 
         /**
          */
-        default void getService(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getService(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetServiceMethod(), responseObserver);
         }
 
         /**
          */
-        default void setService(context.ContextOuterClass.Service request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setService(context.ContextOuterClass.Service request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetServiceMethod(), responseObserver);
         }
 
         /**
          */
-        default void unsetService(context.ContextOuterClass.Service request, io.grpc.stub.StreamObserver responseObserver) {
+        public void unsetService(context.ContextOuterClass.Service request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getUnsetServiceMethod(), responseObserver);
         }
 
         /**
          */
-        default void removeService(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void removeService(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRemoveServiceMethod(), responseObserver);
         }
 
         /**
          */
-        default void getServiceEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getServiceEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetServiceEventsMethod(), responseObserver);
         }
 
         /**
          */
-        default void selectService(context.ContextOuterClass.ServiceFilter request, io.grpc.stub.StreamObserver responseObserver) {
+        public void selectService(context.ContextOuterClass.ServiceFilter request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSelectServiceMethod(), responseObserver);
         }
 
         /**
          */
-        default void listSliceIds(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listSliceIds(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListSliceIdsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listSlices(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listSlices(context.ContextOuterClass.ContextId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListSlicesMethod(), responseObserver);
         }
 
         /**
          */
-        default void getSlice(context.ContextOuterClass.SliceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getSlice(context.ContextOuterClass.SliceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetSliceMethod(), responseObserver);
         }
 
         /**
          */
-        default void setSlice(context.ContextOuterClass.Slice request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setSlice(context.ContextOuterClass.Slice request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetSliceMethod(), responseObserver);
         }
 
         /**
          */
-        default void unsetSlice(context.ContextOuterClass.Slice request, io.grpc.stub.StreamObserver responseObserver) {
+        public void unsetSlice(context.ContextOuterClass.Slice request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getUnsetSliceMethod(), responseObserver);
         }
 
         /**
          */
-        default void removeSlice(context.ContextOuterClass.SliceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void removeSlice(context.ContextOuterClass.SliceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRemoveSliceMethod(), responseObserver);
         }
 
         /**
          */
-        default void getSliceEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getSliceEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetSliceEventsMethod(), responseObserver);
         }
 
         /**
          */
-        default void selectSlice(context.ContextOuterClass.SliceFilter request, io.grpc.stub.StreamObserver responseObserver) {
+        public void selectSlice(context.ContextOuterClass.SliceFilter request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSelectSliceMethod(), responseObserver);
         }
 
         /**
          */
-        default void listConnectionIds(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listConnectionIds(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListConnectionIdsMethod(), responseObserver);
         }
 
         /**
          */
-        default void listConnections(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void listConnections(context.ContextOuterClass.ServiceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getListConnectionsMethod(), responseObserver);
         }
 
         /**
          */
-        default void getConnection(context.ContextOuterClass.ConnectionId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getConnection(context.ContextOuterClass.ConnectionId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetConnectionMethod(), responseObserver);
         }
 
         /**
          */
-        default void setConnection(context.ContextOuterClass.Connection request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setConnection(context.ContextOuterClass.Connection request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetConnectionMethod(), responseObserver);
         }
 
         /**
          */
-        default void removeConnection(context.ContextOuterClass.ConnectionId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void removeConnection(context.ContextOuterClass.ConnectionId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getRemoveConnectionMethod(), responseObserver);
         }
 
         /**
          */
-        default void getConnectionEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getConnectionEvents(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetConnectionEventsMethod(), responseObserver);
         }
 
@@ -1184,54 +1183,47 @@ public final class ContextServiceGrpc {
          * ------------------------------ Experimental -----------------------------
          * 
*/ - default void getOpticalConfig(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { + public void getOpticalConfig(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetOpticalConfigMethod(), responseObserver); } /** */ - default void setOpticalConfig(context.ContextOuterClass.OpticalConfig request, io.grpc.stub.StreamObserver responseObserver) { + public void setOpticalConfig(context.ContextOuterClass.OpticalConfig request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetOpticalConfigMethod(), responseObserver); } /** */ - default void selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request, io.grpc.stub.StreamObserver responseObserver) { + public void selectOpticalConfig(context.ContextOuterClass.OpticalConfigId request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSelectOpticalConfigMethod(), responseObserver); } /** */ - default void setOpticalLink(context.ContextOuterClass.OpticalLink request, io.grpc.stub.StreamObserver responseObserver) { + public void setOpticalLink(context.ContextOuterClass.OpticalLink request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetOpticalLinkMethod(), responseObserver); } /** */ - default void getOpticalLink(context.ContextOuterClass.OpticalLinkId request, io.grpc.stub.StreamObserver responseObserver) { + public void getOpticalLink(context.ContextOuterClass.OpticalLinkId request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetOpticalLinkMethod(), responseObserver); } /** */ - default void getFiber(context.ContextOuterClass.FiberId request, io.grpc.stub.StreamObserver responseObserver) { + public void getFiber(context.ContextOuterClass.FiberId request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetFiberMethod(), responseObserver); } - } - - /** - * Base class for the server implementation of the service ContextService. - */ - public static abstract class ContextServiceImplBase implements io.grpc.BindableService, AsyncService { @java.lang.Override public io.grpc.ServerServiceDefinition bindService() { - return ContextServiceGrpc.bindService(this); + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getListContextIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONTEXT_IDS))).addMethod(getListContextsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONTEXTS))).addMethod(getGetContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_CONTEXT))).addMethod(getSetContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_CONTEXT))).addMethod(getRemoveContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_CONTEXT))).addMethod(getGetContextEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_CONTEXT_EVENTS))).addMethod(getListTopologyIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_TOPOLOGY_IDS))).addMethod(getListTopologiesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_TOPOLOGIES))).addMethod(getGetTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY))).addMethod(getGetTopologyDetailsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY_DETAILS))).addMethod(getSetTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_TOPOLOGY))).addMethod(getRemoveTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_TOPOLOGY))).addMethod(getGetTopologyEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_TOPOLOGY_EVENTS))).addMethod(getListDeviceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_DEVICE_IDS))).addMethod(getListDevicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_DEVICES))).addMethod(getGetDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_DEVICE))).addMethod(getSetDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_DEVICE))).addMethod(getRemoveDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_DEVICE))).addMethod(getGetDeviceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_DEVICE_EVENTS))).addMethod(getSelectDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_DEVICE))).addMethod(getListEndPointNamesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_END_POINT_NAMES))).addMethod(getListLinkIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_LINK_IDS))).addMethod(getListLinksMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_LINKS))).addMethod(getGetLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_LINK))).addMethod(getSetLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_LINK))).addMethod(getRemoveLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_LINK))).addMethod(getGetLinkEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_LINK_EVENTS))).addMethod(getListServiceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SERVICE_IDS))).addMethod(getListServicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SERVICES))).addMethod(getGetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_SERVICE))).addMethod(getSetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_SERVICE))).addMethod(getUnsetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_UNSET_SERVICE))).addMethod(getRemoveServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_SERVICE))).addMethod(getGetServiceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_SERVICE_EVENTS))).addMethod(getSelectServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_SERVICE))).addMethod(getListSliceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SLICE_IDS))).addMethod(getListSlicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_SLICES))).addMethod(getGetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_SLICE))).addMethod(getSetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_SLICE))).addMethod(getUnsetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_UNSET_SLICE))).addMethod(getRemoveSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_SLICE))).addMethod(getGetSliceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_SLICE_EVENTS))).addMethod(getSelectSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_SLICE))).addMethod(getListConnectionIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONNECTION_IDS))).addMethod(getListConnectionsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_LIST_CONNECTIONS))).addMethod(getGetConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_CONNECTION))).addMethod(getSetConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_CONNECTION))).addMethod(getRemoveConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_REMOVE_CONNECTION))).addMethod(getGetConnectionEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_CONNECTION_EVENTS))).addMethod(getGetOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_OPTICAL_CONFIG))).addMethod(getSetOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_OPTICAL_CONFIG))).addMethod(getSelectOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SELECT_OPTICAL_CONFIG))).addMethod(getSetOpticalLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_OPTICAL_LINK))).addMethod(getGetOpticalLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_OPTICAL_LINK))).addMethod(getGetFiberMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_FIBER))).build(); } } /** - * A stub to allow clients to do asynchronous rpc calls to service ContextService. */ public static class ContextServiceStub extends io.grpc.stub.AbstractAsyncStub { @@ -1579,7 +1571,6 @@ public final class ContextServiceGrpc { } /** - * A stub to allow clients to do synchronous rpc calls to service ContextService. */ public static class ContextServiceBlockingStub extends io.grpc.stub.AbstractBlockingStub { @@ -1927,7 +1918,6 @@ public final class ContextServiceGrpc { } /** - * A stub to allow clients to do ListenableFuture-style rpc calls to service ContextService. */ public static class ContextServiceFutureStub extends io.grpc.stub.AbstractFutureStub { @@ -2344,11 +2334,11 @@ public final class ContextServiceGrpc { private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, io.grpc.stub.ServerCalls.ServerStreamingMethod, io.grpc.stub.ServerCalls.ClientStreamingMethod, io.grpc.stub.ServerCalls.BidiStreamingMethod { - private final AsyncService serviceImpl; + private final ContextServiceImplBase serviceImpl; private final int methodId; - MethodHandlers(AsyncService serviceImpl, int methodId) { + MethodHandlers(ContextServiceImplBase serviceImpl, int methodId) { this.serviceImpl = serviceImpl; this.methodId = methodId; } @@ -2537,10 +2527,6 @@ public final class ContextServiceGrpc { } } - public static io.grpc.ServerServiceDefinition bindService(AsyncService service) { - return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getListContextIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONTEXT_IDS))).addMethod(getListContextsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONTEXTS))).addMethod(getGetContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_CONTEXT))).addMethod(getSetContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_CONTEXT))).addMethod(getRemoveContextMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_CONTEXT))).addMethod(getGetContextEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_CONTEXT_EVENTS))).addMethod(getListTopologyIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_TOPOLOGY_IDS))).addMethod(getListTopologiesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_TOPOLOGIES))).addMethod(getGetTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY))).addMethod(getGetTopologyDetailsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY_DETAILS))).addMethod(getSetTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_TOPOLOGY))).addMethod(getRemoveTopologyMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_TOPOLOGY))).addMethod(getGetTopologyEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_TOPOLOGY_EVENTS))).addMethod(getListDeviceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_DEVICE_IDS))).addMethod(getListDevicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_DEVICES))).addMethod(getGetDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_DEVICE))).addMethod(getSetDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_DEVICE))).addMethod(getRemoveDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_DEVICE))).addMethod(getGetDeviceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_DEVICE_EVENTS))).addMethod(getSelectDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_DEVICE))).addMethod(getListEndPointNamesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_END_POINT_NAMES))).addMethod(getListLinkIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_LINK_IDS))).addMethod(getListLinksMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_LINKS))).addMethod(getGetLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_LINK))).addMethod(getSetLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_LINK))).addMethod(getRemoveLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_LINK))).addMethod(getGetLinkEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_LINK_EVENTS))).addMethod(getListServiceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SERVICE_IDS))).addMethod(getListServicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SERVICES))).addMethod(getGetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_SERVICE))).addMethod(getSetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_SERVICE))).addMethod(getUnsetServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_UNSET_SERVICE))).addMethod(getRemoveServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_SERVICE))).addMethod(getGetServiceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_SERVICE_EVENTS))).addMethod(getSelectServiceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_SERVICE))).addMethod(getListSliceIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SLICE_IDS))).addMethod(getListSlicesMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_SLICES))).addMethod(getGetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_SLICE))).addMethod(getSetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_SLICE))).addMethod(getUnsetSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_UNSET_SLICE))).addMethod(getRemoveSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_SLICE))).addMethod(getGetSliceEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_SLICE_EVENTS))).addMethod(getSelectSliceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_SLICE))).addMethod(getListConnectionIdsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONNECTION_IDS))).addMethod(getListConnectionsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_LIST_CONNECTIONS))).addMethod(getGetConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_CONNECTION))).addMethod(getSetConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_CONNECTION))).addMethod(getRemoveConnectionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_REMOVE_CONNECTION))).addMethod(getGetConnectionEventsMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_CONNECTION_EVENTS))).addMethod(getGetOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_OPTICAL_CONFIG))).addMethod(getSetOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_OPTICAL_CONFIG))).addMethod(getSelectOpticalConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SELECT_OPTICAL_CONFIG))).addMethod(getSetOpticalLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_OPTICAL_LINK))).addMethod(getGetOpticalLinkMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_OPTICAL_LINK))).addMethod(getGetFiberMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_FIBER))).build(); - } - private static abstract class ContextServiceBaseDescriptorSupplier implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier { ContextServiceBaseDescriptorSupplier() { diff --git a/src/ztp/target/generated-sources/grpc/device/Device.java b/src/ztp/target/generated-sources/grpc/device/Device.java index a127e8f1c..93bd49040 100644 --- a/src/ztp/target/generated-sources/grpc/device/Device.java +++ b/src/ztp/target/generated-sources/grpc/device/Device.java @@ -86,6 +86,80 @@ public final class Device { return new MonitoringSettings(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private MonitoringSettings(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + monitoring.Monitoring.KpiId.Builder subBuilder = null; + if (kpiId_ != null) { + subBuilder = kpiId_.toBuilder(); + } + kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiId_); + kpiId_ = subBuilder.buildPartial(); + } + break; + } + case 18: + { + monitoring.Monitoring.KpiDescriptor.Builder subBuilder = null; + if (kpiDescriptor_ != null) { + subBuilder = kpiDescriptor_.toBuilder(); + } + kpiDescriptor_ = input.readMessage(monitoring.Monitoring.KpiDescriptor.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiDescriptor_); + kpiDescriptor_ = subBuilder.buildPartial(); + } + break; + } + case 29: + { + samplingDurationS_ = input.readFloat(); + break; + } + case 37: + { + samplingIntervalS_ = input.readFloat(); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return device.Device.internal_static_device_MonitoringSettings_descriptor; } @@ -122,7 +196,7 @@ public final class Device { */ @java.lang.Override public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { - return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + return getKpiId(); } public static final int KPI_DESCRIPTOR_FIELD_NUMBER = 2; @@ -152,12 +226,12 @@ public final class Device { */ @java.lang.Override public monitoring.Monitoring.KpiDescriptorOrBuilder getKpiDescriptorOrBuilder() { - return kpiDescriptor_ == null ? monitoring.Monitoring.KpiDescriptor.getDefaultInstance() : kpiDescriptor_; + return getKpiDescriptor(); } public static final int SAMPLING_DURATION_S_FIELD_NUMBER = 3; - private float samplingDurationS_ = 0F; + private float samplingDurationS_; /** * float sampling_duration_s = 3; @@ -170,7 +244,7 @@ public final class Device { public static final int SAMPLING_INTERVAL_S_FIELD_NUMBER = 4; - private float samplingIntervalS_ = 0F; + private float samplingIntervalS_; /** * float sampling_interval_s = 4; @@ -202,13 +276,13 @@ public final class Device { if (kpiDescriptor_ != null) { output.writeMessage(2, getKpiDescriptor()); } - if (java.lang.Float.floatToRawIntBits(samplingDurationS_) != 0) { + if (samplingDurationS_ != 0F) { output.writeFloat(3, samplingDurationS_); } - if (java.lang.Float.floatToRawIntBits(samplingIntervalS_) != 0) { + if (samplingIntervalS_ != 0F) { output.writeFloat(4, samplingIntervalS_); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -223,13 +297,13 @@ public final class Device { if (kpiDescriptor_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getKpiDescriptor()); } - if (java.lang.Float.floatToRawIntBits(samplingDurationS_) != 0) { + if (samplingDurationS_ != 0F) { size += com.google.protobuf.CodedOutputStream.computeFloatSize(3, samplingDurationS_); } - if (java.lang.Float.floatToRawIntBits(samplingIntervalS_) != 0) { + if (samplingIntervalS_ != 0F) { size += com.google.protobuf.CodedOutputStream.computeFloatSize(4, samplingIntervalS_); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -259,7 +333,7 @@ public final class Device { return false; if (java.lang.Float.floatToIntBits(getSamplingIntervalS()) != java.lang.Float.floatToIntBits(other.getSamplingIntervalS())) return false; - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -283,7 +357,7 @@ public final class Device { hash = (53 * hash) + java.lang.Float.floatToIntBits(getSamplingDurationS()); hash = (37 * hash) + SAMPLING_INTERVAL_S_FIELD_NUMBER; hash = (53 * hash) + java.lang.Float.floatToIntBits(getSamplingIntervalS()); - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -377,24 +451,32 @@ public final class Device { // Construct using device.Device.MonitoringSettings.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; - kpiId_ = null; - if (kpiIdBuilder_ != null) { - kpiIdBuilder_.dispose(); + if (kpiIdBuilder_ == null) { + kpiId_ = null; + } else { + kpiId_ = null; kpiIdBuilder_ = null; } - kpiDescriptor_ = null; - if (kpiDescriptorBuilder_ != null) { - kpiDescriptorBuilder_.dispose(); + if (kpiDescriptorBuilder_ == null) { + kpiDescriptor_ = null; + } else { + kpiDescriptor_ = null; kpiDescriptorBuilder_ = null; } samplingDurationS_ = 0F; @@ -424,27 +506,50 @@ public final class Device { @java.lang.Override public device.Device.MonitoringSettings buildPartial() { device.Device.MonitoringSettings result = new device.Device.MonitoringSettings(this); - if (bitField0_ != 0) { - buildPartial0(result); + if (kpiIdBuilder_ == null) { + result.kpiId_ = kpiId_; + } else { + result.kpiId_ = kpiIdBuilder_.build(); + } + if (kpiDescriptorBuilder_ == null) { + result.kpiDescriptor_ = kpiDescriptor_; + } else { + result.kpiDescriptor_ = kpiDescriptorBuilder_.build(); } + result.samplingDurationS_ = samplingDurationS_; + result.samplingIntervalS_ = samplingIntervalS_; onBuilt(); return result; } - private void buildPartial0(device.Device.MonitoringSettings result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.kpiId_ = kpiIdBuilder_ == null ? kpiId_ : kpiIdBuilder_.build(); - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.kpiDescriptor_ = kpiDescriptorBuilder_ == null ? kpiDescriptor_ : kpiDescriptorBuilder_.build(); - } - if (((from_bitField0_ & 0x00000004) != 0)) { - result.samplingDurationS_ = samplingDurationS_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.samplingIntervalS_ = samplingIntervalS_; - } + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -472,7 +577,7 @@ public final class Device { if (other.getSamplingIntervalS() != 0F) { setSamplingIntervalS(other.getSamplingIntervalS()); } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -484,68 +589,20 @@ public final class Device { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + device.Device.MonitoringSettings parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - input.readMessage(getKpiIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000001; - break; - } - // case 10 - case 18: - { - input.readMessage(getKpiDescriptorFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000002; - break; - } - // case 18 - case 29: - { - samplingDurationS_ = input.readFloat(); - bitField0_ |= 0x00000004; - break; - } - // case 29 - case 37: - { - samplingIntervalS_ = input.readFloat(); - bitField0_ |= 0x00000008; - break; - } - // case 37 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (device.Device.MonitoringSettings) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } - private int bitField0_; - private monitoring.Monitoring.KpiId kpiId_; private com.google.protobuf.SingleFieldBuilderV3 kpiIdBuilder_; @@ -555,7 +612,7 @@ public final class Device { * @return Whether the kpiId field is set. */ public boolean hasKpiId() { - return ((bitField0_ & 0x00000001) != 0); + return kpiIdBuilder_ != null || kpiId_ != null; } /** @@ -579,11 +636,10 @@ public final class Device { throw new NullPointerException(); } kpiId_ = value; + onChanged(); } else { kpiIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -593,11 +649,10 @@ public final class Device { public Builder setKpiId(monitoring.Monitoring.KpiId.Builder builderForValue) { if (kpiIdBuilder_ == null) { kpiId_ = builderForValue.build(); + onChanged(); } else { kpiIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -606,16 +661,15 @@ public final class Device { */ public Builder mergeKpiId(monitoring.Monitoring.KpiId value) { if (kpiIdBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0) && kpiId_ != null && kpiId_ != monitoring.Monitoring.KpiId.getDefaultInstance()) { - getKpiIdBuilder().mergeFrom(value); + if (kpiId_ != null) { + kpiId_ = monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial(); } else { kpiId_ = value; } + onChanged(); } else { kpiIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -623,13 +677,13 @@ public final class Device { * .monitoring.KpiId kpi_id = 1; */ public Builder clearKpiId() { - bitField0_ = (bitField0_ & ~0x00000001); - kpiId_ = null; - if (kpiIdBuilder_ != null) { - kpiIdBuilder_.dispose(); + if (kpiIdBuilder_ == null) { + kpiId_ = null; + onChanged(); + } else { + kpiId_ = null; kpiIdBuilder_ = null; } - onChanged(); return this; } @@ -637,7 +691,6 @@ public final class Device { * .monitoring.KpiId kpi_id = 1; */ public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() { - bitField0_ |= 0x00000001; onChanged(); return getKpiIdFieldBuilder().getBuilder(); } @@ -673,7 +726,7 @@ public final class Device { * @return Whether the kpiDescriptor field is set. */ public boolean hasKpiDescriptor() { - return ((bitField0_ & 0x00000002) != 0); + return kpiDescriptorBuilder_ != null || kpiDescriptor_ != null; } /** @@ -697,11 +750,10 @@ public final class Device { throw new NullPointerException(); } kpiDescriptor_ = value; + onChanged(); } else { kpiDescriptorBuilder_.setMessage(value); } - bitField0_ |= 0x00000002; - onChanged(); return this; } @@ -711,11 +763,10 @@ public final class Device { public Builder setKpiDescriptor(monitoring.Monitoring.KpiDescriptor.Builder builderForValue) { if (kpiDescriptorBuilder_ == null) { kpiDescriptor_ = builderForValue.build(); + onChanged(); } else { kpiDescriptorBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000002; - onChanged(); return this; } @@ -724,16 +775,15 @@ public final class Device { */ public Builder mergeKpiDescriptor(monitoring.Monitoring.KpiDescriptor value) { if (kpiDescriptorBuilder_ == null) { - if (((bitField0_ & 0x00000002) != 0) && kpiDescriptor_ != null && kpiDescriptor_ != monitoring.Monitoring.KpiDescriptor.getDefaultInstance()) { - getKpiDescriptorBuilder().mergeFrom(value); + if (kpiDescriptor_ != null) { + kpiDescriptor_ = monitoring.Monitoring.KpiDescriptor.newBuilder(kpiDescriptor_).mergeFrom(value).buildPartial(); } else { kpiDescriptor_ = value; } + onChanged(); } else { kpiDescriptorBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000002; - onChanged(); return this; } @@ -741,13 +791,13 @@ public final class Device { * .monitoring.KpiDescriptor kpi_descriptor = 2; */ public Builder clearKpiDescriptor() { - bitField0_ = (bitField0_ & ~0x00000002); - kpiDescriptor_ = null; - if (kpiDescriptorBuilder_ != null) { - kpiDescriptorBuilder_.dispose(); + if (kpiDescriptorBuilder_ == null) { + kpiDescriptor_ = null; + onChanged(); + } else { + kpiDescriptor_ = null; kpiDescriptorBuilder_ = null; } - onChanged(); return this; } @@ -755,7 +805,6 @@ public final class Device { * .monitoring.KpiDescriptor kpi_descriptor = 2; */ public monitoring.Monitoring.KpiDescriptor.Builder getKpiDescriptorBuilder() { - bitField0_ |= 0x00000002; onChanged(); return getKpiDescriptorFieldBuilder().getBuilder(); } @@ -800,7 +849,6 @@ public final class Device { */ public Builder setSamplingDurationS(float value) { samplingDurationS_ = value; - bitField0_ |= 0x00000004; onChanged(); return this; } @@ -810,7 +858,6 @@ public final class Device { * @return This builder for chaining. */ public Builder clearSamplingDurationS() { - bitField0_ = (bitField0_ & ~0x00000004); samplingDurationS_ = 0F; onChanged(); return this; @@ -834,7 +881,6 @@ public final class Device { */ public Builder setSamplingIntervalS(float value) { samplingIntervalS_ = value; - bitField0_ |= 0x00000008; onChanged(); return this; } @@ -844,7 +890,6 @@ public final class Device { * @return This builder for chaining. */ public Builder clearSamplingIntervalS() { - bitField0_ = (bitField0_ & ~0x00000008); samplingIntervalS_ = 0F; onChanged(); return this; @@ -877,17 +922,7 @@ public final class Device { @java.lang.Override public MonitoringSettings parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new MonitoringSettings(input, extensionRegistry); } }; diff --git a/src/ztp/target/generated-sources/grpc/device/DeviceServiceGrpc.java b/src/ztp/target/generated-sources/grpc/device/DeviceServiceGrpc.java index 7e0cf9a8b..a6886d8d6 100644 --- a/src/ztp/target/generated-sources/grpc/device/DeviceServiceGrpc.java +++ b/src/ztp/target/generated-sources/grpc/device/DeviceServiceGrpc.java @@ -4,8 +4,7 @@ import static io.grpc.MethodDescriptor.generateFullMethodName; /** */ -@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.55.1)", comments = "Source: device.proto") -@io.grpc.stub.annotations.GrpcGenerated +@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.38.1)", comments = "Source: device.proto") public final class DeviceServiceGrpc { private DeviceServiceGrpc() { @@ -133,52 +132,45 @@ public final class DeviceServiceGrpc { /** */ - public interface AsyncService { + public static abstract class DeviceServiceImplBase implements io.grpc.BindableService { /** */ - default void addDevice(context.ContextOuterClass.Device request, io.grpc.stub.StreamObserver responseObserver) { + public void addDevice(context.ContextOuterClass.Device request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getAddDeviceMethod(), responseObserver); } /** */ - default void configureDevice(context.ContextOuterClass.Device request, io.grpc.stub.StreamObserver responseObserver) { + public void configureDevice(context.ContextOuterClass.Device request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getConfigureDeviceMethod(), responseObserver); } /** */ - default void deleteDevice(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) { + public void deleteDevice(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getDeleteDeviceMethod(), responseObserver); } /** */ - default void getInitialConfig(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) { + public void getInitialConfig(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetInitialConfigMethod(), responseObserver); } /** */ - default void monitorDeviceKpi(device.Device.MonitoringSettings request, io.grpc.stub.StreamObserver responseObserver) { + public void monitorDeviceKpi(device.Device.MonitoringSettings request, io.grpc.stub.StreamObserver responseObserver) { io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getMonitorDeviceKpiMethod(), responseObserver); } - } - - /** - * Base class for the server implementation of the service DeviceService. - */ - public static abstract class DeviceServiceImplBase implements io.grpc.BindableService, AsyncService { @java.lang.Override public io.grpc.ServerServiceDefinition bindService() { - return DeviceServiceGrpc.bindService(this); + return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getAddDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_ADD_DEVICE))).addMethod(getConfigureDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_CONFIGURE_DEVICE))).addMethod(getDeleteDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_DELETE_DEVICE))).addMethod(getGetInitialConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_INITIAL_CONFIG))).addMethod(getMonitorDeviceKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_MONITOR_DEVICE_KPI))).build(); } } /** - * A stub to allow clients to do asynchronous rpc calls to service DeviceService. */ public static class DeviceServiceStub extends io.grpc.stub.AbstractAsyncStub { @@ -223,7 +215,6 @@ public final class DeviceServiceGrpc { } /** - * A stub to allow clients to do synchronous rpc calls to service DeviceService. */ public static class DeviceServiceBlockingStub extends io.grpc.stub.AbstractBlockingStub { @@ -268,7 +259,6 @@ public final class DeviceServiceGrpc { } /** - * A stub to allow clients to do ListenableFuture-style rpc calls to service DeviceService. */ public static class DeviceServiceFutureStub extends io.grpc.stub.AbstractFutureStub { @@ -324,11 +314,11 @@ public final class DeviceServiceGrpc { private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, io.grpc.stub.ServerCalls.ServerStreamingMethod, io.grpc.stub.ServerCalls.ClientStreamingMethod, io.grpc.stub.ServerCalls.BidiStreamingMethod { - private final AsyncService serviceImpl; + private final DeviceServiceImplBase serviceImpl; private final int methodId; - MethodHandlers(AsyncService serviceImpl, int methodId) { + MethodHandlers(DeviceServiceImplBase serviceImpl, int methodId) { this.serviceImpl = serviceImpl; this.methodId = methodId; } @@ -367,10 +357,6 @@ public final class DeviceServiceGrpc { } } - public static io.grpc.ServerServiceDefinition bindService(AsyncService service) { - return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getAddDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_ADD_DEVICE))).addMethod(getConfigureDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_CONFIGURE_DEVICE))).addMethod(getDeleteDeviceMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_DELETE_DEVICE))).addMethod(getGetInitialConfigMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_INITIAL_CONFIG))).addMethod(getMonitorDeviceKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_MONITOR_DEVICE_KPI))).build(); - } - private static abstract class DeviceServiceBaseDescriptorSupplier implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier { DeviceServiceBaseDescriptorSupplier() { diff --git a/src/ztp/target/generated-sources/grpc/monitoring/Monitoring.java b/src/ztp/target/generated-sources/grpc/monitoring/Monitoring.java index 2f98ce3eb..4c80f4a06 100644 --- a/src/ztp/target/generated-sources/grpc/monitoring/Monitoring.java +++ b/src/ztp/target/generated-sources/grpc/monitoring/Monitoring.java @@ -211,6 +211,160 @@ public final class Monitoring { return new KpiDescriptor(); } + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private KpiDescriptor(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + monitoring.Monitoring.KpiId.Builder subBuilder = null; + if (kpiId_ != null) { + subBuilder = kpiId_.toBuilder(); + } + kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiId_); + kpiId_ = subBuilder.buildPartial(); + } + break; + } + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + kpiDescription_ = s; + break; + } + case 26: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + kpiIdList_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + kpiIdList_.add(input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry)); + break; + } + case 32: + { + int rawValue = input.readEnum(); + kpiSampleType_ = rawValue; + break; + } + case 42: + { + context.ContextOuterClass.DeviceId.Builder subBuilder = null; + if (deviceId_ != null) { + subBuilder = deviceId_.toBuilder(); + } + deviceId_ = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(deviceId_); + deviceId_ = subBuilder.buildPartial(); + } + break; + } + case 50: + { + context.ContextOuterClass.EndPointId.Builder subBuilder = null; + if (endpointId_ != null) { + subBuilder = endpointId_.toBuilder(); + } + endpointId_ = input.readMessage(context.ContextOuterClass.EndPointId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(endpointId_); + endpointId_ = subBuilder.buildPartial(); + } + break; + } + case 58: + { + context.ContextOuterClass.ServiceId.Builder subBuilder = null; + if (serviceId_ != null) { + subBuilder = serviceId_.toBuilder(); + } + serviceId_ = input.readMessage(context.ContextOuterClass.ServiceId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(serviceId_); + serviceId_ = subBuilder.buildPartial(); + } + break; + } + case 66: + { + context.ContextOuterClass.SliceId.Builder subBuilder = null; + if (sliceId_ != null) { + subBuilder = sliceId_.toBuilder(); + } + sliceId_ = input.readMessage(context.ContextOuterClass.SliceId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(sliceId_); + sliceId_ = subBuilder.buildPartial(); + } + break; + } + case 74: + { + context.ContextOuterClass.ConnectionId.Builder subBuilder = null; + if (connectionId_ != null) { + subBuilder = connectionId_.toBuilder(); + } + connectionId_ = input.readMessage(context.ContextOuterClass.ConnectionId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(connectionId_); + connectionId_ = subBuilder.buildPartial(); + } + break; + } + case 82: + { + context.ContextOuterClass.LinkId.Builder subBuilder = null; + if (linkId_ != null) { + subBuilder = linkId_.toBuilder(); + } + linkId_ = input.readMessage(context.ContextOuterClass.LinkId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(linkId_); + linkId_ = subBuilder.buildPartial(); + } + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + kpiIdList_ = java.util.Collections.unmodifiableList(kpiIdList_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return monitoring.Monitoring.internal_static_monitoring_KpiDescriptor_descriptor; } @@ -247,13 +401,12 @@ public final class Monitoring { */ @java.lang.Override public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { - return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + return getKpiId(); } public static final int KPI_DESCRIPTION_FIELD_NUMBER = 2; - @SuppressWarnings("serial") - private volatile java.lang.Object kpiDescription_ = ""; + private volatile java.lang.Object kpiDescription_; /** * string kpi_description = 2; @@ -290,7 +443,6 @@ public final class Monitoring { public static final int KPI_ID_LIST_FIELD_NUMBER = 3; - @SuppressWarnings("serial") private java.util.List kpiIdList_; /** @@ -335,7 +487,7 @@ public final class Monitoring { public static final int KPI_SAMPLE_TYPE_FIELD_NUMBER = 4; - private int kpiSampleType_ = 0; + private int kpiSampleType_; /** * .kpi_sample_types.KpiSampleType kpi_sample_type = 4; @@ -352,7 +504,8 @@ public final class Monitoring { */ @java.lang.Override public kpi_sample_types.KpiSampleTypes.KpiSampleType getKpiSampleType() { - kpi_sample_types.KpiSampleTypes.KpiSampleType result = kpi_sample_types.KpiSampleTypes.KpiSampleType.forNumber(kpiSampleType_); + @SuppressWarnings("deprecation") + kpi_sample_types.KpiSampleTypes.KpiSampleType result = kpi_sample_types.KpiSampleTypes.KpiSampleType.valueOf(kpiSampleType_); return result == null ? kpi_sample_types.KpiSampleTypes.KpiSampleType.UNRECOGNIZED : result; } @@ -383,7 +536,7 @@ public final class Monitoring { */ @java.lang.Override public context.ContextOuterClass.DeviceIdOrBuilder getDeviceIdOrBuilder() { - return deviceId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : deviceId_; + return getDeviceId(); } public static final int ENDPOINT_ID_FIELD_NUMBER = 6; @@ -413,7 +566,7 @@ public final class Monitoring { */ @java.lang.Override public context.ContextOuterClass.EndPointIdOrBuilder getEndpointIdOrBuilder() { - return endpointId_ == null ? context.ContextOuterClass.EndPointId.getDefaultInstance() : endpointId_; + return getEndpointId(); } public static final int SERVICE_ID_FIELD_NUMBER = 7; @@ -443,7 +596,7 @@ public final class Monitoring { */ @java.lang.Override public context.ContextOuterClass.ServiceIdOrBuilder getServiceIdOrBuilder() { - return serviceId_ == null ? context.ContextOuterClass.ServiceId.getDefaultInstance() : serviceId_; + return getServiceId(); } public static final int SLICE_ID_FIELD_NUMBER = 8; @@ -473,7 +626,7 @@ public final class Monitoring { */ @java.lang.Override public context.ContextOuterClass.SliceIdOrBuilder getSliceIdOrBuilder() { - return sliceId_ == null ? context.ContextOuterClass.SliceId.getDefaultInstance() : sliceId_; + return getSliceId(); } public static final int CONNECTION_ID_FIELD_NUMBER = 9; @@ -503,7 +656,7 @@ public final class Monitoring { */ @java.lang.Override public context.ContextOuterClass.ConnectionIdOrBuilder getConnectionIdOrBuilder() { - return connectionId_ == null ? context.ContextOuterClass.ConnectionId.getDefaultInstance() : connectionId_; + return getConnectionId(); } public static final int LINK_ID_FIELD_NUMBER = 10; @@ -533,7 +686,7 @@ public final class Monitoring { */ @java.lang.Override public context.ContextOuterClass.LinkIdOrBuilder getLinkIdOrBuilder() { - return linkId_ == null ? context.ContextOuterClass.LinkId.getDefaultInstance() : linkId_; + return getLinkId(); } private byte memoizedIsInitialized = -1; @@ -554,7 +707,7 @@ public final class Monitoring { if (kpiId_ != null) { output.writeMessage(1, getKpiId()); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(kpiDescription_)) { + if (!getKpiDescriptionBytes().isEmpty()) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, kpiDescription_); } for (int i = 0; i < kpiIdList_.size(); i++) { @@ -581,7 +734,7 @@ public final class Monitoring { if (linkId_ != null) { output.writeMessage(10, getLinkId()); } - getUnknownFields().writeTo(output); + unknownFields.writeTo(output); } @java.lang.Override @@ -593,7 +746,7 @@ public final class Monitoring { if (kpiId_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getKpiId()); } - if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(kpiDescription_)) { + if (!getKpiDescriptionBytes().isEmpty()) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, kpiDescription_); } for (int i = 0; i < kpiIdList_.size(); i++) { @@ -620,7 +773,7 @@ public final class Monitoring { if (linkId_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(10, getLinkId()); } - size += getUnknownFields().getSerializedSize(); + size += unknownFields.getSerializedSize(); memoizedSize = size; return size; } @@ -682,7 +835,7 @@ public final class Monitoring { if (!getLinkId().equals(other.getLinkId())) return false; } - if (!getUnknownFields().equals(other.getUnknownFields())) + if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -730,7 +883,7 @@ public final class Monitoring { hash = (37 * hash) + LINK_ID_FIELD_NUMBER; hash = (53 * hash) + getLinkId().hashCode(); } - hash = (29 * hash) + getUnknownFields().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; } @@ -824,58 +977,71 @@ public final class Monitoring { // Construct using monitoring.Monitoring.KpiDescriptor.newBuilder() private Builder() { + maybeForceBuilderInitialization(); } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getKpiIdListFieldBuilder(); + } } @java.lang.Override public Builder clear() { super.clear(); - bitField0_ = 0; - kpiId_ = null; - if (kpiIdBuilder_ != null) { - kpiIdBuilder_.dispose(); + if (kpiIdBuilder_ == null) { + kpiId_ = null; + } else { + kpiId_ = null; kpiIdBuilder_ = null; } kpiDescription_ = ""; if (kpiIdListBuilder_ == null) { kpiIdList_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); } else { - kpiIdList_ = null; kpiIdListBuilder_.clear(); } - bitField0_ = (bitField0_ & ~0x00000004); kpiSampleType_ = 0; - deviceId_ = null; - if (deviceIdBuilder_ != null) { - deviceIdBuilder_.dispose(); + if (deviceIdBuilder_ == null) { + deviceId_ = null; + } else { + deviceId_ = null; deviceIdBuilder_ = null; } - endpointId_ = null; - if (endpointIdBuilder_ != null) { - endpointIdBuilder_.dispose(); + if (endpointIdBuilder_ == null) { + endpointId_ = null; + } else { + endpointId_ = null; endpointIdBuilder_ = null; } - serviceId_ = null; - if (serviceIdBuilder_ != null) { - serviceIdBuilder_.dispose(); + if (serviceIdBuilder_ == null) { + serviceId_ = null; + } else { + serviceId_ = null; serviceIdBuilder_ = null; } - sliceId_ = null; - if (sliceIdBuilder_ != null) { - sliceIdBuilder_.dispose(); + if (sliceIdBuilder_ == null) { + sliceId_ = null; + } else { + sliceId_ = null; sliceIdBuilder_ = null; } - connectionId_ = null; - if (connectionIdBuilder_ != null) { - connectionIdBuilder_.dispose(); + if (connectionIdBuilder_ == null) { + connectionId_ = null; + } else { + connectionId_ = null; connectionIdBuilder_ = null; } - linkId_ = null; - if (linkIdBuilder_ != null) { - linkIdBuilder_.dispose(); + if (linkIdBuilder_ == null) { + linkId_ = null; + } else { + linkId_ = null; linkIdBuilder_ = null; } return this; @@ -903,55 +1069,85 @@ public final class Monitoring { @java.lang.Override public monitoring.Monitoring.KpiDescriptor buildPartial() { monitoring.Monitoring.KpiDescriptor result = new monitoring.Monitoring.KpiDescriptor(this); - buildPartialRepeatedFields(result); - if (bitField0_ != 0) { - buildPartial0(result); + int from_bitField0_ = bitField0_; + if (kpiIdBuilder_ == null) { + result.kpiId_ = kpiId_; + } else { + result.kpiId_ = kpiIdBuilder_.build(); } - onBuilt(); - return result; - } - - private void buildPartialRepeatedFields(monitoring.Monitoring.KpiDescriptor result) { + result.kpiDescription_ = kpiDescription_; if (kpiIdListBuilder_ == null) { - if (((bitField0_ & 0x00000004) != 0)) { + if (((bitField0_ & 0x00000001) != 0)) { kpiIdList_ = java.util.Collections.unmodifiableList(kpiIdList_); - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); } result.kpiIdList_ = kpiIdList_; } else { result.kpiIdList_ = kpiIdListBuilder_.build(); } - } - - private void buildPartial0(monitoring.Monitoring.KpiDescriptor result) { - int from_bitField0_ = bitField0_; - if (((from_bitField0_ & 0x00000001) != 0)) { - result.kpiId_ = kpiIdBuilder_ == null ? kpiId_ : kpiIdBuilder_.build(); - } - if (((from_bitField0_ & 0x00000002) != 0)) { - result.kpiDescription_ = kpiDescription_; - } - if (((from_bitField0_ & 0x00000008) != 0)) { - result.kpiSampleType_ = kpiSampleType_; - } - if (((from_bitField0_ & 0x00000010) != 0)) { - result.deviceId_ = deviceIdBuilder_ == null ? deviceId_ : deviceIdBuilder_.build(); + result.kpiSampleType_ = kpiSampleType_; + if (deviceIdBuilder_ == null) { + result.deviceId_ = deviceId_; + } else { + result.deviceId_ = deviceIdBuilder_.build(); } - if (((from_bitField0_ & 0x00000020) != 0)) { - result.endpointId_ = endpointIdBuilder_ == null ? endpointId_ : endpointIdBuilder_.build(); + if (endpointIdBuilder_ == null) { + result.endpointId_ = endpointId_; + } else { + result.endpointId_ = endpointIdBuilder_.build(); } - if (((from_bitField0_ & 0x00000040) != 0)) { - result.serviceId_ = serviceIdBuilder_ == null ? serviceId_ : serviceIdBuilder_.build(); + if (serviceIdBuilder_ == null) { + result.serviceId_ = serviceId_; + } else { + result.serviceId_ = serviceIdBuilder_.build(); } - if (((from_bitField0_ & 0x00000080) != 0)) { - result.sliceId_ = sliceIdBuilder_ == null ? sliceId_ : sliceIdBuilder_.build(); + if (sliceIdBuilder_ == null) { + result.sliceId_ = sliceId_; + } else { + result.sliceId_ = sliceIdBuilder_.build(); } - if (((from_bitField0_ & 0x00000100) != 0)) { - result.connectionId_ = connectionIdBuilder_ == null ? connectionId_ : connectionIdBuilder_.build(); + if (connectionIdBuilder_ == null) { + result.connectionId_ = connectionId_; + } else { + result.connectionId_ = connectionIdBuilder_.build(); } - if (((from_bitField0_ & 0x00000200) != 0)) { - result.linkId_ = linkIdBuilder_ == null ? linkId_ : linkIdBuilder_.build(); + if (linkIdBuilder_ == null) { + result.linkId_ = linkId_; + } else { + result.linkId_ = linkIdBuilder_.build(); } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); } @java.lang.Override @@ -972,14 +1168,13 @@ public final class Monitoring { } if (!other.getKpiDescription().isEmpty()) { kpiDescription_ = other.kpiDescription_; - bitField0_ |= 0x00000002; onChanged(); } if (kpiIdListBuilder_ == null) { if (!other.kpiIdList_.isEmpty()) { if (kpiIdList_.isEmpty()) { kpiIdList_ = other.kpiIdList_; - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); } else { ensureKpiIdListIsMutable(); kpiIdList_.addAll(other.kpiIdList_); @@ -992,7 +1187,7 @@ public final class Monitoring { kpiIdListBuilder_.dispose(); kpiIdListBuilder_ = null; kpiIdList_ = other.kpiIdList_; - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); kpiIdListBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getKpiIdListFieldBuilder() : null; } else { kpiIdListBuilder_.addAllMessages(other.kpiIdList_); @@ -1020,7 +1215,7 @@ public final class Monitoring { if (other.hasLinkId()) { mergeLinkId(other.getLinkId()); } - this.mergeUnknownFields(other.getUnknownFields()); + this.mergeUnknownFields(other.unknownFields); onChanged(); return this; } @@ -1032,110 +1227,17 @@ public final class Monitoring { @java.lang.Override public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { - if (extensionRegistry == null) { - throw new java.lang.NullPointerException(); - } + monitoring.Monitoring.KpiDescriptor parsedMessage = null; try { - boolean done = false; - while (!done) { - int tag = input.readTag(); - switch(tag) { - case 0: - done = true; - break; - case 10: - { - input.readMessage(getKpiIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000001; - break; - } - // case 10 - case 18: - { - kpiDescription_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000002; - break; - } - // case 18 - case 26: - { - monitoring.Monitoring.KpiId m = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry); - if (kpiIdListBuilder_ == null) { - ensureKpiIdListIsMutable(); - kpiIdList_.add(m); - } else { - kpiIdListBuilder_.addMessage(m); - } - break; - } - // case 26 - case 32: - { - kpiSampleType_ = input.readEnum(); - bitField0_ |= 0x00000008; - break; - } - // case 32 - case 42: - { - input.readMessage(getDeviceIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000010; - break; - } - // case 42 - case 50: - { - input.readMessage(getEndpointIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000020; - break; - } - // case 50 - case 58: - { - input.readMessage(getServiceIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000040; - break; - } - // case 58 - case 66: - { - input.readMessage(getSliceIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000080; - break; - } - // case 66 - case 74: - { - input.readMessage(getConnectionIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000100; - break; - } - // case 74 - case 82: - { - input.readMessage(getLinkIdFieldBuilder().getBuilder(), extensionRegistry); - bitField0_ |= 0x00000200; - break; - } - // case 82 - default: - { - if (!super.parseUnknownField(input, extensionRegistry, tag)) { - // was an endgroup tag - done = true; - } - break; - } - } - // switch (tag) - } - // while (!done) + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (monitoring.Monitoring.KpiDescriptor) e.getUnfinishedMessage(); throw e.unwrapIOException(); } finally { - onChanged(); + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } } - // finally return this; } @@ -1150,7 +1252,7 @@ public final class Monitoring { * @return Whether the kpiId field is set. */ public boolean hasKpiId() { - return ((bitField0_ & 0x00000001) != 0); + return kpiIdBuilder_ != null || kpiId_ != null; } /** @@ -1174,11 +1276,10 @@ public final class Monitoring { throw new NullPointerException(); } kpiId_ = value; + onChanged(); } else { kpiIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -1188,11 +1289,10 @@ public final class Monitoring { public Builder setKpiId(monitoring.Monitoring.KpiId.Builder builderForValue) { if (kpiIdBuilder_ == null) { kpiId_ = builderForValue.build(); + onChanged(); } else { kpiIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -1201,16 +1301,15 @@ public final class Monitoring { */ public Builder mergeKpiId(monitoring.Monitoring.KpiId value) { if (kpiIdBuilder_ == null) { - if (((bitField0_ & 0x00000001) != 0) && kpiId_ != null && kpiId_ != monitoring.Monitoring.KpiId.getDefaultInstance()) { - getKpiIdBuilder().mergeFrom(value); + if (kpiId_ != null) { + kpiId_ = monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial(); } else { kpiId_ = value; } + onChanged(); } else { kpiIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000001; - onChanged(); return this; } @@ -1218,13 +1317,13 @@ public final class Monitoring { * .monitoring.KpiId kpi_id = 1; */ public Builder clearKpiId() { - bitField0_ = (bitField0_ & ~0x00000001); - kpiId_ = null; - if (kpiIdBuilder_ != null) { - kpiIdBuilder_.dispose(); + if (kpiIdBuilder_ == null) { + kpiId_ = null; + onChanged(); + } else { + kpiId_ = null; kpiIdBuilder_ = null; } - onChanged(); return this; } @@ -1232,7 +1331,6 @@ public final class Monitoring { * .monitoring.KpiId kpi_id = 1; */ public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() { - bitField0_ |= 0x00000001; onChanged(); return getKpiIdFieldBuilder().getBuilder(); } @@ -1302,7 +1400,6 @@ public final class Monitoring { throw new NullPointerException(); } kpiDescription_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -1313,7 +1410,6 @@ public final class Monitoring { */ public Builder clearKpiDescription() { kpiDescription_ = getDefaultInstance().getKpiDescription(); - bitField0_ = (bitField0_ & ~0x00000002); onChanged(); return this; } @@ -1329,7 +1425,6 @@ public final class Monitoring { } checkByteStringIsUtf8(value); kpiDescription_ = value; - bitField0_ |= 0x00000002; onChanged(); return this; } @@ -1337,9 +1432,9 @@ public final class Monitoring { private java.util.List kpiIdList_ = java.util.Collections.emptyList(); private void ensureKpiIdListIsMutable() { - if (!((bitField0_ & 0x00000004) != 0)) { + if (!((bitField0_ & 0x00000001) != 0)) { kpiIdList_ = new java.util.ArrayList(kpiIdList_); - bitField0_ |= 0x00000004; + bitField0_ |= 0x00000001; } } @@ -1491,7 +1586,7 @@ public final class Monitoring { public Builder clearKpiIdList() { if (kpiIdListBuilder_ == null) { kpiIdList_ = java.util.Collections.emptyList(); - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000001); onChanged(); } else { kpiIdListBuilder_.clear(); @@ -1565,7 +1660,7 @@ public final class Monitoring { private com.google.protobuf.RepeatedFieldBuilderV3 getKpiIdListFieldBuilder() { if (kpiIdListBuilder_ == null) { - kpiIdListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(kpiIdList_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean()); + kpiIdListBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(kpiIdList_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); kpiIdList_ = null; } return kpiIdListBuilder_; @@ -1589,7 +1684,6 @@ public final class Monitoring { */ public Builder setKpiSampleTypeValue(int value) { kpiSampleType_ = value; - bitField0_ |= 0x00000008; onChanged(); return this; } @@ -1600,7 +1694,8 @@ public final class Monitoring { */ @java.lang.Override public kpi_sample_types.KpiSampleTypes.KpiSampleType getKpiSampleType() { - kpi_sample_types.KpiSampleTypes.KpiSampleType result = kpi_sample_types.KpiSampleTypes.KpiSampleType.forNumber(kpiSampleType_); + @SuppressWarnings("deprecation") + kpi_sample_types.KpiSampleTypes.KpiSampleType result = kpi_sample_types.KpiSampleTypes.KpiSampleType.valueOf(kpiSampleType_); return result == null ? kpi_sample_types.KpiSampleTypes.KpiSampleType.UNRECOGNIZED : result; } @@ -1613,7 +1708,6 @@ public final class Monitoring { if (value == null) { throw new NullPointerException(); } - bitField0_ |= 0x00000008; kpiSampleType_ = value.getNumber(); onChanged(); return this; @@ -1624,7 +1718,6 @@ public final class Monitoring { * @return This builder for chaining. */ public Builder clearKpiSampleType() { - bitField0_ = (bitField0_ & ~0x00000008); kpiSampleType_ = 0; onChanged(); return this; @@ -1639,7 +1732,7 @@ public final class Monitoring { * @return Whether the deviceId field is set. */ public boolean hasDeviceId() { - return ((bitField0_ & 0x00000010) != 0); + return deviceIdBuilder_ != null || deviceId_ != null; } /** @@ -1663,11 +1756,10 @@ public final class Monitoring { throw new NullPointerException(); } deviceId_ = value; + onChanged(); } else { deviceIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000010; - onChanged(); return this; } @@ -1677,11 +1769,10 @@ public final class Monitoring { public Builder setDeviceId(context.ContextOuterClass.DeviceId.Builder builderForValue) { if (deviceIdBuilder_ == null) { deviceId_ = builderForValue.build(); + onChanged(); } else { deviceIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000010; - onChanged(); return this; } @@ -1690,16 +1781,15 @@ public final class Monitoring { */ public Builder mergeDeviceId(context.ContextOuterClass.DeviceId value) { if (deviceIdBuilder_ == null) { - if (((bitField0_ & 0x00000010) != 0) && deviceId_ != null && deviceId_ != context.ContextOuterClass.DeviceId.getDefaultInstance()) { - getDeviceIdBuilder().mergeFrom(value); + if (deviceId_ != null) { + deviceId_ = context.ContextOuterClass.DeviceId.newBuilder(deviceId_).mergeFrom(value).buildPartial(); } else { deviceId_ = value; } + onChanged(); } else { deviceIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000010; - onChanged(); return this; } @@ -1707,13 +1797,13 @@ public final class Monitoring { * .context.DeviceId device_id = 5; */ public Builder clearDeviceId() { - bitField0_ = (bitField0_ & ~0x00000010); - deviceId_ = null; - if (deviceIdBuilder_ != null) { - deviceIdBuilder_.dispose(); + if (deviceIdBuilder_ == null) { + deviceId_ = null; + onChanged(); + } else { + deviceId_ = null; deviceIdBuilder_ = null; } - onChanged(); return this; } @@ -1721,7 +1811,6 @@ public final class Monitoring { * .context.DeviceId device_id = 5; */ public context.ContextOuterClass.DeviceId.Builder getDeviceIdBuilder() { - bitField0_ |= 0x00000010; onChanged(); return getDeviceIdFieldBuilder().getBuilder(); } @@ -1757,7 +1846,7 @@ public final class Monitoring { * @return Whether the endpointId field is set. */ public boolean hasEndpointId() { - return ((bitField0_ & 0x00000020) != 0); + return endpointIdBuilder_ != null || endpointId_ != null; } /** @@ -1781,11 +1870,10 @@ public final class Monitoring { throw new NullPointerException(); } endpointId_ = value; + onChanged(); } else { endpointIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000020; - onChanged(); return this; } @@ -1795,11 +1883,10 @@ public final class Monitoring { public Builder setEndpointId(context.ContextOuterClass.EndPointId.Builder builderForValue) { if (endpointIdBuilder_ == null) { endpointId_ = builderForValue.build(); + onChanged(); } else { endpointIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000020; - onChanged(); return this; } @@ -1808,16 +1895,15 @@ public final class Monitoring { */ public Builder mergeEndpointId(context.ContextOuterClass.EndPointId value) { if (endpointIdBuilder_ == null) { - if (((bitField0_ & 0x00000020) != 0) && endpointId_ != null && endpointId_ != context.ContextOuterClass.EndPointId.getDefaultInstance()) { - getEndpointIdBuilder().mergeFrom(value); + if (endpointId_ != null) { + endpointId_ = context.ContextOuterClass.EndPointId.newBuilder(endpointId_).mergeFrom(value).buildPartial(); } else { endpointId_ = value; } + onChanged(); } else { endpointIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000020; - onChanged(); return this; } @@ -1825,13 +1911,13 @@ public final class Monitoring { * .context.EndPointId endpoint_id = 6; */ public Builder clearEndpointId() { - bitField0_ = (bitField0_ & ~0x00000020); - endpointId_ = null; - if (endpointIdBuilder_ != null) { - endpointIdBuilder_.dispose(); + if (endpointIdBuilder_ == null) { + endpointId_ = null; + onChanged(); + } else { + endpointId_ = null; endpointIdBuilder_ = null; } - onChanged(); return this; } @@ -1839,7 +1925,6 @@ public final class Monitoring { * .context.EndPointId endpoint_id = 6; */ public context.ContextOuterClass.EndPointId.Builder getEndpointIdBuilder() { - bitField0_ |= 0x00000020; onChanged(); return getEndpointIdFieldBuilder().getBuilder(); } @@ -1875,7 +1960,7 @@ public final class Monitoring { * @return Whether the serviceId field is set. */ public boolean hasServiceId() { - return ((bitField0_ & 0x00000040) != 0); + return serviceIdBuilder_ != null || serviceId_ != null; } /** @@ -1899,11 +1984,10 @@ public final class Monitoring { throw new NullPointerException(); } serviceId_ = value; + onChanged(); } else { serviceIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000040; - onChanged(); return this; } @@ -1913,11 +1997,10 @@ public final class Monitoring { public Builder setServiceId(context.ContextOuterClass.ServiceId.Builder builderForValue) { if (serviceIdBuilder_ == null) { serviceId_ = builderForValue.build(); + onChanged(); } else { serviceIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000040; - onChanged(); return this; } @@ -1926,16 +2009,15 @@ public final class Monitoring { */ public Builder mergeServiceId(context.ContextOuterClass.ServiceId value) { if (serviceIdBuilder_ == null) { - if (((bitField0_ & 0x00000040) != 0) && serviceId_ != null && serviceId_ != context.ContextOuterClass.ServiceId.getDefaultInstance()) { - getServiceIdBuilder().mergeFrom(value); + if (serviceId_ != null) { + serviceId_ = context.ContextOuterClass.ServiceId.newBuilder(serviceId_).mergeFrom(value).buildPartial(); } else { serviceId_ = value; } + onChanged(); } else { serviceIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000040; - onChanged(); return this; } @@ -1943,13 +2025,13 @@ public final class Monitoring { * .context.ServiceId service_id = 7; */ public Builder clearServiceId() { - bitField0_ = (bitField0_ & ~0x00000040); - serviceId_ = null; - if (serviceIdBuilder_ != null) { - serviceIdBuilder_.dispose(); + if (serviceIdBuilder_ == null) { + serviceId_ = null; + onChanged(); + } else { + serviceId_ = null; serviceIdBuilder_ = null; } - onChanged(); return this; } @@ -1957,7 +2039,6 @@ public final class Monitoring { * .context.ServiceId service_id = 7; */ public context.ContextOuterClass.ServiceId.Builder getServiceIdBuilder() { - bitField0_ |= 0x00000040; onChanged(); return getServiceIdFieldBuilder().getBuilder(); } @@ -1993,7 +2074,7 @@ public final class Monitoring { * @return Whether the sliceId field is set. */ public boolean hasSliceId() { - return ((bitField0_ & 0x00000080) != 0); + return sliceIdBuilder_ != null || sliceId_ != null; } /** @@ -2017,11 +2098,10 @@ public final class Monitoring { throw new NullPointerException(); } sliceId_ = value; + onChanged(); } else { sliceIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000080; - onChanged(); return this; } @@ -2031,11 +2111,10 @@ public final class Monitoring { public Builder setSliceId(context.ContextOuterClass.SliceId.Builder builderForValue) { if (sliceIdBuilder_ == null) { sliceId_ = builderForValue.build(); + onChanged(); } else { sliceIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000080; - onChanged(); return this; } @@ -2044,16 +2123,15 @@ public final class Monitoring { */ public Builder mergeSliceId(context.ContextOuterClass.SliceId value) { if (sliceIdBuilder_ == null) { - if (((bitField0_ & 0x00000080) != 0) && sliceId_ != null && sliceId_ != context.ContextOuterClass.SliceId.getDefaultInstance()) { - getSliceIdBuilder().mergeFrom(value); + if (sliceId_ != null) { + sliceId_ = context.ContextOuterClass.SliceId.newBuilder(sliceId_).mergeFrom(value).buildPartial(); } else { sliceId_ = value; } + onChanged(); } else { sliceIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000080; - onChanged(); return this; } @@ -2061,13 +2139,13 @@ public final class Monitoring { * .context.SliceId slice_id = 8; */ public Builder clearSliceId() { - bitField0_ = (bitField0_ & ~0x00000080); - sliceId_ = null; - if (sliceIdBuilder_ != null) { - sliceIdBuilder_.dispose(); + if (sliceIdBuilder_ == null) { + sliceId_ = null; + onChanged(); + } else { + sliceId_ = null; sliceIdBuilder_ = null; } - onChanged(); return this; } @@ -2075,7 +2153,6 @@ public final class Monitoring { * .context.SliceId slice_id = 8; */ public context.ContextOuterClass.SliceId.Builder getSliceIdBuilder() { - bitField0_ |= 0x00000080; onChanged(); return getSliceIdFieldBuilder().getBuilder(); } @@ -2111,7 +2188,7 @@ public final class Monitoring { * @return Whether the connectionId field is set. */ public boolean hasConnectionId() { - return ((bitField0_ & 0x00000100) != 0); + return connectionIdBuilder_ != null || connectionId_ != null; } /** @@ -2135,11 +2212,10 @@ public final class Monitoring { throw new NullPointerException(); } connectionId_ = value; + onChanged(); } else { connectionIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000100; - onChanged(); return this; } @@ -2149,11 +2225,10 @@ public final class Monitoring { public Builder setConnectionId(context.ContextOuterClass.ConnectionId.Builder builderForValue) { if (connectionIdBuilder_ == null) { connectionId_ = builderForValue.build(); + onChanged(); } else { connectionIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000100; - onChanged(); return this; } @@ -2162,16 +2237,15 @@ public final class Monitoring { */ public Builder mergeConnectionId(context.ContextOuterClass.ConnectionId value) { if (connectionIdBuilder_ == null) { - if (((bitField0_ & 0x00000100) != 0) && connectionId_ != null && connectionId_ != context.ContextOuterClass.ConnectionId.getDefaultInstance()) { - getConnectionIdBuilder().mergeFrom(value); + if (connectionId_ != null) { + connectionId_ = context.ContextOuterClass.ConnectionId.newBuilder(connectionId_).mergeFrom(value).buildPartial(); } else { connectionId_ = value; } + onChanged(); } else { connectionIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000100; - onChanged(); return this; } @@ -2179,13 +2253,13 @@ public final class Monitoring { * .context.ConnectionId connection_id = 9; */ public Builder clearConnectionId() { - bitField0_ = (bitField0_ & ~0x00000100); - connectionId_ = null; - if (connectionIdBuilder_ != null) { - connectionIdBuilder_.dispose(); + if (connectionIdBuilder_ == null) { + connectionId_ = null; + onChanged(); + } else { + connectionId_ = null; connectionIdBuilder_ = null; } - onChanged(); return this; } @@ -2193,7 +2267,6 @@ public final class Monitoring { * .context.ConnectionId connection_id = 9; */ public context.ContextOuterClass.ConnectionId.Builder getConnectionIdBuilder() { - bitField0_ |= 0x00000100; onChanged(); return getConnectionIdFieldBuilder().getBuilder(); } @@ -2229,7 +2302,7 @@ public final class Monitoring { * @return Whether the linkId field is set. */ public boolean hasLinkId() { - return ((bitField0_ & 0x00000200) != 0); + return linkIdBuilder_ != null || linkId_ != null; } /** @@ -2253,11 +2326,10 @@ public final class Monitoring { throw new NullPointerException(); } linkId_ = value; + onChanged(); } else { linkIdBuilder_.setMessage(value); } - bitField0_ |= 0x00000200; - onChanged(); return this; } @@ -2267,11 +2339,10 @@ public final class Monitoring { public Builder setLinkId(context.ContextOuterClass.LinkId.Builder builderForValue) { if (linkIdBuilder_ == null) { linkId_ = builderForValue.build(); + onChanged(); } else { linkIdBuilder_.setMessage(builderForValue.build()); } - bitField0_ |= 0x00000200; - onChanged(); return this; } @@ -2280,16 +2351,15 @@ public final class Monitoring { */ public Builder mergeLinkId(context.ContextOuterClass.LinkId value) { if (linkIdBuilder_ == null) { - if (((bitField0_ & 0x00000200) != 0) && linkId_ != null && linkId_ != context.ContextOuterClass.LinkId.getDefaultInstance()) { - getLinkIdBuilder().mergeFrom(value); + if (linkId_ != null) { + linkId_ = context.ContextOuterClass.LinkId.newBuilder(linkId_).mergeFrom(value).buildPartial(); } else { linkId_ = value; } + onChanged(); } else { linkIdBuilder_.mergeFrom(value); } - bitField0_ |= 0x00000200; - onChanged(); return this; } @@ -2297,13 +2367,13 @@ public final class Monitoring { * .context.LinkId link_id = 10; */ public Builder clearLinkId() { - bitField0_ = (bitField0_ & ~0x00000200); - linkId_ = null; - if (linkIdBuilder_ != null) { - linkIdBuilder_.dispose(); + if (linkIdBuilder_ == null) { + linkId_ = null; + onChanged(); + } else { + linkId_ = null; linkIdBuilder_ = null; } - onChanged(); return this; } @@ -2311,7 +2381,6 @@ public final class Monitoring { * .context.LinkId link_id = 10; */ public context.ContextOuterClass.LinkId.Builder getLinkIdBuilder() { - bitField0_ |= 0x00000200; onChanged(); return getLinkIdFieldBuilder().getBuilder(); } @@ -2365,17 +2434,7 @@ public final class Monitoring { @java.lang.Override public KpiDescriptor parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { - Builder builder = newBuilder(); - try { - builder.mergeFrom(input, extensionRegistry); - } catch (com.google.protobuf.InvalidProtocolBufferException e) { - throw e.setUnfinishedMessage(builder.buildPartial()); - } catch (com.google.protobuf.UninitializedMessageException e) { - throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); - } catch (java.io.IOException e) { - throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial()); - } - return builder.buildPartial(); + return new KpiDescriptor(input, extensionRegistry); } }; @@ -2453,17 +2512,78 @@ public final class Monitoring { return new MonitorKpiRequest(); } - public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { - return monitoring.Monitoring.internal_static_monitoring_MonitorKpiRequest_descriptor; - } - @java.lang.Override - protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { - return monitoring.Monitoring.internal_static_monitoring_MonitorKpiRequest_fieldAccessorTable.ensureFieldAccessorsInitialized(monitoring.Monitoring.MonitorKpiRequest.class, monitoring.Monitoring.MonitorKpiRequest.Builder.class); + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; } - public static final int KPI_ID_FIELD_NUMBER = 1; - + private MonitorKpiRequest(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch(tag) { + case 0: + done = true; + break; + case 10: + { + monitoring.Monitoring.KpiId.Builder subBuilder = null; + if (kpiId_ != null) { + subBuilder = kpiId_.toBuilder(); + } + kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(kpiId_); + kpiId_ = subBuilder.buildPartial(); + } + break; + } + case 21: + { + monitoringWindowS_ = input.readFloat(); + break; + } + case 29: + { + samplingRateS_ = input.readFloat(); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return monitoring.Monitoring.internal_static_monitoring_MonitorKpiRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { + return monitoring.Monitoring.internal_static_monitoring_MonitorKpiRequest_fieldAccessorTable.ensureFieldAccessorsInitialized(monitoring.Monitoring.MonitorKpiRequest.class, monitoring.Monitoring.MonitorKpiRequest.Builder.class); + } + + public static final int KPI_ID_FIELD_NUMBER = 1; + private monitoring.Monitoring.KpiId kpiId_; /** @@ -2489,12 +2609,12 @@ public final class Monitoring { */ @java.lang.Override public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() { - return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_; + return getKpiId(); } public static final int MONITORING_WINDOW_S_FIELD_NUMBER = 2; - private float monitoringWindowS_ = 0F; + private float monitoringWindowS_; /** * float monitoring_window_s = 2; @@ -2507,7 +2627,7 @@ public final class Monitoring { public static final int SAMPLING_RATE_S_FIELD_NUMBER = 3; - private float samplingRateS_ = 0F; + private float samplingRateS_; /** *
@@ -2540,13 +2660,13 @@ public final class Monitoring {
             if (kpiId_ != null) {
                 output.writeMessage(1, getKpiId());
             }
-            if (java.lang.Float.floatToRawIntBits(monitoringWindowS_) != 0) {
+            if (monitoringWindowS_ != 0F) {
                 output.writeFloat(2, monitoringWindowS_);
             }
-            if (java.lang.Float.floatToRawIntBits(samplingRateS_) != 0) {
+            if (samplingRateS_ != 0F) {
                 output.writeFloat(3, samplingRateS_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -2558,13 +2678,13 @@ public final class Monitoring {
             if (kpiId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getKpiId());
             }
-            if (java.lang.Float.floatToRawIntBits(monitoringWindowS_) != 0) {
+            if (monitoringWindowS_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(2, monitoringWindowS_);
             }
-            if (java.lang.Float.floatToRawIntBits(samplingRateS_) != 0) {
+            if (samplingRateS_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(3, samplingRateS_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -2588,7 +2708,7 @@ public final class Monitoring {
                 return false;
             if (java.lang.Float.floatToIntBits(getSamplingRateS()) != java.lang.Float.floatToIntBits(other.getSamplingRateS()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -2608,7 +2728,7 @@ public final class Monitoring {
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getMonitoringWindowS());
             hash = (37 * hash) + SAMPLING_RATE_S_FIELD_NUMBER;
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getSamplingRateS());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -2702,19 +2822,26 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.MonitorKpiRequest.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
                 monitoringWindowS_ = 0F;
@@ -2744,24 +2871,45 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.MonitorKpiRequest buildPartial() {
                 monitoring.Monitoring.MonitorKpiRequest result = new monitoring.Monitoring.MonitorKpiRequest(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (kpiIdBuilder_ == null) {
+                    result.kpiId_ = kpiId_;
+                } else {
+                    result.kpiId_ = kpiIdBuilder_.build();
                 }
+                result.monitoringWindowS_ = monitoringWindowS_;
+                result.samplingRateS_ = samplingRateS_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.MonitorKpiRequest result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.kpiId_ = kpiIdBuilder_ == null ? kpiId_ : kpiIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.monitoringWindowS_ = monitoringWindowS_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.samplingRateS_ = samplingRateS_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -2786,7 +2934,7 @@ public final class Monitoring {
                 if (other.getSamplingRateS() != 0F) {
                     setSamplingRateS(other.getSamplingRateS());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -2798,61 +2946,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.MonitorKpiRequest parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getKpiIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 21:
-                                {
-                                    monitoringWindowS_ = input.readFloat();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 21
-                            case 29:
-                                {
-                                    samplingRateS_ = input.readFloat();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 29
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.MonitorKpiRequest) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private monitoring.Monitoring.KpiId kpiId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 kpiIdBuilder_;
@@ -2862,7 +2969,7 @@ public final class Monitoring {
              * @return Whether the kpiId field is set.
              */
             public boolean hasKpiId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return kpiIdBuilder_ != null || kpiId_ != null;
             }
 
             /**
@@ -2886,11 +2993,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiId_ = value;
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -2900,11 +3006,10 @@ public final class Monitoring {
             public Builder setKpiId(monitoring.Monitoring.KpiId.Builder builderForValue) {
                 if (kpiIdBuilder_ == null) {
                     kpiId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -2913,16 +3018,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiId(monitoring.Monitoring.KpiId value) {
                 if (kpiIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && kpiId_ != null && kpiId_ != monitoring.Monitoring.KpiId.getDefaultInstance()) {
-                        getKpiIdBuilder().mergeFrom(value);
+                    if (kpiId_ != null) {
+                        kpiId_ = monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial();
                     } else {
                         kpiId_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -2930,13 +3034,13 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 1;
              */
             public Builder clearKpiId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                    onChanged();
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -2944,7 +3048,6 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 1;
              */
             public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getKpiIdFieldBuilder().getBuilder();
             }
@@ -2989,7 +3092,6 @@ public final class Monitoring {
              */
             public Builder setMonitoringWindowS(float value) {
                 monitoringWindowS_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -2999,7 +3101,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearMonitoringWindowS() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 monitoringWindowS_ = 0F;
                 onChanged();
                 return this;
@@ -3031,7 +3132,6 @@ public final class Monitoring {
              */
             public Builder setSamplingRateS(float value) {
                 samplingRateS_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -3045,7 +3145,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearSamplingRateS() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 samplingRateS_ = 0F;
                 onChanged();
                 return this;
@@ -3078,17 +3177,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public MonitorKpiRequest parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new MonitorKpiRequest(input, extensionRegistry);
             }
         };
 
@@ -3233,6 +3322,93 @@ public final class Monitoring {
             return new KpiQuery();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private KpiQuery(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    kpiIds_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                kpiIds_.add(input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry));
+                                break;
+                            }
+                        case 21:
+                            {
+                                monitoringWindowS_ = input.readFloat();
+                                break;
+                            }
+                        case 24:
+                            {
+                                lastNSamples_ = input.readUInt32();
+                                break;
+                            }
+                        case 34:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (startTimestamp_ != null) {
+                                    subBuilder = startTimestamp_.toBuilder();
+                                }
+                                startTimestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(startTimestamp_);
+                                    startTimestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 42:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (endTimestamp_ != null) {
+                                    subBuilder = endTimestamp_.toBuilder();
+                                }
+                                endTimestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endTimestamp_);
+                                    endTimestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    kpiIds_ = java.util.Collections.unmodifiableList(kpiIds_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_KpiQuery_descriptor;
         }
@@ -3244,7 +3420,6 @@ public final class Monitoring {
 
         public static final int KPI_IDS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List kpiIds_;
 
         /**
@@ -3289,7 +3464,7 @@ public final class Monitoring {
 
         public static final int MONITORING_WINDOW_S_FIELD_NUMBER = 2;
 
-        private float monitoringWindowS_ = 0F;
+        private float monitoringWindowS_;
 
         /**
          * float monitoring_window_s = 2;
@@ -3302,7 +3477,7 @@ public final class Monitoring {
 
         public static final int LAST_N_SAMPLES_FIELD_NUMBER = 3;
 
-        private int lastNSamples_ = 0;
+        private int lastNSamples_;
 
         /**
          * 
@@ -3356,7 +3531,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getStartTimestampOrBuilder() {
-            return startTimestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : startTimestamp_;
+            return getStartTimestamp();
         }
 
         public static final int END_TIMESTAMP_FIELD_NUMBER = 5;
@@ -3398,7 +3573,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getEndTimestampOrBuilder() {
-            return endTimestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : endTimestamp_;
+            return getEndTimestamp();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -3419,7 +3594,7 @@ public final class Monitoring {
             for (int i = 0; i < kpiIds_.size(); i++) {
                 output.writeMessage(1, kpiIds_.get(i));
             }
-            if (java.lang.Float.floatToRawIntBits(monitoringWindowS_) != 0) {
+            if (monitoringWindowS_ != 0F) {
                 output.writeFloat(2, monitoringWindowS_);
             }
             if (lastNSamples_ != 0) {
@@ -3431,7 +3606,7 @@ public final class Monitoring {
             if (endTimestamp_ != null) {
                 output.writeMessage(5, getEndTimestamp());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -3443,7 +3618,7 @@ public final class Monitoring {
             for (int i = 0; i < kpiIds_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, kpiIds_.get(i));
             }
-            if (java.lang.Float.floatToRawIntBits(monitoringWindowS_) != 0) {
+            if (monitoringWindowS_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(2, monitoringWindowS_);
             }
             if (lastNSamples_ != 0) {
@@ -3455,7 +3630,7 @@ public final class Monitoring {
             if (endTimestamp_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getEndTimestamp());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -3487,7 +3662,7 @@ public final class Monitoring {
                 if (!getEndTimestamp().equals(other.getEndTimestamp()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -3515,7 +3690,7 @@ public final class Monitoring {
                 hash = (37 * hash) + END_TIMESTAMP_FIELD_NUMBER;
                 hash = (53 * hash) + getEndTimestamp().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -3609,33 +3784,41 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.KpiQuery.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getKpiIdsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (kpiIdsBuilder_ == null) {
                     kpiIds_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    kpiIds_ = null;
                     kpiIdsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 monitoringWindowS_ = 0F;
                 lastNSamples_ = 0;
-                startTimestamp_ = null;
-                if (startTimestampBuilder_ != null) {
-                    startTimestampBuilder_.dispose();
+                if (startTimestampBuilder_ == null) {
+                    startTimestamp_ = null;
+                } else {
+                    startTimestamp_ = null;
                     startTimestampBuilder_ = null;
                 }
-                endTimestamp_ = null;
-                if (endTimestampBuilder_ != null) {
-                    endTimestampBuilder_.dispose();
+                if (endTimestampBuilder_ == null) {
+                    endTimestamp_ = null;
+                } else {
+                    endTimestamp_ = null;
                     endTimestampBuilder_ = null;
                 }
                 return this;
@@ -3663,15 +3846,7 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.KpiQuery buildPartial() {
                 monitoring.Monitoring.KpiQuery result = new monitoring.Monitoring.KpiQuery(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(monitoring.Monitoring.KpiQuery result) {
+                int from_bitField0_ = bitField0_;
                 if (kpiIdsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         kpiIds_ = java.util.Collections.unmodifiableList(kpiIds_);
@@ -3681,22 +3856,50 @@ public final class Monitoring {
                 } else {
                     result.kpiIds_ = kpiIdsBuilder_.build();
                 }
-            }
-
-            private void buildPartial0(monitoring.Monitoring.KpiQuery result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.monitoringWindowS_ = monitoringWindowS_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.lastNSamples_ = lastNSamples_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.startTimestamp_ = startTimestampBuilder_ == null ? startTimestamp_ : startTimestampBuilder_.build();
+                result.monitoringWindowS_ = monitoringWindowS_;
+                result.lastNSamples_ = lastNSamples_;
+                if (startTimestampBuilder_ == null) {
+                    result.startTimestamp_ = startTimestamp_;
+                } else {
+                    result.startTimestamp_ = startTimestampBuilder_.build();
                 }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.endTimestamp_ = endTimestampBuilder_ == null ? endTimestamp_ : endTimestampBuilder_.build();
+                if (endTimestampBuilder_ == null) {
+                    result.endTimestamp_ = endTimestamp_;
+                } else {
+                    result.endTimestamp_ = endTimestampBuilder_.build();
                 }
+                onBuilt();
+                return result;
+            }
+
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -3748,7 +3951,7 @@ public final class Monitoring {
                 if (other.hasEndTimestamp()) {
                     mergeEndTimestamp(other.getEndTimestamp());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -3760,75 +3963,17 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.KpiQuery parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    monitoring.Monitoring.KpiId m = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry);
-                                    if (kpiIdsBuilder_ == null) {
-                                        ensureKpiIdsIsMutable();
-                                        kpiIds_.add(m);
-                                    } else {
-                                        kpiIdsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            case 21:
-                                {
-                                    monitoringWindowS_ = input.readFloat();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 21
-                            case 24:
-                                {
-                                    lastNSamples_ = input.readUInt32();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 34:
-                                {
-                                    input.readMessage(getStartTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    input.readMessage(getEndTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 42
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.KpiQuery) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -4089,7 +4234,6 @@ public final class Monitoring {
              */
             public Builder setMonitoringWindowS(float value) {
                 monitoringWindowS_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -4099,7 +4243,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearMonitoringWindowS() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 monitoringWindowS_ = 0F;
                 onChanged();
                 return this;
@@ -4131,7 +4274,6 @@ public final class Monitoring {
              */
             public Builder setLastNSamples(int value) {
                 lastNSamples_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -4145,7 +4287,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearLastNSamples() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 lastNSamples_ = 0;
                 onChanged();
                 return this;
@@ -4164,7 +4305,7 @@ public final class Monitoring {
              * @return Whether the startTimestamp field is set.
              */
             public boolean hasStartTimestamp() {
-                return ((bitField0_ & 0x00000008) != 0);
+                return startTimestampBuilder_ != null || startTimestamp_ != null;
             }
 
             /**
@@ -4196,11 +4337,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     startTimestamp_ = value;
+                    onChanged();
                 } else {
                     startTimestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -4214,11 +4354,10 @@ public final class Monitoring {
             public Builder setStartTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (startTimestampBuilder_ == null) {
                     startTimestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     startTimestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -4231,16 +4370,15 @@ public final class Monitoring {
              */
             public Builder mergeStartTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (startTimestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0) && startTimestamp_ != null && startTimestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getStartTimestampBuilder().mergeFrom(value);
+                    if (startTimestamp_ != null) {
+                        startTimestamp_ = context.ContextOuterClass.Timestamp.newBuilder(startTimestamp_).mergeFrom(value).buildPartial();
                     } else {
                         startTimestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     startTimestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -4252,13 +4390,13 @@ public final class Monitoring {
              * .context.Timestamp start_timestamp = 4;
              */
             public Builder clearStartTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000008);
-                startTimestamp_ = null;
-                if (startTimestampBuilder_ != null) {
-                    startTimestampBuilder_.dispose();
+                if (startTimestampBuilder_ == null) {
+                    startTimestamp_ = null;
+                    onChanged();
+                } else {
+                    startTimestamp_ = null;
                     startTimestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -4270,7 +4408,6 @@ public final class Monitoring {
              * .context.Timestamp start_timestamp = 4;
              */
             public context.ContextOuterClass.Timestamp.Builder getStartTimestampBuilder() {
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return getStartTimestampFieldBuilder().getBuilder();
             }
@@ -4318,7 +4455,7 @@ public final class Monitoring {
              * @return Whether the endTimestamp field is set.
              */
             public boolean hasEndTimestamp() {
-                return ((bitField0_ & 0x00000010) != 0);
+                return endTimestampBuilder_ != null || endTimestamp_ != null;
             }
 
             /**
@@ -4350,11 +4487,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     endTimestamp_ = value;
+                    onChanged();
                 } else {
                     endTimestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -4368,11 +4504,10 @@ public final class Monitoring {
             public Builder setEndTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (endTimestampBuilder_ == null) {
                     endTimestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endTimestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -4385,16 +4520,15 @@ public final class Monitoring {
              */
             public Builder mergeEndTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (endTimestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000010) != 0) && endTimestamp_ != null && endTimestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getEndTimestampBuilder().mergeFrom(value);
+                    if (endTimestamp_ != null) {
+                        endTimestamp_ = context.ContextOuterClass.Timestamp.newBuilder(endTimestamp_).mergeFrom(value).buildPartial();
                     } else {
                         endTimestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     endTimestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -4406,13 +4540,13 @@ public final class Monitoring {
              * .context.Timestamp end_timestamp = 5;
              */
             public Builder clearEndTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000010);
-                endTimestamp_ = null;
-                if (endTimestampBuilder_ != null) {
-                    endTimestampBuilder_.dispose();
+                if (endTimestampBuilder_ == null) {
+                    endTimestamp_ = null;
+                    onChanged();
+                } else {
+                    endTimestamp_ = null;
                     endTimestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -4424,7 +4558,6 @@ public final class Monitoring {
              * .context.Timestamp end_timestamp = 5;
              */
             public context.ContextOuterClass.Timestamp.Builder getEndTimestampBuilder() {
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return getEndTimestampFieldBuilder().getBuilder();
             }
@@ -4486,17 +4619,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public KpiQuery parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new KpiQuery(input, extensionRegistry);
             }
         };
 
@@ -4579,6 +4702,70 @@ public final class Monitoring {
             return new RawKpi();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private RawKpi(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (timestamp_ != null) {
+                                    subBuilder = timestamp_.toBuilder();
+                                }
+                                timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(timestamp_);
+                                    timestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                monitoring.Monitoring.KpiValue.Builder subBuilder = null;
+                                if (kpiValue_ != null) {
+                                    subBuilder = kpiValue_.toBuilder();
+                                }
+                                kpiValue_ = input.readMessage(monitoring.Monitoring.KpiValue.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiValue_);
+                                    kpiValue_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_RawKpi_descriptor;
         }
@@ -4615,7 +4802,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() {
-            return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_;
+            return getTimestamp();
         }
 
         public static final int KPI_VALUE_FIELD_NUMBER = 2;
@@ -4645,7 +4832,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiValueOrBuilder getKpiValueOrBuilder() {
-            return kpiValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiValue_;
+            return getKpiValue();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -4669,7 +4856,7 @@ public final class Monitoring {
             if (kpiValue_ != null) {
                 output.writeMessage(2, getKpiValue());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -4684,7 +4871,7 @@ public final class Monitoring {
             if (kpiValue_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getKpiValue());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -4710,7 +4897,7 @@ public final class Monitoring {
                 if (!getKpiValue().equals(other.getKpiValue()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -4730,7 +4917,7 @@ public final class Monitoring {
                 hash = (37 * hash) + KPI_VALUE_FIELD_NUMBER;
                 hash = (53 * hash) + getKpiValue().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -4828,24 +5015,32 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.RawKpi.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
-                kpiValue_ = null;
-                if (kpiValueBuilder_ != null) {
-                    kpiValueBuilder_.dispose();
+                if (kpiValueBuilder_ == null) {
+                    kpiValue_ = null;
+                } else {
+                    kpiValue_ = null;
                     kpiValueBuilder_ = null;
                 }
                 return this;
@@ -4873,43 +5068,70 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.RawKpi buildPartial() {
                 monitoring.Monitoring.RawKpi result = new monitoring.Monitoring.RawKpi(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (timestampBuilder_ == null) {
+                    result.timestamp_ = timestamp_;
+                } else {
+                    result.timestamp_ = timestampBuilder_.build();
+                }
+                if (kpiValueBuilder_ == null) {
+                    result.kpiValue_ = kpiValue_;
+                } else {
+                    result.kpiValue_ = kpiValueBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.RawKpi result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.timestamp_ = timestampBuilder_ == null ? timestamp_ : timestampBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.kpiValue_ = kpiValueBuilder_ == null ? kpiValue_ : kpiValueBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
             }
 
             @java.lang.Override
-            public Builder mergeFrom(com.google.protobuf.Message other) {
-                if (other instanceof monitoring.Monitoring.RawKpi) {
-                    return mergeFrom((monitoring.Monitoring.RawKpi) other);
-                } else {
-                    super.mergeFrom(other);
-                    return this;
-                }
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
             }
 
-            public Builder mergeFrom(monitoring.Monitoring.RawKpi other) {
-                if (other == monitoring.Monitoring.RawKpi.getDefaultInstance())
-                    return this;
-                if (other.hasTimestamp()) {
-                    mergeTimestamp(other.getTimestamp());
-                }
-                if (other.hasKpiValue()) {
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder mergeFrom(com.google.protobuf.Message other) {
+                if (other instanceof monitoring.Monitoring.RawKpi) {
+                    return mergeFrom((monitoring.Monitoring.RawKpi) other);
+                } else {
+                    super.mergeFrom(other);
+                    return this;
+                }
+            }
+
+            public Builder mergeFrom(monitoring.Monitoring.RawKpi other) {
+                if (other == monitoring.Monitoring.RawKpi.getDefaultInstance())
+                    return this;
+                if (other.hasTimestamp()) {
+                    mergeTimestamp(other.getTimestamp());
+                }
+                if (other.hasKpiValue()) {
                     mergeKpiValue(other.getKpiValue());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -4921,54 +5143,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.RawKpi parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getKpiValueFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.RawKpi) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Timestamp timestamp_;
 
             private com.google.protobuf.SingleFieldBuilderV3 timestampBuilder_;
@@ -4978,7 +5166,7 @@ public final class Monitoring {
              * @return Whether the timestamp field is set.
              */
             public boolean hasTimestamp() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return timestampBuilder_ != null || timestamp_ != null;
             }
 
             /**
@@ -5002,11 +5190,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     timestamp_ = value;
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -5016,11 +5203,10 @@ public final class Monitoring {
             public Builder setTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (timestampBuilder_ == null) {
                     timestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -5029,16 +5215,15 @@ public final class Monitoring {
              */
             public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (timestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && timestamp_ != null && timestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getTimestampBuilder().mergeFrom(value);
+                    if (timestamp_ != null) {
+                        timestamp_ = context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial();
                     } else {
                         timestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     timestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -5046,13 +5231,13 @@ public final class Monitoring {
              * .context.Timestamp timestamp = 1;
              */
             public Builder clearTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                    onChanged();
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -5060,7 +5245,6 @@ public final class Monitoring {
              * .context.Timestamp timestamp = 1;
              */
             public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getTimestampFieldBuilder().getBuilder();
             }
@@ -5096,7 +5280,7 @@ public final class Monitoring {
              * @return Whether the kpiValue field is set.
              */
             public boolean hasKpiValue() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return kpiValueBuilder_ != null || kpiValue_ != null;
             }
 
             /**
@@ -5120,11 +5304,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiValue_ = value;
+                    onChanged();
                 } else {
                     kpiValueBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -5134,11 +5317,10 @@ public final class Monitoring {
             public Builder setKpiValue(monitoring.Monitoring.KpiValue.Builder builderForValue) {
                 if (kpiValueBuilder_ == null) {
                     kpiValue_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiValueBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -5147,16 +5329,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiValue(monitoring.Monitoring.KpiValue value) {
                 if (kpiValueBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && kpiValue_ != null && kpiValue_ != monitoring.Monitoring.KpiValue.getDefaultInstance()) {
-                        getKpiValueBuilder().mergeFrom(value);
+                    if (kpiValue_ != null) {
+                        kpiValue_ = monitoring.Monitoring.KpiValue.newBuilder(kpiValue_).mergeFrom(value).buildPartial();
                     } else {
                         kpiValue_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiValueBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -5164,13 +5345,13 @@ public final class Monitoring {
              * .monitoring.KpiValue kpi_value = 2;
              */
             public Builder clearKpiValue() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                kpiValue_ = null;
-                if (kpiValueBuilder_ != null) {
-                    kpiValueBuilder_.dispose();
+                if (kpiValueBuilder_ == null) {
+                    kpiValue_ = null;
+                    onChanged();
+                } else {
+                    kpiValue_ = null;
                     kpiValueBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -5178,7 +5359,6 @@ public final class Monitoring {
              * .monitoring.KpiValue kpi_value = 2;
              */
             public monitoring.Monitoring.KpiValue.Builder getKpiValueBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getKpiValueFieldBuilder().getBuilder();
             }
@@ -5232,17 +5412,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public RawKpi parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new RawKpi(input, extensionRegistry);
             }
         };
 
@@ -5334,6 +5504,70 @@ public final class Monitoring {
             return new RawKpiList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private RawKpiList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                monitoring.Monitoring.KpiId.Builder subBuilder = null;
+                                if (kpiId_ != null) {
+                                    subBuilder = kpiId_.toBuilder();
+                                }
+                                kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiId_);
+                                    kpiId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    rawKpis_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                rawKpis_.add(input.readMessage(monitoring.Monitoring.RawKpi.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    rawKpis_ = java.util.Collections.unmodifiableList(rawKpis_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_RawKpiList_descriptor;
         }
@@ -5370,12 +5604,11 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() {
-            return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_;
+            return getKpiId();
         }
 
         public static final int RAW_KPIS_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
         private java.util.List rawKpis_;
 
         /**
@@ -5439,7 +5672,7 @@ public final class Monitoring {
             for (int i = 0; i < rawKpis_.size(); i++) {
                 output.writeMessage(2, rawKpis_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -5454,7 +5687,7 @@ public final class Monitoring {
             for (int i = 0; i < rawKpis_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, rawKpis_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -5476,7 +5709,7 @@ public final class Monitoring {
             }
             if (!getRawKpisList().equals(other.getRawKpisList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -5496,7 +5729,7 @@ public final class Monitoring {
                 hash = (37 * hash) + RAW_KPIS_FIELD_NUMBER;
                 hash = (53 * hash) + getRawKpisList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -5594,28 +5827,35 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.RawKpiList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getRawKpisFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
                 if (rawKpisBuilder_ == null) {
                     rawKpis_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    rawKpis_ = null;
                     rawKpisBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000002);
                 return this;
             }
 
@@ -5641,31 +5881,53 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.RawKpiList buildPartial() {
                 monitoring.Monitoring.RawKpiList result = new monitoring.Monitoring.RawKpiList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (kpiIdBuilder_ == null) {
+                    result.kpiId_ = kpiId_;
+                } else {
+                    result.kpiId_ = kpiIdBuilder_.build();
                 }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(monitoring.Monitoring.RawKpiList result) {
                 if (rawKpisBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0)) {
+                    if (((bitField0_ & 0x00000001) != 0)) {
                         rawKpis_ = java.util.Collections.unmodifiableList(rawKpis_);
-                        bitField0_ = (bitField0_ & ~0x00000002);
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     }
                     result.rawKpis_ = rawKpis_;
                 } else {
                     result.rawKpis_ = rawKpisBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.RawKpiList result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.kpiId_ = kpiIdBuilder_ == null ? kpiId_ : kpiIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -5688,7 +5950,7 @@ public final class Monitoring {
                     if (!other.rawKpis_.isEmpty()) {
                         if (rawKpis_.isEmpty()) {
                             rawKpis_ = other.rawKpis_;
-                            bitField0_ = (bitField0_ & ~0x00000002);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                         } else {
                             ensureRawKpisIsMutable();
                             rawKpis_.addAll(other.rawKpis_);
@@ -5701,14 +5963,14 @@ public final class Monitoring {
                             rawKpisBuilder_.dispose();
                             rawKpisBuilder_ = null;
                             rawKpis_ = other.rawKpis_;
-                            bitField0_ = (bitField0_ & ~0x00000002);
+                            bitField0_ = (bitField0_ & ~0x00000001);
                             rawKpisBuilder_ = com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? getRawKpisFieldBuilder() : null;
                         } else {
                             rawKpisBuilder_.addAllMessages(other.rawKpis_);
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -5720,54 +5982,17 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.RawKpiList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getKpiIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    monitoring.Monitoring.RawKpi m = input.readMessage(monitoring.Monitoring.RawKpi.parser(), extensionRegistry);
-                                    if (rawKpisBuilder_ == null) {
-                                        ensureRawKpisIsMutable();
-                                        rawKpis_.add(m);
-                                    } else {
-                                        rawKpisBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.RawKpiList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -5782,7 +6007,7 @@ public final class Monitoring {
              * @return Whether the kpiId field is set.
              */
             public boolean hasKpiId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return kpiIdBuilder_ != null || kpiId_ != null;
             }
 
             /**
@@ -5806,11 +6031,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiId_ = value;
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -5820,11 +6044,10 @@ public final class Monitoring {
             public Builder setKpiId(monitoring.Monitoring.KpiId.Builder builderForValue) {
                 if (kpiIdBuilder_ == null) {
                     kpiId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -5833,16 +6056,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiId(monitoring.Monitoring.KpiId value) {
                 if (kpiIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && kpiId_ != null && kpiId_ != monitoring.Monitoring.KpiId.getDefaultInstance()) {
-                        getKpiIdBuilder().mergeFrom(value);
+                    if (kpiId_ != null) {
+                        kpiId_ = monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial();
                     } else {
                         kpiId_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -5850,13 +6072,13 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 1;
              */
             public Builder clearKpiId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                    onChanged();
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -5864,7 +6086,6 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 1;
              */
             public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getKpiIdFieldBuilder().getBuilder();
             }
@@ -5894,9 +6115,9 @@ public final class Monitoring {
             private java.util.List rawKpis_ = java.util.Collections.emptyList();
 
             private void ensureRawKpisIsMutable() {
-                if (!((bitField0_ & 0x00000002) != 0)) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     rawKpis_ = new java.util.ArrayList(rawKpis_);
-                    bitField0_ |= 0x00000002;
+                    bitField0_ |= 0x00000001;
                 }
             }
 
@@ -6048,7 +6269,7 @@ public final class Monitoring {
             public Builder clearRawKpis() {
                 if (rawKpisBuilder_ == null) {
                     rawKpis_ = java.util.Collections.emptyList();
-                    bitField0_ = (bitField0_ & ~0x00000002);
+                    bitField0_ = (bitField0_ & ~0x00000001);
                     onChanged();
                 } else {
                     rawKpisBuilder_.clear();
@@ -6122,7 +6343,7 @@ public final class Monitoring {
 
             private com.google.protobuf.RepeatedFieldBuilderV3 getRawKpisFieldBuilder() {
                 if (rawKpisBuilder_ == null) {
-                    rawKpisBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(rawKpis_, ((bitField0_ & 0x00000002) != 0), getParentForChildren(), isClean());
+                    rawKpisBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3(rawKpis_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
                     rawKpis_ = null;
                 }
                 return rawKpisBuilder_;
@@ -6155,17 +6376,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public RawKpiList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new RawKpiList(input, extensionRegistry);
             }
         };
 
@@ -6240,6 +6451,57 @@ public final class Monitoring {
             return new RawKpiTable();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private RawKpiTable(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    rawKpiLists_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                rawKpiLists_.add(input.readMessage(monitoring.Monitoring.RawKpiList.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    rawKpiLists_ = java.util.Collections.unmodifiableList(rawKpiLists_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_RawKpiTable_descriptor;
         }
@@ -6251,7 +6513,6 @@ public final class Monitoring {
 
         public static final int RAW_KPI_LISTS_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List rawKpiLists_;
 
         /**
@@ -6312,7 +6573,7 @@ public final class Monitoring {
             for (int i = 0; i < rawKpiLists_.size(); i++) {
                 output.writeMessage(1, rawKpiLists_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -6324,7 +6585,7 @@ public final class Monitoring {
             for (int i = 0; i < rawKpiLists_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, rawKpiLists_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -6340,7 +6601,7 @@ public final class Monitoring {
             monitoring.Monitoring.RawKpiTable other = (monitoring.Monitoring.RawKpiTable) obj;
             if (!getRawKpiListsList().equals(other.getRawKpiListsList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -6356,7 +6617,7 @@ public final class Monitoring {
                 hash = (37 * hash) + RAW_KPI_LISTS_FIELD_NUMBER;
                 hash = (53 * hash) + getRawKpiListsList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -6454,23 +6715,29 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.RawKpiTable.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getRawKpiListsFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (rawKpiListsBuilder_ == null) {
                     rawKpiLists_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    rawKpiLists_ = null;
                     rawKpiListsBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -6496,15 +6763,7 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.RawKpiTable buildPartial() {
                 monitoring.Monitoring.RawKpiTable result = new monitoring.Monitoring.RawKpiTable(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(monitoring.Monitoring.RawKpiTable result) {
+                int from_bitField0_ = bitField0_;
                 if (rawKpiListsBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         rawKpiLists_ = java.util.Collections.unmodifiableList(rawKpiLists_);
@@ -6514,10 +6773,38 @@ public final class Monitoring {
                 } else {
                     result.rawKpiLists_ = rawKpiListsBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.RawKpiTable result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -6557,7 +6844,7 @@ public final class Monitoring {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -6569,47 +6856,17 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.RawKpiTable parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    monitoring.Monitoring.RawKpiList m = input.readMessage(monitoring.Monitoring.RawKpiList.parser(), extensionRegistry);
-                                    if (rawKpiListsBuilder_ == null) {
-                                        ensureRawKpiListsIsMutable();
-                                        rawKpiLists_.add(m);
-                                    } else {
-                                        rawKpiListsBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.RawKpiTable) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -6879,17 +7136,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public RawKpiTable parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new RawKpiTable(input, extensionRegistry);
             }
         };
 
@@ -6951,6 +7198,57 @@ public final class Monitoring {
             return new KpiId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private KpiId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (kpiId_ != null) {
+                                    subBuilder = kpiId_.toBuilder();
+                                }
+                                kpiId_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiId_);
+                                    kpiId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_KpiId_descriptor;
         }
@@ -6987,7 +7285,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getKpiIdOrBuilder() {
-            return kpiId_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : kpiId_;
+            return getKpiId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -7008,7 +7306,7 @@ public final class Monitoring {
             if (kpiId_ != null) {
                 output.writeMessage(1, getKpiId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -7020,7 +7318,7 @@ public final class Monitoring {
             if (kpiId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getKpiId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -7040,7 +7338,7 @@ public final class Monitoring {
                 if (!getKpiId().equals(other.getKpiId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -7056,7 +7354,7 @@ public final class Monitoring {
                 hash = (37 * hash) + KPI_ID_FIELD_NUMBER;
                 hash = (53 * hash) + getKpiId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -7150,19 +7448,26 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.KpiId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
                 return this;
@@ -7190,38 +7495,63 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.KpiId buildPartial() {
                 monitoring.Monitoring.KpiId result = new monitoring.Monitoring.KpiId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (kpiIdBuilder_ == null) {
+                    result.kpiId_ = kpiId_;
+                } else {
+                    result.kpiId_ = kpiIdBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.KpiId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.kpiId_ = kpiIdBuilder_ == null ? kpiId_ : kpiIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
             }
 
             @java.lang.Override
-            public Builder mergeFrom(com.google.protobuf.Message other) {
-                if (other instanceof monitoring.Monitoring.KpiId) {
-                    return mergeFrom((monitoring.Monitoring.KpiId) other);
-                } else {
-                    super.mergeFrom(other);
-                    return this;
-                }
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
             }
 
-            public Builder mergeFrom(monitoring.Monitoring.KpiId other) {
-                if (other == monitoring.Monitoring.KpiId.getDefaultInstance())
-                    return this;
-                if (other.hasKpiId()) {
-                    mergeKpiId(other.getKpiId());
-                }
-                this.mergeUnknownFields(other.getUnknownFields());
-                onChanged();
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder mergeFrom(com.google.protobuf.Message other) {
+                if (other instanceof monitoring.Monitoring.KpiId) {
+                    return mergeFrom((monitoring.Monitoring.KpiId) other);
+                } else {
+                    super.mergeFrom(other);
+                    return this;
+                }
+            }
+
+            public Builder mergeFrom(monitoring.Monitoring.KpiId other) {
+                if (other == monitoring.Monitoring.KpiId.getDefaultInstance())
+                    return this;
+                if (other.hasKpiId()) {
+                    mergeKpiId(other.getKpiId());
+                }
+                this.mergeUnknownFields(other.unknownFields);
+                onChanged();
                 return this;
             }
 
@@ -7232,47 +7562,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.KpiId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getKpiIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.KpiId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid kpiId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 kpiIdBuilder_;
@@ -7282,7 +7585,7 @@ public final class Monitoring {
              * @return Whether the kpiId field is set.
              */
             public boolean hasKpiId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return kpiIdBuilder_ != null || kpiId_ != null;
             }
 
             /**
@@ -7306,11 +7609,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiId_ = value;
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -7320,11 +7622,10 @@ public final class Monitoring {
             public Builder setKpiId(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (kpiIdBuilder_ == null) {
                     kpiId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -7333,16 +7634,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiId(context.ContextOuterClass.Uuid value) {
                 if (kpiIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && kpiId_ != null && kpiId_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getKpiIdBuilder().mergeFrom(value);
+                    if (kpiId_ != null) {
+                        kpiId_ = context.ContextOuterClass.Uuid.newBuilder(kpiId_).mergeFrom(value).buildPartial();
                     } else {
                         kpiId_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -7350,13 +7650,13 @@ public final class Monitoring {
              * .context.Uuid kpi_id = 1;
              */
             public Builder clearKpiId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                    onChanged();
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -7364,7 +7664,6 @@ public final class Monitoring {
              * .context.Uuid kpi_id = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getKpiIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getKpiIdFieldBuilder().getBuilder();
             }
@@ -7418,17 +7717,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public KpiId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new KpiId(input, extensionRegistry);
             }
         };
 
@@ -7524,6 +7813,83 @@ public final class Monitoring {
             return new Kpi();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private Kpi(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                monitoring.Monitoring.KpiId.Builder subBuilder = null;
+                                if (kpiId_ != null) {
+                                    subBuilder = kpiId_.toBuilder();
+                                }
+                                kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiId_);
+                                    kpiId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (timestamp_ != null) {
+                                    subBuilder = timestamp_.toBuilder();
+                                }
+                                timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(timestamp_);
+                                    timestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 26:
+                            {
+                                monitoring.Monitoring.KpiValue.Builder subBuilder = null;
+                                if (kpiValue_ != null) {
+                                    subBuilder = kpiValue_.toBuilder();
+                                }
+                                kpiValue_ = input.readMessage(monitoring.Monitoring.KpiValue.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiValue_);
+                                    kpiValue_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_Kpi_descriptor;
         }
@@ -7560,7 +7926,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() {
-            return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_;
+            return getKpiId();
         }
 
         public static final int TIMESTAMP_FIELD_NUMBER = 2;
@@ -7590,7 +7956,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() {
-            return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_;
+            return getTimestamp();
         }
 
         public static final int KPI_VALUE_FIELD_NUMBER = 3;
@@ -7620,7 +7986,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiValueOrBuilder getKpiValueOrBuilder() {
-            return kpiValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiValue_;
+            return getKpiValue();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -7647,7 +8013,7 @@ public final class Monitoring {
             if (kpiValue_ != null) {
                 output.writeMessage(3, getKpiValue());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -7665,7 +8031,7 @@ public final class Monitoring {
             if (kpiValue_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getKpiValue());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -7697,7 +8063,7 @@ public final class Monitoring {
                 if (!getKpiValue().equals(other.getKpiValue()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -7721,7 +8087,7 @@ public final class Monitoring {
                 hash = (37 * hash) + KPI_VALUE_FIELD_NUMBER;
                 hash = (53 * hash) + getKpiValue().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -7815,29 +8181,38 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.Kpi.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
-                kpiValue_ = null;
-                if (kpiValueBuilder_ != null) {
-                    kpiValueBuilder_.dispose();
+                if (kpiValueBuilder_ == null) {
+                    kpiValue_ = null;
+                } else {
+                    kpiValue_ = null;
                     kpiValueBuilder_ = null;
                 }
                 return this;
@@ -7865,24 +8240,53 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.Kpi buildPartial() {
                 monitoring.Monitoring.Kpi result = new monitoring.Monitoring.Kpi(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (kpiIdBuilder_ == null) {
+                    result.kpiId_ = kpiId_;
+                } else {
+                    result.kpiId_ = kpiIdBuilder_.build();
+                }
+                if (timestampBuilder_ == null) {
+                    result.timestamp_ = timestamp_;
+                } else {
+                    result.timestamp_ = timestampBuilder_.build();
+                }
+                if (kpiValueBuilder_ == null) {
+                    result.kpiValue_ = kpiValue_;
+                } else {
+                    result.kpiValue_ = kpiValueBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.Kpi result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.kpiId_ = kpiIdBuilder_ == null ? kpiId_ : kpiIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.timestamp_ = timestampBuilder_ == null ? timestamp_ : timestampBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.kpiValue_ = kpiValueBuilder_ == null ? kpiValue_ : kpiValueBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -7907,7 +8311,7 @@ public final class Monitoring {
                 if (other.hasKpiValue()) {
                     mergeKpiValue(other.getKpiValue());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -7919,61 +8323,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.Kpi parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getKpiIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    input.readMessage(getKpiValueFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.Kpi) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private monitoring.Monitoring.KpiId kpiId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 kpiIdBuilder_;
@@ -7983,7 +8346,7 @@ public final class Monitoring {
              * @return Whether the kpiId field is set.
              */
             public boolean hasKpiId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return kpiIdBuilder_ != null || kpiId_ != null;
             }
 
             /**
@@ -8007,11 +8370,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiId_ = value;
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -8021,11 +8383,10 @@ public final class Monitoring {
             public Builder setKpiId(monitoring.Monitoring.KpiId.Builder builderForValue) {
                 if (kpiIdBuilder_ == null) {
                     kpiId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -8034,16 +8395,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiId(monitoring.Monitoring.KpiId value) {
                 if (kpiIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && kpiId_ != null && kpiId_ != monitoring.Monitoring.KpiId.getDefaultInstance()) {
-                        getKpiIdBuilder().mergeFrom(value);
+                    if (kpiId_ != null) {
+                        kpiId_ = monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial();
                     } else {
                         kpiId_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -8051,13 +8411,13 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 1;
              */
             public Builder clearKpiId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                    onChanged();
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -8065,7 +8425,6 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 1;
              */
             public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getKpiIdFieldBuilder().getBuilder();
             }
@@ -8101,7 +8460,7 @@ public final class Monitoring {
              * @return Whether the timestamp field is set.
              */
             public boolean hasTimestamp() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return timestampBuilder_ != null || timestamp_ != null;
             }
 
             /**
@@ -8125,11 +8484,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     timestamp_ = value;
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -8139,11 +8497,10 @@ public final class Monitoring {
             public Builder setTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (timestampBuilder_ == null) {
                     timestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -8152,16 +8509,15 @@ public final class Monitoring {
              */
             public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (timestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && timestamp_ != null && timestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getTimestampBuilder().mergeFrom(value);
+                    if (timestamp_ != null) {
+                        timestamp_ = context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial();
                     } else {
                         timestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     timestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -8169,13 +8525,13 @@ public final class Monitoring {
              * .context.Timestamp timestamp = 2;
              */
             public Builder clearTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                    onChanged();
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -8183,7 +8539,6 @@ public final class Monitoring {
              * .context.Timestamp timestamp = 2;
              */
             public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getTimestampFieldBuilder().getBuilder();
             }
@@ -8219,7 +8574,7 @@ public final class Monitoring {
              * @return Whether the kpiValue field is set.
              */
             public boolean hasKpiValue() {
-                return ((bitField0_ & 0x00000004) != 0);
+                return kpiValueBuilder_ != null || kpiValue_ != null;
             }
 
             /**
@@ -8243,11 +8598,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiValue_ = value;
+                    onChanged();
                 } else {
                     kpiValueBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -8257,11 +8611,10 @@ public final class Monitoring {
             public Builder setKpiValue(monitoring.Monitoring.KpiValue.Builder builderForValue) {
                 if (kpiValueBuilder_ == null) {
                     kpiValue_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiValueBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -8270,16 +8623,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiValue(monitoring.Monitoring.KpiValue value) {
                 if (kpiValueBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0) && kpiValue_ != null && kpiValue_ != monitoring.Monitoring.KpiValue.getDefaultInstance()) {
-                        getKpiValueBuilder().mergeFrom(value);
+                    if (kpiValue_ != null) {
+                        kpiValue_ = monitoring.Monitoring.KpiValue.newBuilder(kpiValue_).mergeFrom(value).buildPartial();
                     } else {
                         kpiValue_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiValueBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -8287,13 +8639,13 @@ public final class Monitoring {
              * .monitoring.KpiValue kpi_value = 3;
              */
             public Builder clearKpiValue() {
-                bitField0_ = (bitField0_ & ~0x00000004);
-                kpiValue_ = null;
-                if (kpiValueBuilder_ != null) {
-                    kpiValueBuilder_.dispose();
+                if (kpiValueBuilder_ == null) {
+                    kpiValue_ = null;
+                    onChanged();
+                } else {
+                    kpiValue_ = null;
                     kpiValueBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -8301,7 +8653,6 @@ public final class Monitoring {
              * .monitoring.KpiValue kpi_value = 3;
              */
             public monitoring.Monitoring.KpiValue.Builder getKpiValueBuilder() {
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return getKpiValueFieldBuilder().getBuilder();
             }
@@ -8355,17 +8706,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public Kpi parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new Kpi(input, extensionRegistry);
             }
         };
 
@@ -8474,6 +8815,85 @@ public final class Monitoring {
             return new KpiValueRange();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private KpiValueRange(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                monitoring.Monitoring.KpiValue.Builder subBuilder = null;
+                                if (kpiMinValue_ != null) {
+                                    subBuilder = kpiMinValue_.toBuilder();
+                                }
+                                kpiMinValue_ = input.readMessage(monitoring.Monitoring.KpiValue.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiMinValue_);
+                                    kpiMinValue_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                monitoring.Monitoring.KpiValue.Builder subBuilder = null;
+                                if (kpiMaxValue_ != null) {
+                                    subBuilder = kpiMaxValue_.toBuilder();
+                                }
+                                kpiMaxValue_ = input.readMessage(monitoring.Monitoring.KpiValue.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiMaxValue_);
+                                    kpiMaxValue_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 24:
+                            {
+                                inRange_ = input.readBool();
+                                break;
+                            }
+                        case 32:
+                            {
+                                includeMinValue_ = input.readBool();
+                                break;
+                            }
+                        case 40:
+                            {
+                                includeMaxValue_ = input.readBool();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_KpiValueRange_descriptor;
         }
@@ -8510,7 +8930,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiValueOrBuilder getKpiMinValueOrBuilder() {
-            return kpiMinValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiMinValue_;
+            return getKpiMinValue();
         }
 
         public static final int KPIMAXVALUE_FIELD_NUMBER = 2;
@@ -8540,12 +8960,12 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiValueOrBuilder getKpiMaxValueOrBuilder() {
-            return kpiMaxValue_ == null ? monitoring.Monitoring.KpiValue.getDefaultInstance() : kpiMaxValue_;
+            return getKpiMaxValue();
         }
 
         public static final int INRANGE_FIELD_NUMBER = 3;
 
-        private boolean inRange_ = false;
+        private boolean inRange_;
 
         /**
          * 
@@ -8562,7 +8982,7 @@ public final class Monitoring {
 
         public static final int INCLUDEMINVALUE_FIELD_NUMBER = 4;
 
-        private boolean includeMinValue_ = false;
+        private boolean includeMinValue_;
 
         /**
          * 
@@ -8579,7 +8999,7 @@ public final class Monitoring {
 
         public static final int INCLUDEMAXVALUE_FIELD_NUMBER = 5;
 
-        private boolean includeMaxValue_ = false;
+        private boolean includeMaxValue_;
 
         /**
          * 
@@ -8624,7 +9044,7 @@ public final class Monitoring {
             if (includeMaxValue_ != false) {
                 output.writeBool(5, includeMaxValue_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -8648,7 +9068,7 @@ public final class Monitoring {
             if (includeMaxValue_ != false) {
                 size += com.google.protobuf.CodedOutputStream.computeBoolSize(5, includeMaxValue_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -8680,7 +9100,7 @@ public final class Monitoring {
                 return false;
             if (getIncludeMaxValue() != other.getIncludeMaxValue())
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -8706,7 +9126,7 @@ public final class Monitoring {
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIncludeMinValue());
             hash = (37 * hash) + INCLUDEMAXVALUE_FIELD_NUMBER;
             hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIncludeMaxValue());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -8800,24 +9220,32 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.KpiValueRange.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                kpiMinValue_ = null;
-                if (kpiMinValueBuilder_ != null) {
-                    kpiMinValueBuilder_.dispose();
+                if (kpiMinValueBuilder_ == null) {
+                    kpiMinValue_ = null;
+                } else {
+                    kpiMinValue_ = null;
                     kpiMinValueBuilder_ = null;
                 }
-                kpiMaxValue_ = null;
-                if (kpiMaxValueBuilder_ != null) {
-                    kpiMaxValueBuilder_.dispose();
+                if (kpiMaxValueBuilder_ == null) {
+                    kpiMaxValue_ = null;
+                } else {
+                    kpiMaxValue_ = null;
                     kpiMaxValueBuilder_ = null;
                 }
                 inRange_ = false;
@@ -8848,30 +9276,51 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.KpiValueRange buildPartial() {
                 monitoring.Monitoring.KpiValueRange result = new monitoring.Monitoring.KpiValueRange(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (kpiMinValueBuilder_ == null) {
+                    result.kpiMinValue_ = kpiMinValue_;
+                } else {
+                    result.kpiMinValue_ = kpiMinValueBuilder_.build();
                 }
+                if (kpiMaxValueBuilder_ == null) {
+                    result.kpiMaxValue_ = kpiMaxValue_;
+                } else {
+                    result.kpiMaxValue_ = kpiMaxValueBuilder_.build();
+                }
+                result.inRange_ = inRange_;
+                result.includeMinValue_ = includeMinValue_;
+                result.includeMaxValue_ = includeMaxValue_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.KpiValueRange result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.kpiMinValue_ = kpiMinValueBuilder_ == null ? kpiMinValue_ : kpiMinValueBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.kpiMaxValue_ = kpiMaxValueBuilder_ == null ? kpiMaxValue_ : kpiMaxValueBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.inRange_ = inRange_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.includeMinValue_ = includeMinValue_;
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.includeMaxValue_ = includeMaxValue_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -8902,7 +9351,7 @@ public final class Monitoring {
                 if (other.getIncludeMaxValue() != false) {
                     setIncludeMaxValue(other.getIncludeMaxValue());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -8914,75 +9363,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.KpiValueRange parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getKpiMinValueFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getKpiMaxValueFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 24:
-                                {
-                                    inRange_ = input.readBool();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 24
-                            case 32:
-                                {
-                                    includeMinValue_ = input.readBool();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 32
-                            case 40:
-                                {
-                                    includeMaxValue_ = input.readBool();
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 40
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.KpiValueRange) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private monitoring.Monitoring.KpiValue kpiMinValue_;
 
             private com.google.protobuf.SingleFieldBuilderV3 kpiMinValueBuilder_;
@@ -8992,7 +9386,7 @@ public final class Monitoring {
              * @return Whether the kpiMinValue field is set.
              */
             public boolean hasKpiMinValue() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return kpiMinValueBuilder_ != null || kpiMinValue_ != null;
             }
 
             /**
@@ -9016,11 +9410,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiMinValue_ = value;
+                    onChanged();
                 } else {
                     kpiMinValueBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -9030,11 +9423,10 @@ public final class Monitoring {
             public Builder setKpiMinValue(monitoring.Monitoring.KpiValue.Builder builderForValue) {
                 if (kpiMinValueBuilder_ == null) {
                     kpiMinValue_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiMinValueBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -9043,16 +9435,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiMinValue(monitoring.Monitoring.KpiValue value) {
                 if (kpiMinValueBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && kpiMinValue_ != null && kpiMinValue_ != monitoring.Monitoring.KpiValue.getDefaultInstance()) {
-                        getKpiMinValueBuilder().mergeFrom(value);
+                    if (kpiMinValue_ != null) {
+                        kpiMinValue_ = monitoring.Monitoring.KpiValue.newBuilder(kpiMinValue_).mergeFrom(value).buildPartial();
                     } else {
                         kpiMinValue_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiMinValueBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -9060,13 +9451,13 @@ public final class Monitoring {
              * .monitoring.KpiValue kpiMinValue = 1;
              */
             public Builder clearKpiMinValue() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                kpiMinValue_ = null;
-                if (kpiMinValueBuilder_ != null) {
-                    kpiMinValueBuilder_.dispose();
+                if (kpiMinValueBuilder_ == null) {
+                    kpiMinValue_ = null;
+                    onChanged();
+                } else {
+                    kpiMinValue_ = null;
                     kpiMinValueBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -9074,7 +9465,6 @@ public final class Monitoring {
              * .monitoring.KpiValue kpiMinValue = 1;
              */
             public monitoring.Monitoring.KpiValue.Builder getKpiMinValueBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getKpiMinValueFieldBuilder().getBuilder();
             }
@@ -9110,7 +9500,7 @@ public final class Monitoring {
              * @return Whether the kpiMaxValue field is set.
              */
             public boolean hasKpiMaxValue() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return kpiMaxValueBuilder_ != null || kpiMaxValue_ != null;
             }
 
             /**
@@ -9134,11 +9524,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiMaxValue_ = value;
+                    onChanged();
                 } else {
                     kpiMaxValueBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -9148,11 +9537,10 @@ public final class Monitoring {
             public Builder setKpiMaxValue(monitoring.Monitoring.KpiValue.Builder builderForValue) {
                 if (kpiMaxValueBuilder_ == null) {
                     kpiMaxValue_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiMaxValueBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -9161,16 +9549,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiMaxValue(monitoring.Monitoring.KpiValue value) {
                 if (kpiMaxValueBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && kpiMaxValue_ != null && kpiMaxValue_ != monitoring.Monitoring.KpiValue.getDefaultInstance()) {
-                        getKpiMaxValueBuilder().mergeFrom(value);
+                    if (kpiMaxValue_ != null) {
+                        kpiMaxValue_ = monitoring.Monitoring.KpiValue.newBuilder(kpiMaxValue_).mergeFrom(value).buildPartial();
                     } else {
                         kpiMaxValue_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiMaxValueBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -9178,13 +9565,13 @@ public final class Monitoring {
              * .monitoring.KpiValue kpiMaxValue = 2;
              */
             public Builder clearKpiMaxValue() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                kpiMaxValue_ = null;
-                if (kpiMaxValueBuilder_ != null) {
-                    kpiMaxValueBuilder_.dispose();
+                if (kpiMaxValueBuilder_ == null) {
+                    kpiMaxValue_ = null;
+                    onChanged();
+                } else {
+                    kpiMaxValue_ = null;
                     kpiMaxValueBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -9192,7 +9579,6 @@ public final class Monitoring {
              * .monitoring.KpiValue kpiMaxValue = 2;
              */
             public monitoring.Monitoring.KpiValue.Builder getKpiMaxValueBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getKpiMaxValueFieldBuilder().getBuilder();
             }
@@ -9245,7 +9631,6 @@ public final class Monitoring {
              */
             public Builder setInRange(boolean value) {
                 inRange_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -9259,7 +9644,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearInRange() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 inRange_ = false;
                 onChanged();
                 return this;
@@ -9291,7 +9675,6 @@ public final class Monitoring {
              */
             public Builder setIncludeMinValue(boolean value) {
                 includeMinValue_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -9305,7 +9688,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearIncludeMinValue() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 includeMinValue_ = false;
                 onChanged();
                 return this;
@@ -9337,7 +9719,6 @@ public final class Monitoring {
              */
             public Builder setIncludeMaxValue(boolean value) {
                 includeMaxValue_ = value;
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return this;
             }
@@ -9351,7 +9732,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearIncludeMaxValue() {
-                bitField0_ = (bitField0_ & ~0x00000010);
                 includeMaxValue_ = false;
                 onChanged();
                 return this;
@@ -9384,17 +9764,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public KpiValueRange parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new KpiValueRange(input, extensionRegistry);
             }
         };
 
@@ -9506,7 +9876,7 @@ public final class Monitoring {
          */
         boolean getBoolVal();
 
-        monitoring.Monitoring.KpiValue.ValueCase getValueCase();
+        public monitoring.Monitoring.KpiValue.ValueCase getValueCase();
     }
 
     /**
@@ -9531,6 +9901,87 @@ public final class Monitoring {
             return new KpiValue();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private KpiValue(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 8:
+                            {
+                                valueCase_ = 1;
+                                value_ = input.readInt32();
+                                break;
+                            }
+                        case 16:
+                            {
+                                valueCase_ = 2;
+                                value_ = input.readUInt32();
+                                break;
+                            }
+                        case 24:
+                            {
+                                valueCase_ = 3;
+                                value_ = input.readInt64();
+                                break;
+                            }
+                        case 32:
+                            {
+                                valueCase_ = 4;
+                                value_ = input.readUInt64();
+                                break;
+                            }
+                        case 45:
+                            {
+                                valueCase_ = 5;
+                                value_ = input.readFloat();
+                                break;
+                            }
+                        case 50:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                valueCase_ = 6;
+                                value_ = s;
+                                break;
+                            }
+                        case 56:
+                            {
+                                valueCase_ = 7;
+                                value_ = input.readBool();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_KpiValue_descriptor;
         }
@@ -9542,7 +9993,6 @@ public final class Monitoring {
 
         private int valueCase_ = 0;
 
-        @SuppressWarnings("serial")
         private java.lang.Object value_;
 
         public enum ValueCase implements com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum {
@@ -9829,7 +10279,7 @@ public final class Monitoring {
             if (valueCase_ == 7) {
                 output.writeBool(7, (boolean) ((java.lang.Boolean) value_));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -9859,7 +10309,7 @@ public final class Monitoring {
             if (valueCase_ == 7) {
                 size += com.google.protobuf.CodedOutputStream.computeBoolSize(7, (boolean) ((java.lang.Boolean) value_));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -9907,7 +10357,7 @@ public final class Monitoring {
                 case 0:
                 default:
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -9951,7 +10401,7 @@ public final class Monitoring {
                 case 0:
                 default:
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -10045,16 +10495,22 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.KpiValue.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 valueCase_ = 0;
                 value_ = null;
                 return this;
@@ -10082,21 +10538,60 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.KpiValue buildPartial() {
                 monitoring.Monitoring.KpiValue result = new monitoring.Monitoring.KpiValue(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (valueCase_ == 1) {
+                    result.value_ = value_;
+                }
+                if (valueCase_ == 2) {
+                    result.value_ = value_;
+                }
+                if (valueCase_ == 3) {
+                    result.value_ = value_;
+                }
+                if (valueCase_ == 4) {
+                    result.value_ = value_;
+                }
+                if (valueCase_ == 5) {
+                    result.value_ = value_;
+                }
+                if (valueCase_ == 6) {
+                    result.value_ = value_;
+                }
+                if (valueCase_ == 7) {
+                    result.value_ = value_;
                 }
-                buildPartialOneofs(result);
+                result.valueCase_ = valueCase_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.KpiValue result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
             }
 
-            private void buildPartialOneofs(monitoring.Monitoring.KpiValue result) {
-                result.valueCase_ = valueCase_;
-                result.value_ = this.value_;
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -10155,7 +10650,7 @@ public final class Monitoring {
                             break;
                         }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -10167,85 +10662,17 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.KpiValue parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 8:
-                                {
-                                    value_ = input.readInt32();
-                                    valueCase_ = 1;
-                                    break;
-                                }
-                            // case 8
-                            case 16:
-                                {
-                                    value_ = input.readUInt32();
-                                    valueCase_ = 2;
-                                    break;
-                                }
-                            // case 16
-                            case 24:
-                                {
-                                    value_ = input.readInt64();
-                                    valueCase_ = 3;
-                                    break;
-                                }
-                            // case 24
-                            case 32:
-                                {
-                                    value_ = input.readUInt64();
-                                    valueCase_ = 4;
-                                    break;
-                                }
-                            // case 32
-                            case 45:
-                                {
-                                    value_ = input.readFloat();
-                                    valueCase_ = 5;
-                                    break;
-                                }
-                            // case 45
-                            case 50:
-                                {
-                                    java.lang.String s = input.readStringRequireUtf8();
-                                    valueCase_ = 6;
-                                    value_ = s;
-                                    break;
-                                }
-                            // case 50
-                            case 56:
-                                {
-                                    value_ = input.readBool();
-                                    valueCase_ = 7;
-                                    break;
-                                }
-                            // case 56
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.KpiValue) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -10264,8 +10691,6 @@ public final class Monitoring {
                 return this;
             }
 
-            private int bitField0_;
-
             /**
              * int32 int32Val = 1;
              * @return Whether the int32Val field is set.
@@ -10653,17 +11078,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public KpiValue parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new KpiValue(input, extensionRegistry);
             }
         };
 
@@ -10734,6 +11149,57 @@ public final class Monitoring {
             return new KpiList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private KpiList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    kpi_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                kpi_.add(input.readMessage(monitoring.Monitoring.Kpi.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    kpi_ = java.util.Collections.unmodifiableList(kpi_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_KpiList_descriptor;
         }
@@ -10745,7 +11211,6 @@ public final class Monitoring {
 
         public static final int KPI_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List kpi_;
 
         /**
@@ -10806,7 +11271,7 @@ public final class Monitoring {
             for (int i = 0; i < kpi_.size(); i++) {
                 output.writeMessage(1, kpi_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -10818,7 +11283,7 @@ public final class Monitoring {
             for (int i = 0; i < kpi_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, kpi_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -10834,7 +11299,7 @@ public final class Monitoring {
             monitoring.Monitoring.KpiList other = (monitoring.Monitoring.KpiList) obj;
             if (!getKpiList().equals(other.getKpiList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -10850,7 +11315,7 @@ public final class Monitoring {
                 hash = (37 * hash) + KPI_FIELD_NUMBER;
                 hash = (53 * hash) + getKpiList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -10944,23 +11409,29 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.KpiList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getKpiFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (kpiBuilder_ == null) {
                     kpi_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    kpi_ = null;
                     kpiBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -10986,15 +11457,7 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.KpiList buildPartial() {
                 monitoring.Monitoring.KpiList result = new monitoring.Monitoring.KpiList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(monitoring.Monitoring.KpiList result) {
+                int from_bitField0_ = bitField0_;
                 if (kpiBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         kpi_ = java.util.Collections.unmodifiableList(kpi_);
@@ -11004,10 +11467,38 @@ public final class Monitoring {
                 } else {
                     result.kpi_ = kpiBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.KpiList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -11047,7 +11538,7 @@ public final class Monitoring {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -11059,47 +11550,17 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.KpiList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    monitoring.Monitoring.Kpi m = input.readMessage(monitoring.Monitoring.Kpi.parser(), extensionRegistry);
-                                    if (kpiBuilder_ == null) {
-                                        ensureKpiIsMutable();
-                                        kpi_.add(m);
-                                    } else {
-                                        kpiBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.KpiList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -11369,17 +11830,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public KpiList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new KpiList(input, extensionRegistry);
             }
         };
 
@@ -11450,6 +11901,57 @@ public final class Monitoring {
             return new KpiDescriptorList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private KpiDescriptorList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    kpiDescriptorList_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                kpiDescriptorList_.add(input.readMessage(monitoring.Monitoring.KpiDescriptor.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    kpiDescriptorList_ = java.util.Collections.unmodifiableList(kpiDescriptorList_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_KpiDescriptorList_descriptor;
         }
@@ -11461,7 +11963,6 @@ public final class Monitoring {
 
         public static final int KPI_DESCRIPTOR_LIST_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List kpiDescriptorList_;
 
         /**
@@ -11522,7 +12023,7 @@ public final class Monitoring {
             for (int i = 0; i < kpiDescriptorList_.size(); i++) {
                 output.writeMessage(1, kpiDescriptorList_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -11534,7 +12035,7 @@ public final class Monitoring {
             for (int i = 0; i < kpiDescriptorList_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, kpiDescriptorList_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -11550,7 +12051,7 @@ public final class Monitoring {
             monitoring.Monitoring.KpiDescriptorList other = (monitoring.Monitoring.KpiDescriptorList) obj;
             if (!getKpiDescriptorListList().equals(other.getKpiDescriptorListList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -11566,7 +12067,7 @@ public final class Monitoring {
                 hash = (37 * hash) + KPI_DESCRIPTOR_LIST_FIELD_NUMBER;
                 hash = (53 * hash) + getKpiDescriptorListList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -11660,23 +12161,29 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.KpiDescriptorList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getKpiDescriptorListFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (kpiDescriptorListBuilder_ == null) {
                     kpiDescriptorList_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    kpiDescriptorList_ = null;
                     kpiDescriptorListBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -11702,15 +12209,7 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.KpiDescriptorList buildPartial() {
                 monitoring.Monitoring.KpiDescriptorList result = new monitoring.Monitoring.KpiDescriptorList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(monitoring.Monitoring.KpiDescriptorList result) {
+                int from_bitField0_ = bitField0_;
                 if (kpiDescriptorListBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         kpiDescriptorList_ = java.util.Collections.unmodifiableList(kpiDescriptorList_);
@@ -11720,10 +12219,38 @@ public final class Monitoring {
                 } else {
                     result.kpiDescriptorList_ = kpiDescriptorListBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.KpiDescriptorList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -11763,7 +12290,7 @@ public final class Monitoring {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -11775,47 +12302,17 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.KpiDescriptorList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    monitoring.Monitoring.KpiDescriptor m = input.readMessage(monitoring.Monitoring.KpiDescriptor.parser(), extensionRegistry);
-                                    if (kpiDescriptorListBuilder_ == null) {
-                                        ensureKpiDescriptorListIsMutable();
-                                        kpiDescriptorList_.add(m);
-                                    } else {
-                                        kpiDescriptorListBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.KpiDescriptorList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -12085,17 +12582,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public KpiDescriptorList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new KpiDescriptorList(input, extensionRegistry);
             }
         };
 
@@ -12244,6 +12731,106 @@ public final class Monitoring {
             return new SubsDescriptor();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SubsDescriptor(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                monitoring.Monitoring.SubscriptionID.Builder subBuilder = null;
+                                if (subsId_ != null) {
+                                    subBuilder = subsId_.toBuilder();
+                                }
+                                subsId_ = input.readMessage(monitoring.Monitoring.SubscriptionID.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(subsId_);
+                                    subsId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                monitoring.Monitoring.KpiId.Builder subBuilder = null;
+                                if (kpiId_ != null) {
+                                    subBuilder = kpiId_.toBuilder();
+                                }
+                                kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiId_);
+                                    kpiId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 29:
+                            {
+                                samplingDurationS_ = input.readFloat();
+                                break;
+                            }
+                        case 37:
+                            {
+                                samplingIntervalS_ = input.readFloat();
+                                break;
+                            }
+                        case 42:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (startTimestamp_ != null) {
+                                    subBuilder = startTimestamp_.toBuilder();
+                                }
+                                startTimestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(startTimestamp_);
+                                    startTimestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 50:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (endTimestamp_ != null) {
+                                    subBuilder = endTimestamp_.toBuilder();
+                                }
+                                endTimestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(endTimestamp_);
+                                    endTimestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_SubsDescriptor_descriptor;
         }
@@ -12280,7 +12867,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.SubscriptionIDOrBuilder getSubsIdOrBuilder() {
-            return subsId_ == null ? monitoring.Monitoring.SubscriptionID.getDefaultInstance() : subsId_;
+            return getSubsId();
         }
 
         public static final int KPI_ID_FIELD_NUMBER = 2;
@@ -12310,12 +12897,12 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() {
-            return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_;
+            return getKpiId();
         }
 
         public static final int SAMPLING_DURATION_S_FIELD_NUMBER = 3;
 
-        private float samplingDurationS_ = 0F;
+        private float samplingDurationS_;
 
         /**
          * float sampling_duration_s = 3;
@@ -12328,7 +12915,7 @@ public final class Monitoring {
 
         public static final int SAMPLING_INTERVAL_S_FIELD_NUMBER = 4;
 
-        private float samplingIntervalS_ = 0F;
+        private float samplingIntervalS_;
 
         /**
          * float sampling_interval_s = 4;
@@ -12378,7 +12965,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getStartTimestampOrBuilder() {
-            return startTimestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : startTimestamp_;
+            return getStartTimestamp();
         }
 
         public static final int END_TIMESTAMP_FIELD_NUMBER = 6;
@@ -12420,7 +13007,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getEndTimestampOrBuilder() {
-            return endTimestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : endTimestamp_;
+            return getEndTimestamp();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -12444,10 +13031,10 @@ public final class Monitoring {
             if (kpiId_ != null) {
                 output.writeMessage(2, getKpiId());
             }
-            if (java.lang.Float.floatToRawIntBits(samplingDurationS_) != 0) {
+            if (samplingDurationS_ != 0F) {
                 output.writeFloat(3, samplingDurationS_);
             }
-            if (java.lang.Float.floatToRawIntBits(samplingIntervalS_) != 0) {
+            if (samplingIntervalS_ != 0F) {
                 output.writeFloat(4, samplingIntervalS_);
             }
             if (startTimestamp_ != null) {
@@ -12456,7 +13043,7 @@ public final class Monitoring {
             if (endTimestamp_ != null) {
                 output.writeMessage(6, getEndTimestamp());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -12471,10 +13058,10 @@ public final class Monitoring {
             if (kpiId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getKpiId());
             }
-            if (java.lang.Float.floatToRawIntBits(samplingDurationS_) != 0) {
+            if (samplingDurationS_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(3, samplingDurationS_);
             }
-            if (java.lang.Float.floatToRawIntBits(samplingIntervalS_) != 0) {
+            if (samplingIntervalS_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(4, samplingIntervalS_);
             }
             if (startTimestamp_ != null) {
@@ -12483,7 +13070,7 @@ public final class Monitoring {
             if (endTimestamp_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getEndTimestamp());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -12525,7 +13112,7 @@ public final class Monitoring {
                 if (!getEndTimestamp().equals(other.getEndTimestamp()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -12557,7 +13144,7 @@ public final class Monitoring {
                 hash = (37 * hash) + END_TIMESTAMP_FIELD_NUMBER;
                 hash = (53 * hash) + getEndTimestamp().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -12651,36 +13238,46 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.SubsDescriptor.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                subsId_ = null;
-                if (subsIdBuilder_ != null) {
-                    subsIdBuilder_.dispose();
+                if (subsIdBuilder_ == null) {
+                    subsId_ = null;
+                } else {
+                    subsId_ = null;
                     subsIdBuilder_ = null;
                 }
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
                 samplingDurationS_ = 0F;
                 samplingIntervalS_ = 0F;
-                startTimestamp_ = null;
-                if (startTimestampBuilder_ != null) {
-                    startTimestampBuilder_.dispose();
+                if (startTimestampBuilder_ == null) {
+                    startTimestamp_ = null;
+                } else {
+                    startTimestamp_ = null;
                     startTimestampBuilder_ = null;
                 }
-                endTimestamp_ = null;
-                if (endTimestampBuilder_ != null) {
-                    endTimestampBuilder_.dispose();
+                if (endTimestampBuilder_ == null) {
+                    endTimestamp_ = null;
+                } else {
+                    endTimestamp_ = null;
                     endTimestampBuilder_ = null;
                 }
                 return this;
@@ -12708,33 +13305,60 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.SubsDescriptor buildPartial() {
                 monitoring.Monitoring.SubsDescriptor result = new monitoring.Monitoring.SubsDescriptor(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (subsIdBuilder_ == null) {
+                    result.subsId_ = subsId_;
+                } else {
+                    result.subsId_ = subsIdBuilder_.build();
+                }
+                if (kpiIdBuilder_ == null) {
+                    result.kpiId_ = kpiId_;
+                } else {
+                    result.kpiId_ = kpiIdBuilder_.build();
+                }
+                result.samplingDurationS_ = samplingDurationS_;
+                result.samplingIntervalS_ = samplingIntervalS_;
+                if (startTimestampBuilder_ == null) {
+                    result.startTimestamp_ = startTimestamp_;
+                } else {
+                    result.startTimestamp_ = startTimestampBuilder_.build();
+                }
+                if (endTimestampBuilder_ == null) {
+                    result.endTimestamp_ = endTimestamp_;
+                } else {
+                    result.endTimestamp_ = endTimestampBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.SubsDescriptor result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.subsId_ = subsIdBuilder_ == null ? subsId_ : subsIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.kpiId_ = kpiIdBuilder_ == null ? kpiId_ : kpiIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.samplingDurationS_ = samplingDurationS_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.samplingIntervalS_ = samplingIntervalS_;
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.startTimestamp_ = startTimestampBuilder_ == null ? startTimestamp_ : startTimestampBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000020) != 0)) {
-                    result.endTimestamp_ = endTimestampBuilder_ == null ? endTimestamp_ : endTimestampBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -12768,7 +13392,7 @@ public final class Monitoring {
                 if (other.hasEndTimestamp()) {
                     mergeEndTimestamp(other.getEndTimestamp());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -12780,82 +13404,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.SubsDescriptor parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getSubsIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getKpiIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 29:
-                                {
-                                    samplingDurationS_ = input.readFloat();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 29
-                            case 37:
-                                {
-                                    samplingIntervalS_ = input.readFloat();
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 37
-                            case 42:
-                                {
-                                    input.readMessage(getStartTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 42
-                            case 50:
-                                {
-                                    input.readMessage(getEndTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000020;
-                                    break;
-                                }
-                            // case 50
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.SubsDescriptor) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private monitoring.Monitoring.SubscriptionID subsId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 subsIdBuilder_;
@@ -12865,7 +13427,7 @@ public final class Monitoring {
              * @return Whether the subsId field is set.
              */
             public boolean hasSubsId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return subsIdBuilder_ != null || subsId_ != null;
             }
 
             /**
@@ -12889,11 +13451,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     subsId_ = value;
+                    onChanged();
                 } else {
                     subsIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -12903,11 +13464,10 @@ public final class Monitoring {
             public Builder setSubsId(monitoring.Monitoring.SubscriptionID.Builder builderForValue) {
                 if (subsIdBuilder_ == null) {
                     subsId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     subsIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -12916,16 +13476,15 @@ public final class Monitoring {
              */
             public Builder mergeSubsId(monitoring.Monitoring.SubscriptionID value) {
                 if (subsIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && subsId_ != null && subsId_ != monitoring.Monitoring.SubscriptionID.getDefaultInstance()) {
-                        getSubsIdBuilder().mergeFrom(value);
+                    if (subsId_ != null) {
+                        subsId_ = monitoring.Monitoring.SubscriptionID.newBuilder(subsId_).mergeFrom(value).buildPartial();
                     } else {
                         subsId_ = value;
                     }
+                    onChanged();
                 } else {
                     subsIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -12933,13 +13492,13 @@ public final class Monitoring {
              * .monitoring.SubscriptionID subs_id = 1;
              */
             public Builder clearSubsId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                subsId_ = null;
-                if (subsIdBuilder_ != null) {
-                    subsIdBuilder_.dispose();
+                if (subsIdBuilder_ == null) {
+                    subsId_ = null;
+                    onChanged();
+                } else {
+                    subsId_ = null;
                     subsIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -12947,7 +13506,6 @@ public final class Monitoring {
              * .monitoring.SubscriptionID subs_id = 1;
              */
             public monitoring.Monitoring.SubscriptionID.Builder getSubsIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getSubsIdFieldBuilder().getBuilder();
             }
@@ -12983,7 +13541,7 @@ public final class Monitoring {
              * @return Whether the kpiId field is set.
              */
             public boolean hasKpiId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return kpiIdBuilder_ != null || kpiId_ != null;
             }
 
             /**
@@ -13007,11 +13565,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiId_ = value;
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -13021,11 +13578,10 @@ public final class Monitoring {
             public Builder setKpiId(monitoring.Monitoring.KpiId.Builder builderForValue) {
                 if (kpiIdBuilder_ == null) {
                     kpiId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -13034,16 +13590,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiId(monitoring.Monitoring.KpiId value) {
                 if (kpiIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && kpiId_ != null && kpiId_ != monitoring.Monitoring.KpiId.getDefaultInstance()) {
-                        getKpiIdBuilder().mergeFrom(value);
+                    if (kpiId_ != null) {
+                        kpiId_ = monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial();
                     } else {
                         kpiId_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -13051,13 +13606,13 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 2;
              */
             public Builder clearKpiId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                    onChanged();
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -13065,7 +13620,6 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 2;
              */
             public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getKpiIdFieldBuilder().getBuilder();
             }
@@ -13110,7 +13664,6 @@ public final class Monitoring {
              */
             public Builder setSamplingDurationS(float value) {
                 samplingDurationS_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -13120,7 +13673,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearSamplingDurationS() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 samplingDurationS_ = 0F;
                 onChanged();
                 return this;
@@ -13144,7 +13696,6 @@ public final class Monitoring {
              */
             public Builder setSamplingIntervalS(float value) {
                 samplingIntervalS_ = value;
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return this;
             }
@@ -13154,7 +13705,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearSamplingIntervalS() {
-                bitField0_ = (bitField0_ & ~0x00000008);
                 samplingIntervalS_ = 0F;
                 onChanged();
                 return this;
@@ -13173,7 +13723,7 @@ public final class Monitoring {
              * @return Whether the startTimestamp field is set.
              */
             public boolean hasStartTimestamp() {
-                return ((bitField0_ & 0x00000010) != 0);
+                return startTimestampBuilder_ != null || startTimestamp_ != null;
             }
 
             /**
@@ -13205,11 +13755,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     startTimestamp_ = value;
+                    onChanged();
                 } else {
                     startTimestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -13223,11 +13772,10 @@ public final class Monitoring {
             public Builder setStartTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (startTimestampBuilder_ == null) {
                     startTimestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     startTimestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -13240,16 +13788,15 @@ public final class Monitoring {
              */
             public Builder mergeStartTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (startTimestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000010) != 0) && startTimestamp_ != null && startTimestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getStartTimestampBuilder().mergeFrom(value);
+                    if (startTimestamp_ != null) {
+                        startTimestamp_ = context.ContextOuterClass.Timestamp.newBuilder(startTimestamp_).mergeFrom(value).buildPartial();
                     } else {
                         startTimestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     startTimestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -13261,13 +13808,13 @@ public final class Monitoring {
              * .context.Timestamp start_timestamp = 5;
              */
             public Builder clearStartTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000010);
-                startTimestamp_ = null;
-                if (startTimestampBuilder_ != null) {
-                    startTimestampBuilder_.dispose();
+                if (startTimestampBuilder_ == null) {
+                    startTimestamp_ = null;
+                    onChanged();
+                } else {
+                    startTimestamp_ = null;
                     startTimestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -13279,7 +13826,6 @@ public final class Monitoring {
              * .context.Timestamp start_timestamp = 5;
              */
             public context.ContextOuterClass.Timestamp.Builder getStartTimestampBuilder() {
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return getStartTimestampFieldBuilder().getBuilder();
             }
@@ -13327,7 +13873,7 @@ public final class Monitoring {
              * @return Whether the endTimestamp field is set.
              */
             public boolean hasEndTimestamp() {
-                return ((bitField0_ & 0x00000020) != 0);
+                return endTimestampBuilder_ != null || endTimestamp_ != null;
             }
 
             /**
@@ -13359,11 +13905,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     endTimestamp_ = value;
+                    onChanged();
                 } else {
                     endTimestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -13377,11 +13922,10 @@ public final class Monitoring {
             public Builder setEndTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (endTimestampBuilder_ == null) {
                     endTimestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     endTimestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -13394,16 +13938,15 @@ public final class Monitoring {
              */
             public Builder mergeEndTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (endTimestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000020) != 0) && endTimestamp_ != null && endTimestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getEndTimestampBuilder().mergeFrom(value);
+                    if (endTimestamp_ != null) {
+                        endTimestamp_ = context.ContextOuterClass.Timestamp.newBuilder(endTimestamp_).mergeFrom(value).buildPartial();
                     } else {
                         endTimestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     endTimestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -13415,13 +13958,13 @@ public final class Monitoring {
              * .context.Timestamp end_timestamp = 6;
              */
             public Builder clearEndTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000020);
-                endTimestamp_ = null;
-                if (endTimestampBuilder_ != null) {
-                    endTimestampBuilder_.dispose();
+                if (endTimestampBuilder_ == null) {
+                    endTimestamp_ = null;
+                    onChanged();
+                } else {
+                    endTimestamp_ = null;
                     endTimestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -13433,7 +13976,6 @@ public final class Monitoring {
              * .context.Timestamp end_timestamp = 6;
              */
             public context.ContextOuterClass.Timestamp.Builder getEndTimestampBuilder() {
-                bitField0_ |= 0x00000020;
                 onChanged();
                 return getEndTimestampFieldBuilder().getBuilder();
             }
@@ -13495,17 +14037,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public SubsDescriptor parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SubsDescriptor(input, extensionRegistry);
             }
         };
 
@@ -13567,6 +14099,57 @@ public final class Monitoring {
             return new SubscriptionID();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SubscriptionID(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (subsId_ != null) {
+                                    subBuilder = subsId_.toBuilder();
+                                }
+                                subsId_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(subsId_);
+                                    subsId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_SubscriptionID_descriptor;
         }
@@ -13603,7 +14186,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getSubsIdOrBuilder() {
-            return subsId_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : subsId_;
+            return getSubsId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -13624,7 +14207,7 @@ public final class Monitoring {
             if (subsId_ != null) {
                 output.writeMessage(1, getSubsId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -13636,7 +14219,7 @@ public final class Monitoring {
             if (subsId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getSubsId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -13656,7 +14239,7 @@ public final class Monitoring {
                 if (!getSubsId().equals(other.getSubsId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -13672,7 +14255,7 @@ public final class Monitoring {
                 hash = (37 * hash) + SUBS_ID_FIELD_NUMBER;
                 hash = (53 * hash) + getSubsId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -13766,19 +14349,26 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.SubscriptionID.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                subsId_ = null;
-                if (subsIdBuilder_ != null) {
-                    subsIdBuilder_.dispose();
+                if (subsIdBuilder_ == null) {
+                    subsId_ = null;
+                } else {
+                    subsId_ = null;
                     subsIdBuilder_ = null;
                 }
                 return this;
@@ -13806,18 +14396,43 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.SubscriptionID buildPartial() {
                 monitoring.Monitoring.SubscriptionID result = new monitoring.Monitoring.SubscriptionID(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (subsIdBuilder_ == null) {
+                    result.subsId_ = subsId_;
+                } else {
+                    result.subsId_ = subsIdBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.SubscriptionID result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.subsId_ = subsIdBuilder_ == null ? subsId_ : subsIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -13836,7 +14451,7 @@ public final class Monitoring {
                 if (other.hasSubsId()) {
                     mergeSubsId(other.getSubsId());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -13848,47 +14463,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.SubscriptionID parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getSubsIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.SubscriptionID) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid subsId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 subsIdBuilder_;
@@ -13898,7 +14486,7 @@ public final class Monitoring {
              * @return Whether the subsId field is set.
              */
             public boolean hasSubsId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return subsIdBuilder_ != null || subsId_ != null;
             }
 
             /**
@@ -13922,11 +14510,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     subsId_ = value;
+                    onChanged();
                 } else {
                     subsIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -13936,11 +14523,10 @@ public final class Monitoring {
             public Builder setSubsId(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (subsIdBuilder_ == null) {
                     subsId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     subsIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -13949,16 +14535,15 @@ public final class Monitoring {
              */
             public Builder mergeSubsId(context.ContextOuterClass.Uuid value) {
                 if (subsIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && subsId_ != null && subsId_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getSubsIdBuilder().mergeFrom(value);
+                    if (subsId_ != null) {
+                        subsId_ = context.ContextOuterClass.Uuid.newBuilder(subsId_).mergeFrom(value).buildPartial();
                     } else {
                         subsId_ = value;
                     }
+                    onChanged();
                 } else {
                     subsIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -13966,13 +14551,13 @@ public final class Monitoring {
              * .context.Uuid subs_id = 1;
              */
             public Builder clearSubsId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                subsId_ = null;
-                if (subsIdBuilder_ != null) {
-                    subsIdBuilder_.dispose();
+                if (subsIdBuilder_ == null) {
+                    subsId_ = null;
+                    onChanged();
+                } else {
+                    subsId_ = null;
                     subsIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -13980,7 +14565,6 @@ public final class Monitoring {
              * .context.Uuid subs_id = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getSubsIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getSubsIdFieldBuilder().getBuilder();
             }
@@ -14034,17 +14618,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public SubscriptionID parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SubscriptionID(input, extensionRegistry);
             }
         };
 
@@ -14123,6 +14697,70 @@ public final class Monitoring {
             return new SubsResponse();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SubsResponse(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                monitoring.Monitoring.SubscriptionID.Builder subBuilder = null;
+                                if (subsId_ != null) {
+                                    subBuilder = subsId_.toBuilder();
+                                }
+                                subsId_ = input.readMessage(monitoring.Monitoring.SubscriptionID.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(subsId_);
+                                    subsId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                monitoring.Monitoring.KpiList.Builder subBuilder = null;
+                                if (kpiList_ != null) {
+                                    subBuilder = kpiList_.toBuilder();
+                                }
+                                kpiList_ = input.readMessage(monitoring.Monitoring.KpiList.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiList_);
+                                    kpiList_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_SubsResponse_descriptor;
         }
@@ -14159,7 +14797,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.SubscriptionIDOrBuilder getSubsIdOrBuilder() {
-            return subsId_ == null ? monitoring.Monitoring.SubscriptionID.getDefaultInstance() : subsId_;
+            return getSubsId();
         }
 
         public static final int KPI_LIST_FIELD_NUMBER = 2;
@@ -14189,7 +14827,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiListOrBuilder getKpiListOrBuilder() {
-            return kpiList_ == null ? monitoring.Monitoring.KpiList.getDefaultInstance() : kpiList_;
+            return getKpiList();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -14213,7 +14851,7 @@ public final class Monitoring {
             if (kpiList_ != null) {
                 output.writeMessage(2, getKpiList());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -14228,7 +14866,7 @@ public final class Monitoring {
             if (kpiList_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getKpiList());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -14254,7 +14892,7 @@ public final class Monitoring {
                 if (!getKpiList().equals(other.getKpiList()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -14274,7 +14912,7 @@ public final class Monitoring {
                 hash = (37 * hash) + KPI_LIST_FIELD_NUMBER;
                 hash = (53 * hash) + getKpiList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -14368,24 +15006,32 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.SubsResponse.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                subsId_ = null;
-                if (subsIdBuilder_ != null) {
-                    subsIdBuilder_.dispose();
+                if (subsIdBuilder_ == null) {
+                    subsId_ = null;
+                } else {
+                    subsId_ = null;
                     subsIdBuilder_ = null;
                 }
-                kpiList_ = null;
-                if (kpiListBuilder_ != null) {
-                    kpiListBuilder_.dispose();
+                if (kpiListBuilder_ == null) {
+                    kpiList_ = null;
+                } else {
+                    kpiList_ = null;
                     kpiListBuilder_ = null;
                 }
                 return this;
@@ -14413,21 +15059,48 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.SubsResponse buildPartial() {
                 monitoring.Monitoring.SubsResponse result = new monitoring.Monitoring.SubsResponse(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (subsIdBuilder_ == null) {
+                    result.subsId_ = subsId_;
+                } else {
+                    result.subsId_ = subsIdBuilder_.build();
+                }
+                if (kpiListBuilder_ == null) {
+                    result.kpiList_ = kpiList_;
+                } else {
+                    result.kpiList_ = kpiListBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.SubsResponse result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.subsId_ = subsIdBuilder_ == null ? subsId_ : subsIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.kpiList_ = kpiListBuilder_ == null ? kpiList_ : kpiListBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -14449,7 +15122,7 @@ public final class Monitoring {
                 if (other.hasKpiList()) {
                     mergeKpiList(other.getKpiList());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -14461,54 +15134,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.SubsResponse parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getSubsIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getKpiListFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.SubsResponse) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private monitoring.Monitoring.SubscriptionID subsId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 subsIdBuilder_;
@@ -14518,7 +15157,7 @@ public final class Monitoring {
              * @return Whether the subsId field is set.
              */
             public boolean hasSubsId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return subsIdBuilder_ != null || subsId_ != null;
             }
 
             /**
@@ -14542,11 +15181,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     subsId_ = value;
+                    onChanged();
                 } else {
                     subsIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -14556,11 +15194,10 @@ public final class Monitoring {
             public Builder setSubsId(monitoring.Monitoring.SubscriptionID.Builder builderForValue) {
                 if (subsIdBuilder_ == null) {
                     subsId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     subsIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -14569,16 +15206,15 @@ public final class Monitoring {
              */
             public Builder mergeSubsId(monitoring.Monitoring.SubscriptionID value) {
                 if (subsIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && subsId_ != null && subsId_ != monitoring.Monitoring.SubscriptionID.getDefaultInstance()) {
-                        getSubsIdBuilder().mergeFrom(value);
+                    if (subsId_ != null) {
+                        subsId_ = monitoring.Monitoring.SubscriptionID.newBuilder(subsId_).mergeFrom(value).buildPartial();
                     } else {
                         subsId_ = value;
                     }
+                    onChanged();
                 } else {
                     subsIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -14586,13 +15222,13 @@ public final class Monitoring {
              * .monitoring.SubscriptionID subs_id = 1;
              */
             public Builder clearSubsId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                subsId_ = null;
-                if (subsIdBuilder_ != null) {
-                    subsIdBuilder_.dispose();
+                if (subsIdBuilder_ == null) {
+                    subsId_ = null;
+                    onChanged();
+                } else {
+                    subsId_ = null;
                     subsIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -14600,7 +15236,6 @@ public final class Monitoring {
              * .monitoring.SubscriptionID subs_id = 1;
              */
             public monitoring.Monitoring.SubscriptionID.Builder getSubsIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getSubsIdFieldBuilder().getBuilder();
             }
@@ -14636,7 +15271,7 @@ public final class Monitoring {
              * @return Whether the kpiList field is set.
              */
             public boolean hasKpiList() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return kpiListBuilder_ != null || kpiList_ != null;
             }
 
             /**
@@ -14660,11 +15295,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiList_ = value;
+                    onChanged();
                 } else {
                     kpiListBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -14674,11 +15308,10 @@ public final class Monitoring {
             public Builder setKpiList(monitoring.Monitoring.KpiList.Builder builderForValue) {
                 if (kpiListBuilder_ == null) {
                     kpiList_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiListBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -14687,16 +15320,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiList(monitoring.Monitoring.KpiList value) {
                 if (kpiListBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && kpiList_ != null && kpiList_ != monitoring.Monitoring.KpiList.getDefaultInstance()) {
-                        getKpiListBuilder().mergeFrom(value);
+                    if (kpiList_ != null) {
+                        kpiList_ = monitoring.Monitoring.KpiList.newBuilder(kpiList_).mergeFrom(value).buildPartial();
                     } else {
                         kpiList_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiListBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -14704,13 +15336,13 @@ public final class Monitoring {
              * .monitoring.KpiList kpi_list = 2;
              */
             public Builder clearKpiList() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                kpiList_ = null;
-                if (kpiListBuilder_ != null) {
-                    kpiListBuilder_.dispose();
+                if (kpiListBuilder_ == null) {
+                    kpiList_ = null;
+                    onChanged();
+                } else {
+                    kpiList_ = null;
                     kpiListBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -14718,7 +15350,6 @@ public final class Monitoring {
              * .monitoring.KpiList kpi_list = 2;
              */
             public monitoring.Monitoring.KpiList.Builder getKpiListBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getKpiListFieldBuilder().getBuilder();
             }
@@ -14772,17 +15403,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public SubsResponse parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SubsResponse(input, extensionRegistry);
             }
         };
 
@@ -14853,6 +15474,57 @@ public final class Monitoring {
             return new SubsList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private SubsList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    subsDescriptor_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                subsDescriptor_.add(input.readMessage(monitoring.Monitoring.SubsDescriptor.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    subsDescriptor_ = java.util.Collections.unmodifiableList(subsDescriptor_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_SubsList_descriptor;
         }
@@ -14864,7 +15536,6 @@ public final class Monitoring {
 
         public static final int SUBS_DESCRIPTOR_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List subsDescriptor_;
 
         /**
@@ -14925,7 +15596,7 @@ public final class Monitoring {
             for (int i = 0; i < subsDescriptor_.size(); i++) {
                 output.writeMessage(1, subsDescriptor_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -14937,7 +15608,7 @@ public final class Monitoring {
             for (int i = 0; i < subsDescriptor_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, subsDescriptor_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -14953,7 +15624,7 @@ public final class Monitoring {
             monitoring.Monitoring.SubsList other = (monitoring.Monitoring.SubsList) obj;
             if (!getSubsDescriptorList().equals(other.getSubsDescriptorList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -14969,7 +15640,7 @@ public final class Monitoring {
                 hash = (37 * hash) + SUBS_DESCRIPTOR_FIELD_NUMBER;
                 hash = (53 * hash) + getSubsDescriptorList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -15063,23 +15734,29 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.SubsList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getSubsDescriptorFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (subsDescriptorBuilder_ == null) {
                     subsDescriptor_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    subsDescriptor_ = null;
                     subsDescriptorBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -15105,15 +15782,7 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.SubsList buildPartial() {
                 monitoring.Monitoring.SubsList result = new monitoring.Monitoring.SubsList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(monitoring.Monitoring.SubsList result) {
+                int from_bitField0_ = bitField0_;
                 if (subsDescriptorBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         subsDescriptor_ = java.util.Collections.unmodifiableList(subsDescriptor_);
@@ -15123,10 +15792,38 @@ public final class Monitoring {
                 } else {
                     result.subsDescriptor_ = subsDescriptorBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.SubsList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -15166,7 +15863,7 @@ public final class Monitoring {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -15178,47 +15875,17 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.SubsList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    monitoring.Monitoring.SubsDescriptor m = input.readMessage(monitoring.Monitoring.SubsDescriptor.parser(), extensionRegistry);
-                                    if (subsDescriptorBuilder_ == null) {
-                                        ensureSubsDescriptorIsMutable();
-                                        subsDescriptor_.add(m);
-                                    } else {
-                                        subsDescriptorBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.SubsList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -15488,17 +16155,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public SubsList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new SubsList(input, extensionRegistry);
             }
         };
 
@@ -15637,6 +16294,108 @@ public final class Monitoring {
             return new AlarmDescriptor();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private AlarmDescriptor(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                monitoring.Monitoring.AlarmID.Builder subBuilder = null;
+                                if (alarmId_ != null) {
+                                    subBuilder = alarmId_.toBuilder();
+                                }
+                                alarmId_ = input.readMessage(monitoring.Monitoring.AlarmID.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(alarmId_);
+                                    alarmId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                alarmDescription_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                name_ = s;
+                                break;
+                            }
+                        case 34:
+                            {
+                                monitoring.Monitoring.KpiId.Builder subBuilder = null;
+                                if (kpiId_ != null) {
+                                    subBuilder = kpiId_.toBuilder();
+                                }
+                                kpiId_ = input.readMessage(monitoring.Monitoring.KpiId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiId_);
+                                    kpiId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 42:
+                            {
+                                monitoring.Monitoring.KpiValueRange.Builder subBuilder = null;
+                                if (kpiValueRange_ != null) {
+                                    subBuilder = kpiValueRange_.toBuilder();
+                                }
+                                kpiValueRange_ = input.readMessage(monitoring.Monitoring.KpiValueRange.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiValueRange_);
+                                    kpiValueRange_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 50:
+                            {
+                                context.ContextOuterClass.Timestamp.Builder subBuilder = null;
+                                if (timestamp_ != null) {
+                                    subBuilder = timestamp_.toBuilder();
+                                }
+                                timestamp_ = input.readMessage(context.ContextOuterClass.Timestamp.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(timestamp_);
+                                    timestamp_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_AlarmDescriptor_descriptor;
         }
@@ -15673,13 +16432,12 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.AlarmIDOrBuilder getAlarmIdOrBuilder() {
-            return alarmId_ == null ? monitoring.Monitoring.AlarmID.getDefaultInstance() : alarmId_;
+            return getAlarmId();
         }
 
         public static final int ALARM_DESCRIPTION_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object alarmDescription_ = "";
+        private volatile java.lang.Object alarmDescription_;
 
         /**
          * string alarm_description = 2;
@@ -15716,8 +16474,7 @@ public final class Monitoring {
 
         public static final int NAME_FIELD_NUMBER = 3;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object name_ = "";
+        private volatile java.lang.Object name_;
 
         /**
          * string name = 3;
@@ -15779,7 +16536,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiIdOrBuilder getKpiIdOrBuilder() {
-            return kpiId_ == null ? monitoring.Monitoring.KpiId.getDefaultInstance() : kpiId_;
+            return getKpiId();
         }
 
         public static final int KPI_VALUE_RANGE_FIELD_NUMBER = 5;
@@ -15809,7 +16566,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiValueRangeOrBuilder getKpiValueRangeOrBuilder() {
-            return kpiValueRange_ == null ? monitoring.Monitoring.KpiValueRange.getDefaultInstance() : kpiValueRange_;
+            return getKpiValueRange();
         }
 
         public static final int TIMESTAMP_FIELD_NUMBER = 6;
@@ -15839,7 +16596,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.TimestampOrBuilder getTimestampOrBuilder() {
-            return timestamp_ == null ? context.ContextOuterClass.Timestamp.getDefaultInstance() : timestamp_;
+            return getTimestamp();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -15860,10 +16617,10 @@ public final class Monitoring {
             if (alarmId_ != null) {
                 output.writeMessage(1, getAlarmId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(alarmDescription_)) {
+            if (!getAlarmDescriptionBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, alarmDescription_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 3, name_);
             }
             if (kpiId_ != null) {
@@ -15875,7 +16632,7 @@ public final class Monitoring {
             if (timestamp_ != null) {
                 output.writeMessage(6, getTimestamp());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -15887,10 +16644,10 @@ public final class Monitoring {
             if (alarmId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getAlarmId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(alarmDescription_)) {
+            if (!getAlarmDescriptionBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, alarmDescription_);
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) {
+            if (!getNameBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, name_);
             }
             if (kpiId_ != null) {
@@ -15902,7 +16659,7 @@ public final class Monitoring {
             if (timestamp_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(6, getTimestamp());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -15944,7 +16701,7 @@ public final class Monitoring {
                 if (!getTimestamp().equals(other.getTimestamp()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -15976,7 +16733,7 @@ public final class Monitoring {
                 hash = (37 * hash) + TIMESTAMP_FIELD_NUMBER;
                 hash = (53 * hash) + getTimestamp().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -16070,36 +16827,46 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.AlarmDescriptor.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                alarmId_ = null;
-                if (alarmIdBuilder_ != null) {
-                    alarmIdBuilder_.dispose();
+                if (alarmIdBuilder_ == null) {
+                    alarmId_ = null;
+                } else {
+                    alarmId_ = null;
                     alarmIdBuilder_ = null;
                 }
                 alarmDescription_ = "";
                 name_ = "";
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
-                kpiValueRange_ = null;
-                if (kpiValueRangeBuilder_ != null) {
-                    kpiValueRangeBuilder_.dispose();
+                if (kpiValueRangeBuilder_ == null) {
+                    kpiValueRange_ = null;
+                } else {
+                    kpiValueRange_ = null;
                     kpiValueRangeBuilder_ = null;
                 }
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
                 return this;
@@ -16127,33 +16894,60 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.AlarmDescriptor buildPartial() {
                 monitoring.Monitoring.AlarmDescriptor result = new monitoring.Monitoring.AlarmDescriptor(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (alarmIdBuilder_ == null) {
+                    result.alarmId_ = alarmId_;
+                } else {
+                    result.alarmId_ = alarmIdBuilder_.build();
+                }
+                result.alarmDescription_ = alarmDescription_;
+                result.name_ = name_;
+                if (kpiIdBuilder_ == null) {
+                    result.kpiId_ = kpiId_;
+                } else {
+                    result.kpiId_ = kpiIdBuilder_.build();
+                }
+                if (kpiValueRangeBuilder_ == null) {
+                    result.kpiValueRange_ = kpiValueRange_;
+                } else {
+                    result.kpiValueRange_ = kpiValueRangeBuilder_.build();
+                }
+                if (timestampBuilder_ == null) {
+                    result.timestamp_ = timestamp_;
+                } else {
+                    result.timestamp_ = timestampBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.AlarmDescriptor result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.alarmId_ = alarmIdBuilder_ == null ? alarmId_ : alarmIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.alarmDescription_ = alarmDescription_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.name_ = name_;
-                }
-                if (((from_bitField0_ & 0x00000008) != 0)) {
-                    result.kpiId_ = kpiIdBuilder_ == null ? kpiId_ : kpiIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000010) != 0)) {
-                    result.kpiValueRange_ = kpiValueRangeBuilder_ == null ? kpiValueRange_ : kpiValueRangeBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000020) != 0)) {
-                    result.timestamp_ = timestampBuilder_ == null ? timestamp_ : timestampBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -16174,12 +16968,10 @@ public final class Monitoring {
                 }
                 if (!other.getAlarmDescription().isEmpty()) {
                     alarmDescription_ = other.alarmDescription_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (!other.getName().isEmpty()) {
                     name_ = other.name_;
-                    bitField0_ |= 0x00000004;
                     onChanged();
                 }
                 if (other.hasKpiId()) {
@@ -16191,7 +16983,7 @@ public final class Monitoring {
                 if (other.hasTimestamp()) {
                     mergeTimestamp(other.getTimestamp());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -16203,82 +16995,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.AlarmDescriptor parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getAlarmIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    alarmDescription_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    name_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            case 34:
-                                {
-                                    input.readMessage(getKpiIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000008;
-                                    break;
-                                }
-                            // case 34
-                            case 42:
-                                {
-                                    input.readMessage(getKpiValueRangeFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000010;
-                                    break;
-                                }
-                            // case 42
-                            case 50:
-                                {
-                                    input.readMessage(getTimestampFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000020;
-                                    break;
-                                }
-                            // case 50
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.AlarmDescriptor) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private monitoring.Monitoring.AlarmID alarmId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 alarmIdBuilder_;
@@ -16288,7 +17018,7 @@ public final class Monitoring {
              * @return Whether the alarmId field is set.
              */
             public boolean hasAlarmId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return alarmIdBuilder_ != null || alarmId_ != null;
             }
 
             /**
@@ -16312,11 +17042,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     alarmId_ = value;
+                    onChanged();
                 } else {
                     alarmIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -16326,11 +17055,10 @@ public final class Monitoring {
             public Builder setAlarmId(monitoring.Monitoring.AlarmID.Builder builderForValue) {
                 if (alarmIdBuilder_ == null) {
                     alarmId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     alarmIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -16339,16 +17067,15 @@ public final class Monitoring {
              */
             public Builder mergeAlarmId(monitoring.Monitoring.AlarmID value) {
                 if (alarmIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && alarmId_ != null && alarmId_ != monitoring.Monitoring.AlarmID.getDefaultInstance()) {
-                        getAlarmIdBuilder().mergeFrom(value);
+                    if (alarmId_ != null) {
+                        alarmId_ = monitoring.Monitoring.AlarmID.newBuilder(alarmId_).mergeFrom(value).buildPartial();
                     } else {
                         alarmId_ = value;
                     }
+                    onChanged();
                 } else {
                     alarmIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -16356,13 +17083,13 @@ public final class Monitoring {
              * .monitoring.AlarmID alarm_id = 1;
              */
             public Builder clearAlarmId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                alarmId_ = null;
-                if (alarmIdBuilder_ != null) {
-                    alarmIdBuilder_.dispose();
+                if (alarmIdBuilder_ == null) {
+                    alarmId_ = null;
+                    onChanged();
+                } else {
+                    alarmId_ = null;
                     alarmIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -16370,7 +17097,6 @@ public final class Monitoring {
              * .monitoring.AlarmID alarm_id = 1;
              */
             public monitoring.Monitoring.AlarmID.Builder getAlarmIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getAlarmIdFieldBuilder().getBuilder();
             }
@@ -16440,7 +17166,6 @@ public final class Monitoring {
                     throw new NullPointerException();
                 }
                 alarmDescription_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -16451,7 +17176,6 @@ public final class Monitoring {
              */
             public Builder clearAlarmDescription() {
                 alarmDescription_ = getDefaultInstance().getAlarmDescription();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -16467,7 +17191,6 @@ public final class Monitoring {
                 }
                 checkByteStringIsUtf8(value);
                 alarmDescription_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -16515,7 +17238,6 @@ public final class Monitoring {
                     throw new NullPointerException();
                 }
                 name_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -16526,7 +17248,6 @@ public final class Monitoring {
              */
             public Builder clearName() {
                 name_ = getDefaultInstance().getName();
-                bitField0_ = (bitField0_ & ~0x00000004);
                 onChanged();
                 return this;
             }
@@ -16542,7 +17263,6 @@ public final class Monitoring {
                 }
                 checkByteStringIsUtf8(value);
                 name_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -16556,7 +17276,7 @@ public final class Monitoring {
              * @return Whether the kpiId field is set.
              */
             public boolean hasKpiId() {
-                return ((bitField0_ & 0x00000008) != 0);
+                return kpiIdBuilder_ != null || kpiId_ != null;
             }
 
             /**
@@ -16580,11 +17300,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiId_ = value;
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -16594,11 +17313,10 @@ public final class Monitoring {
             public Builder setKpiId(monitoring.Monitoring.KpiId.Builder builderForValue) {
                 if (kpiIdBuilder_ == null) {
                     kpiId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -16607,16 +17325,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiId(monitoring.Monitoring.KpiId value) {
                 if (kpiIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000008) != 0) && kpiId_ != null && kpiId_ != monitoring.Monitoring.KpiId.getDefaultInstance()) {
-                        getKpiIdBuilder().mergeFrom(value);
+                    if (kpiId_ != null) {
+                        kpiId_ = monitoring.Monitoring.KpiId.newBuilder(kpiId_).mergeFrom(value).buildPartial();
                     } else {
                         kpiId_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000008;
-                onChanged();
                 return this;
             }
 
@@ -16624,13 +17341,13 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 4;
              */
             public Builder clearKpiId() {
-                bitField0_ = (bitField0_ & ~0x00000008);
-                kpiId_ = null;
-                if (kpiIdBuilder_ != null) {
-                    kpiIdBuilder_.dispose();
+                if (kpiIdBuilder_ == null) {
+                    kpiId_ = null;
+                    onChanged();
+                } else {
+                    kpiId_ = null;
                     kpiIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -16638,7 +17355,6 @@ public final class Monitoring {
              * .monitoring.KpiId kpi_id = 4;
              */
             public monitoring.Monitoring.KpiId.Builder getKpiIdBuilder() {
-                bitField0_ |= 0x00000008;
                 onChanged();
                 return getKpiIdFieldBuilder().getBuilder();
             }
@@ -16674,7 +17390,7 @@ public final class Monitoring {
              * @return Whether the kpiValueRange field is set.
              */
             public boolean hasKpiValueRange() {
-                return ((bitField0_ & 0x00000010) != 0);
+                return kpiValueRangeBuilder_ != null || kpiValueRange_ != null;
             }
 
             /**
@@ -16698,11 +17414,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiValueRange_ = value;
+                    onChanged();
                 } else {
                     kpiValueRangeBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -16712,11 +17427,10 @@ public final class Monitoring {
             public Builder setKpiValueRange(monitoring.Monitoring.KpiValueRange.Builder builderForValue) {
                 if (kpiValueRangeBuilder_ == null) {
                     kpiValueRange_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiValueRangeBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -16725,16 +17439,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiValueRange(monitoring.Monitoring.KpiValueRange value) {
                 if (kpiValueRangeBuilder_ == null) {
-                    if (((bitField0_ & 0x00000010) != 0) && kpiValueRange_ != null && kpiValueRange_ != monitoring.Monitoring.KpiValueRange.getDefaultInstance()) {
-                        getKpiValueRangeBuilder().mergeFrom(value);
+                    if (kpiValueRange_ != null) {
+                        kpiValueRange_ = monitoring.Monitoring.KpiValueRange.newBuilder(kpiValueRange_).mergeFrom(value).buildPartial();
                     } else {
                         kpiValueRange_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiValueRangeBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000010;
-                onChanged();
                 return this;
             }
 
@@ -16742,13 +17455,13 @@ public final class Monitoring {
              * .monitoring.KpiValueRange kpi_value_range = 5;
              */
             public Builder clearKpiValueRange() {
-                bitField0_ = (bitField0_ & ~0x00000010);
-                kpiValueRange_ = null;
-                if (kpiValueRangeBuilder_ != null) {
-                    kpiValueRangeBuilder_.dispose();
+                if (kpiValueRangeBuilder_ == null) {
+                    kpiValueRange_ = null;
+                    onChanged();
+                } else {
+                    kpiValueRange_ = null;
                     kpiValueRangeBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -16756,7 +17469,6 @@ public final class Monitoring {
              * .monitoring.KpiValueRange kpi_value_range = 5;
              */
             public monitoring.Monitoring.KpiValueRange.Builder getKpiValueRangeBuilder() {
-                bitField0_ |= 0x00000010;
                 onChanged();
                 return getKpiValueRangeFieldBuilder().getBuilder();
             }
@@ -16792,7 +17504,7 @@ public final class Monitoring {
              * @return Whether the timestamp field is set.
              */
             public boolean hasTimestamp() {
-                return ((bitField0_ & 0x00000020) != 0);
+                return timestampBuilder_ != null || timestamp_ != null;
             }
 
             /**
@@ -16816,11 +17528,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     timestamp_ = value;
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -16830,11 +17541,10 @@ public final class Monitoring {
             public Builder setTimestamp(context.ContextOuterClass.Timestamp.Builder builderForValue) {
                 if (timestampBuilder_ == null) {
                     timestamp_ = builderForValue.build();
+                    onChanged();
                 } else {
                     timestampBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -16843,16 +17553,15 @@ public final class Monitoring {
              */
             public Builder mergeTimestamp(context.ContextOuterClass.Timestamp value) {
                 if (timestampBuilder_ == null) {
-                    if (((bitField0_ & 0x00000020) != 0) && timestamp_ != null && timestamp_ != context.ContextOuterClass.Timestamp.getDefaultInstance()) {
-                        getTimestampBuilder().mergeFrom(value);
+                    if (timestamp_ != null) {
+                        timestamp_ = context.ContextOuterClass.Timestamp.newBuilder(timestamp_).mergeFrom(value).buildPartial();
                     } else {
                         timestamp_ = value;
                     }
+                    onChanged();
                 } else {
                     timestampBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000020;
-                onChanged();
                 return this;
             }
 
@@ -16860,13 +17569,13 @@ public final class Monitoring {
              * .context.Timestamp timestamp = 6;
              */
             public Builder clearTimestamp() {
-                bitField0_ = (bitField0_ & ~0x00000020);
-                timestamp_ = null;
-                if (timestampBuilder_ != null) {
-                    timestampBuilder_.dispose();
+                if (timestampBuilder_ == null) {
+                    timestamp_ = null;
+                    onChanged();
+                } else {
+                    timestamp_ = null;
                     timestampBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -16874,7 +17583,6 @@ public final class Monitoring {
              * .context.Timestamp timestamp = 6;
              */
             public context.ContextOuterClass.Timestamp.Builder getTimestampBuilder() {
-                bitField0_ |= 0x00000020;
                 onChanged();
                 return getTimestampFieldBuilder().getBuilder();
             }
@@ -16928,17 +17636,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public AlarmDescriptor parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new AlarmDescriptor(input, extensionRegistry);
             }
         };
 
@@ -17000,6 +17698,57 @@ public final class Monitoring {
             return new AlarmID();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private AlarmID(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (alarmId_ != null) {
+                                    subBuilder = alarmId_.toBuilder();
+                                }
+                                alarmId_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(alarmId_);
+                                    alarmId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_AlarmID_descriptor;
         }
@@ -17036,7 +17785,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getAlarmIdOrBuilder() {
-            return alarmId_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : alarmId_;
+            return getAlarmId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -17057,7 +17806,7 @@ public final class Monitoring {
             if (alarmId_ != null) {
                 output.writeMessage(1, getAlarmId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -17069,7 +17818,7 @@ public final class Monitoring {
             if (alarmId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getAlarmId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -17089,7 +17838,7 @@ public final class Monitoring {
                 if (!getAlarmId().equals(other.getAlarmId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -17105,7 +17854,7 @@ public final class Monitoring {
                 hash = (37 * hash) + ALARM_ID_FIELD_NUMBER;
                 hash = (53 * hash) + getAlarmId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -17199,19 +17948,26 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.AlarmID.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                alarmId_ = null;
-                if (alarmIdBuilder_ != null) {
-                    alarmIdBuilder_.dispose();
+                if (alarmIdBuilder_ == null) {
+                    alarmId_ = null;
+                } else {
+                    alarmId_ = null;
                     alarmIdBuilder_ = null;
                 }
                 return this;
@@ -17239,18 +17995,43 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.AlarmID buildPartial() {
                 monitoring.Monitoring.AlarmID result = new monitoring.Monitoring.AlarmID(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (alarmIdBuilder_ == null) {
+                    result.alarmId_ = alarmId_;
+                } else {
+                    result.alarmId_ = alarmIdBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.AlarmID result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.alarmId_ = alarmIdBuilder_ == null ? alarmId_ : alarmIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -17269,7 +18050,7 @@ public final class Monitoring {
                 if (other.hasAlarmId()) {
                     mergeAlarmId(other.getAlarmId());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -17278,50 +18059,23 @@ public final class Monitoring {
             public final boolean isInitialized() {
                 return true;
             }
-
-            @java.lang.Override
-            public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
-                try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getAlarmIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+
+            @java.lang.Override
+            public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
+                monitoring.Monitoring.AlarmID parsedMessage = null;
+                try {
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.AlarmID) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid alarmId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 alarmIdBuilder_;
@@ -17331,7 +18085,7 @@ public final class Monitoring {
              * @return Whether the alarmId field is set.
              */
             public boolean hasAlarmId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return alarmIdBuilder_ != null || alarmId_ != null;
             }
 
             /**
@@ -17355,11 +18109,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     alarmId_ = value;
+                    onChanged();
                 } else {
                     alarmIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -17369,11 +18122,10 @@ public final class Monitoring {
             public Builder setAlarmId(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (alarmIdBuilder_ == null) {
                     alarmId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     alarmIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -17382,16 +18134,15 @@ public final class Monitoring {
              */
             public Builder mergeAlarmId(context.ContextOuterClass.Uuid value) {
                 if (alarmIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && alarmId_ != null && alarmId_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getAlarmIdBuilder().mergeFrom(value);
+                    if (alarmId_ != null) {
+                        alarmId_ = context.ContextOuterClass.Uuid.newBuilder(alarmId_).mergeFrom(value).buildPartial();
                     } else {
                         alarmId_ = value;
                     }
+                    onChanged();
                 } else {
                     alarmIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -17399,13 +18150,13 @@ public final class Monitoring {
              * .context.Uuid alarm_id = 1;
              */
             public Builder clearAlarmId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                alarmId_ = null;
-                if (alarmIdBuilder_ != null) {
-                    alarmIdBuilder_.dispose();
+                if (alarmIdBuilder_ == null) {
+                    alarmId_ = null;
+                    onChanged();
+                } else {
+                    alarmId_ = null;
                     alarmIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -17413,7 +18164,6 @@ public final class Monitoring {
              * .context.Uuid alarm_id = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getAlarmIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getAlarmIdFieldBuilder().getBuilder();
             }
@@ -17467,17 +18217,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public AlarmID parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new AlarmID(input, extensionRegistry);
             }
         };
 
@@ -17551,6 +18291,67 @@ public final class Monitoring {
             return new AlarmSubscription();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private AlarmSubscription(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                monitoring.Monitoring.AlarmID.Builder subBuilder = null;
+                                if (alarmId_ != null) {
+                                    subBuilder = alarmId_.toBuilder();
+                                }
+                                alarmId_ = input.readMessage(monitoring.Monitoring.AlarmID.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(alarmId_);
+                                    alarmId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 21:
+                            {
+                                subscriptionTimeoutS_ = input.readFloat();
+                                break;
+                            }
+                        case 29:
+                            {
+                                subscriptionFrequencyMs_ = input.readFloat();
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_AlarmSubscription_descriptor;
         }
@@ -17587,12 +18388,12 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.AlarmIDOrBuilder getAlarmIdOrBuilder() {
-            return alarmId_ == null ? monitoring.Monitoring.AlarmID.getDefaultInstance() : alarmId_;
+            return getAlarmId();
         }
 
         public static final int SUBSCRIPTION_TIMEOUT_S_FIELD_NUMBER = 2;
 
-        private float subscriptionTimeoutS_ = 0F;
+        private float subscriptionTimeoutS_;
 
         /**
          * float subscription_timeout_s = 2;
@@ -17605,7 +18406,7 @@ public final class Monitoring {
 
         public static final int SUBSCRIPTION_FREQUENCY_MS_FIELD_NUMBER = 3;
 
-        private float subscriptionFrequencyMs_ = 0F;
+        private float subscriptionFrequencyMs_;
 
         /**
          * float subscription_frequency_ms = 3;
@@ -17634,13 +18435,13 @@ public final class Monitoring {
             if (alarmId_ != null) {
                 output.writeMessage(1, getAlarmId());
             }
-            if (java.lang.Float.floatToRawIntBits(subscriptionTimeoutS_) != 0) {
+            if (subscriptionTimeoutS_ != 0F) {
                 output.writeFloat(2, subscriptionTimeoutS_);
             }
-            if (java.lang.Float.floatToRawIntBits(subscriptionFrequencyMs_) != 0) {
+            if (subscriptionFrequencyMs_ != 0F) {
                 output.writeFloat(3, subscriptionFrequencyMs_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -17652,13 +18453,13 @@ public final class Monitoring {
             if (alarmId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getAlarmId());
             }
-            if (java.lang.Float.floatToRawIntBits(subscriptionTimeoutS_) != 0) {
+            if (subscriptionTimeoutS_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(2, subscriptionTimeoutS_);
             }
-            if (java.lang.Float.floatToRawIntBits(subscriptionFrequencyMs_) != 0) {
+            if (subscriptionFrequencyMs_ != 0F) {
                 size += com.google.protobuf.CodedOutputStream.computeFloatSize(3, subscriptionFrequencyMs_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -17682,7 +18483,7 @@ public final class Monitoring {
                 return false;
             if (java.lang.Float.floatToIntBits(getSubscriptionFrequencyMs()) != java.lang.Float.floatToIntBits(other.getSubscriptionFrequencyMs()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -17702,7 +18503,7 @@ public final class Monitoring {
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getSubscriptionTimeoutS());
             hash = (37 * hash) + SUBSCRIPTION_FREQUENCY_MS_FIELD_NUMBER;
             hash = (53 * hash) + java.lang.Float.floatToIntBits(getSubscriptionFrequencyMs());
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -17796,19 +18597,26 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.AlarmSubscription.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                alarmId_ = null;
-                if (alarmIdBuilder_ != null) {
-                    alarmIdBuilder_.dispose();
+                if (alarmIdBuilder_ == null) {
+                    alarmId_ = null;
+                } else {
+                    alarmId_ = null;
                     alarmIdBuilder_ = null;
                 }
                 subscriptionTimeoutS_ = 0F;
@@ -17838,24 +18646,45 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.AlarmSubscription buildPartial() {
                 monitoring.Monitoring.AlarmSubscription result = new monitoring.Monitoring.AlarmSubscription(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (alarmIdBuilder_ == null) {
+                    result.alarmId_ = alarmId_;
+                } else {
+                    result.alarmId_ = alarmIdBuilder_.build();
                 }
+                result.subscriptionTimeoutS_ = subscriptionTimeoutS_;
+                result.subscriptionFrequencyMs_ = subscriptionFrequencyMs_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.AlarmSubscription result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.alarmId_ = alarmIdBuilder_ == null ? alarmId_ : alarmIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.subscriptionTimeoutS_ = subscriptionTimeoutS_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.subscriptionFrequencyMs_ = subscriptionFrequencyMs_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -17880,7 +18709,7 @@ public final class Monitoring {
                 if (other.getSubscriptionFrequencyMs() != 0F) {
                     setSubscriptionFrequencyMs(other.getSubscriptionFrequencyMs());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -17892,61 +18721,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.AlarmSubscription parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getAlarmIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 21:
-                                {
-                                    subscriptionTimeoutS_ = input.readFloat();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 21
-                            case 29:
-                                {
-                                    subscriptionFrequencyMs_ = input.readFloat();
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 29
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.AlarmSubscription) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private monitoring.Monitoring.AlarmID alarmId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 alarmIdBuilder_;
@@ -17956,7 +18744,7 @@ public final class Monitoring {
              * @return Whether the alarmId field is set.
              */
             public boolean hasAlarmId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return alarmIdBuilder_ != null || alarmId_ != null;
             }
 
             /**
@@ -17980,11 +18768,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     alarmId_ = value;
+                    onChanged();
                 } else {
                     alarmIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -17994,11 +18781,10 @@ public final class Monitoring {
             public Builder setAlarmId(monitoring.Monitoring.AlarmID.Builder builderForValue) {
                 if (alarmIdBuilder_ == null) {
                     alarmId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     alarmIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -18007,16 +18793,15 @@ public final class Monitoring {
              */
             public Builder mergeAlarmId(monitoring.Monitoring.AlarmID value) {
                 if (alarmIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && alarmId_ != null && alarmId_ != monitoring.Monitoring.AlarmID.getDefaultInstance()) {
-                        getAlarmIdBuilder().mergeFrom(value);
+                    if (alarmId_ != null) {
+                        alarmId_ = monitoring.Monitoring.AlarmID.newBuilder(alarmId_).mergeFrom(value).buildPartial();
                     } else {
                         alarmId_ = value;
                     }
+                    onChanged();
                 } else {
                     alarmIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -18024,13 +18809,13 @@ public final class Monitoring {
              * .monitoring.AlarmID alarm_id = 1;
              */
             public Builder clearAlarmId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                alarmId_ = null;
-                if (alarmIdBuilder_ != null) {
-                    alarmIdBuilder_.dispose();
+                if (alarmIdBuilder_ == null) {
+                    alarmId_ = null;
+                    onChanged();
+                } else {
+                    alarmId_ = null;
                     alarmIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -18038,7 +18823,6 @@ public final class Monitoring {
              * .monitoring.AlarmID alarm_id = 1;
              */
             public monitoring.Monitoring.AlarmID.Builder getAlarmIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getAlarmIdFieldBuilder().getBuilder();
             }
@@ -18083,7 +18867,6 @@ public final class Monitoring {
              */
             public Builder setSubscriptionTimeoutS(float value) {
                 subscriptionTimeoutS_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -18093,7 +18876,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearSubscriptionTimeoutS() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 subscriptionTimeoutS_ = 0F;
                 onChanged();
                 return this;
@@ -18117,7 +18899,6 @@ public final class Monitoring {
              */
             public Builder setSubscriptionFrequencyMs(float value) {
                 subscriptionFrequencyMs_ = value;
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return this;
             }
@@ -18127,7 +18908,6 @@ public final class Monitoring {
              * @return This builder for chaining.
              */
             public Builder clearSubscriptionFrequencyMs() {
-                bitField0_ = (bitField0_ & ~0x00000004);
                 subscriptionFrequencyMs_ = 0F;
                 onChanged();
                 return this;
@@ -18160,17 +18940,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public AlarmSubscription parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new AlarmSubscription(input, extensionRegistry);
             }
         };
 
@@ -18262,6 +19032,76 @@ public final class Monitoring {
             return new AlarmResponse();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private AlarmResponse(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                monitoring.Monitoring.AlarmID.Builder subBuilder = null;
+                                if (alarmId_ != null) {
+                                    subBuilder = alarmId_.toBuilder();
+                                }
+                                alarmId_ = input.readMessage(monitoring.Monitoring.AlarmID.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(alarmId_);
+                                    alarmId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                text_ = s;
+                                break;
+                            }
+                        case 26:
+                            {
+                                monitoring.Monitoring.KpiList.Builder subBuilder = null;
+                                if (kpiList_ != null) {
+                                    subBuilder = kpiList_.toBuilder();
+                                }
+                                kpiList_ = input.readMessage(monitoring.Monitoring.KpiList.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(kpiList_);
+                                    kpiList_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_AlarmResponse_descriptor;
         }
@@ -18298,13 +19138,12 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.AlarmIDOrBuilder getAlarmIdOrBuilder() {
-            return alarmId_ == null ? monitoring.Monitoring.AlarmID.getDefaultInstance() : alarmId_;
+            return getAlarmId();
         }
 
         public static final int TEXT_FIELD_NUMBER = 2;
 
-        @SuppressWarnings("serial")
-        private volatile java.lang.Object text_ = "";
+        private volatile java.lang.Object text_;
 
         /**
          * string text = 2;
@@ -18366,7 +19205,7 @@ public final class Monitoring {
          */
         @java.lang.Override
         public monitoring.Monitoring.KpiListOrBuilder getKpiListOrBuilder() {
-            return kpiList_ == null ? monitoring.Monitoring.KpiList.getDefaultInstance() : kpiList_;
+            return getKpiList();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -18387,13 +19226,13 @@ public final class Monitoring {
             if (alarmId_ != null) {
                 output.writeMessage(1, getAlarmId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(text_)) {
+            if (!getTextBytes().isEmpty()) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 2, text_);
             }
             if (kpiList_ != null) {
                 output.writeMessage(3, getKpiList());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -18405,13 +19244,13 @@ public final class Monitoring {
             if (alarmId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getAlarmId());
             }
-            if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(text_)) {
+            if (!getTextBytes().isEmpty()) {
                 size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, text_);
             }
             if (kpiList_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getKpiList());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -18439,7 +19278,7 @@ public final class Monitoring {
                 if (!getKpiList().equals(other.getKpiList()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -18461,7 +19300,7 @@ public final class Monitoring {
                 hash = (37 * hash) + KPI_LIST_FIELD_NUMBER;
                 hash = (53 * hash) + getKpiList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -18555,25 +19394,33 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.AlarmResponse.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                alarmId_ = null;
-                if (alarmIdBuilder_ != null) {
-                    alarmIdBuilder_.dispose();
+                if (alarmIdBuilder_ == null) {
+                    alarmId_ = null;
+                } else {
+                    alarmId_ = null;
                     alarmIdBuilder_ = null;
                 }
                 text_ = "";
-                kpiList_ = null;
-                if (kpiListBuilder_ != null) {
-                    kpiListBuilder_.dispose();
+                if (kpiListBuilder_ == null) {
+                    kpiList_ = null;
+                } else {
+                    kpiList_ = null;
                     kpiListBuilder_ = null;
                 }
                 return this;
@@ -18601,24 +19448,49 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.AlarmResponse buildPartial() {
                 monitoring.Monitoring.AlarmResponse result = new monitoring.Monitoring.AlarmResponse(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (alarmIdBuilder_ == null) {
+                    result.alarmId_ = alarmId_;
+                } else {
+                    result.alarmId_ = alarmIdBuilder_.build();
+                }
+                result.text_ = text_;
+                if (kpiListBuilder_ == null) {
+                    result.kpiList_ = kpiList_;
+                } else {
+                    result.kpiList_ = kpiListBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.AlarmResponse result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.alarmId_ = alarmIdBuilder_ == null ? alarmId_ : alarmIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.text_ = text_;
-                }
-                if (((from_bitField0_ & 0x00000004) != 0)) {
-                    result.kpiList_ = kpiListBuilder_ == null ? kpiList_ : kpiListBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -18639,13 +19511,12 @@ public final class Monitoring {
                 }
                 if (!other.getText().isEmpty()) {
                     text_ = other.text_;
-                    bitField0_ |= 0x00000002;
                     onChanged();
                 }
                 if (other.hasKpiList()) {
                     mergeKpiList(other.getKpiList());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -18657,61 +19528,20 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.AlarmResponse parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getAlarmIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    text_ = input.readStringRequireUtf8();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            case 26:
-                                {
-                                    input.readMessage(getKpiListFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000004;
-                                    break;
-                                }
-                            // case 26
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.AlarmResponse) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private monitoring.Monitoring.AlarmID alarmId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 alarmIdBuilder_;
@@ -18721,7 +19551,7 @@ public final class Monitoring {
              * @return Whether the alarmId field is set.
              */
             public boolean hasAlarmId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return alarmIdBuilder_ != null || alarmId_ != null;
             }
 
             /**
@@ -18745,11 +19575,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     alarmId_ = value;
+                    onChanged();
                 } else {
                     alarmIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -18759,11 +19588,10 @@ public final class Monitoring {
             public Builder setAlarmId(monitoring.Monitoring.AlarmID.Builder builderForValue) {
                 if (alarmIdBuilder_ == null) {
                     alarmId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     alarmIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -18772,16 +19600,15 @@ public final class Monitoring {
              */
             public Builder mergeAlarmId(monitoring.Monitoring.AlarmID value) {
                 if (alarmIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && alarmId_ != null && alarmId_ != monitoring.Monitoring.AlarmID.getDefaultInstance()) {
-                        getAlarmIdBuilder().mergeFrom(value);
+                    if (alarmId_ != null) {
+                        alarmId_ = monitoring.Monitoring.AlarmID.newBuilder(alarmId_).mergeFrom(value).buildPartial();
                     } else {
                         alarmId_ = value;
                     }
+                    onChanged();
                 } else {
                     alarmIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -18789,13 +19616,13 @@ public final class Monitoring {
              * .monitoring.AlarmID alarm_id = 1;
              */
             public Builder clearAlarmId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                alarmId_ = null;
-                if (alarmIdBuilder_ != null) {
-                    alarmIdBuilder_.dispose();
+                if (alarmIdBuilder_ == null) {
+                    alarmId_ = null;
+                    onChanged();
+                } else {
+                    alarmId_ = null;
                     alarmIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -18803,7 +19630,6 @@ public final class Monitoring {
              * .monitoring.AlarmID alarm_id = 1;
              */
             public monitoring.Monitoring.AlarmID.Builder getAlarmIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getAlarmIdFieldBuilder().getBuilder();
             }
@@ -18873,7 +19699,6 @@ public final class Monitoring {
                     throw new NullPointerException();
                 }
                 text_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -18884,7 +19709,6 @@ public final class Monitoring {
              */
             public Builder clearText() {
                 text_ = getDefaultInstance().getText();
-                bitField0_ = (bitField0_ & ~0x00000002);
                 onChanged();
                 return this;
             }
@@ -18900,7 +19724,6 @@ public final class Monitoring {
                 }
                 checkByteStringIsUtf8(value);
                 text_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -18914,7 +19737,7 @@ public final class Monitoring {
              * @return Whether the kpiList field is set.
              */
             public boolean hasKpiList() {
-                return ((bitField0_ & 0x00000004) != 0);
+                return kpiListBuilder_ != null || kpiList_ != null;
             }
 
             /**
@@ -18938,11 +19761,10 @@ public final class Monitoring {
                         throw new NullPointerException();
                     }
                     kpiList_ = value;
+                    onChanged();
                 } else {
                     kpiListBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -18952,11 +19774,10 @@ public final class Monitoring {
             public Builder setKpiList(monitoring.Monitoring.KpiList.Builder builderForValue) {
                 if (kpiListBuilder_ == null) {
                     kpiList_ = builderForValue.build();
+                    onChanged();
                 } else {
                     kpiListBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -18965,16 +19786,15 @@ public final class Monitoring {
              */
             public Builder mergeKpiList(monitoring.Monitoring.KpiList value) {
                 if (kpiListBuilder_ == null) {
-                    if (((bitField0_ & 0x00000004) != 0) && kpiList_ != null && kpiList_ != monitoring.Monitoring.KpiList.getDefaultInstance()) {
-                        getKpiListBuilder().mergeFrom(value);
+                    if (kpiList_ != null) {
+                        kpiList_ = monitoring.Monitoring.KpiList.newBuilder(kpiList_).mergeFrom(value).buildPartial();
                     } else {
                         kpiList_ = value;
                     }
+                    onChanged();
                 } else {
                     kpiListBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000004;
-                onChanged();
                 return this;
             }
 
@@ -18982,13 +19802,13 @@ public final class Monitoring {
              * .monitoring.KpiList kpi_list = 3;
              */
             public Builder clearKpiList() {
-                bitField0_ = (bitField0_ & ~0x00000004);
-                kpiList_ = null;
-                if (kpiListBuilder_ != null) {
-                    kpiListBuilder_.dispose();
+                if (kpiListBuilder_ == null) {
+                    kpiList_ = null;
+                    onChanged();
+                } else {
+                    kpiList_ = null;
                     kpiListBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -18996,7 +19816,6 @@ public final class Monitoring {
              * .monitoring.KpiList kpi_list = 3;
              */
             public monitoring.Monitoring.KpiList.Builder getKpiListBuilder() {
-                bitField0_ |= 0x00000004;
                 onChanged();
                 return getKpiListFieldBuilder().getBuilder();
             }
@@ -19050,17 +19869,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public AlarmResponse parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new AlarmResponse(input, extensionRegistry);
             }
         };
 
@@ -19131,6 +19940,57 @@ public final class Monitoring {
             return new AlarmList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private AlarmList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    alarmDescriptor_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                alarmDescriptor_.add(input.readMessage(monitoring.Monitoring.AlarmDescriptor.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    alarmDescriptor_ = java.util.Collections.unmodifiableList(alarmDescriptor_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return monitoring.Monitoring.internal_static_monitoring_AlarmList_descriptor;
         }
@@ -19142,7 +20002,6 @@ public final class Monitoring {
 
         public static final int ALARM_DESCRIPTOR_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List alarmDescriptor_;
 
         /**
@@ -19203,7 +20062,7 @@ public final class Monitoring {
             for (int i = 0; i < alarmDescriptor_.size(); i++) {
                 output.writeMessage(1, alarmDescriptor_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -19215,7 +20074,7 @@ public final class Monitoring {
             for (int i = 0; i < alarmDescriptor_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, alarmDescriptor_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -19231,7 +20090,7 @@ public final class Monitoring {
             monitoring.Monitoring.AlarmList other = (monitoring.Monitoring.AlarmList) obj;
             if (!getAlarmDescriptorList().equals(other.getAlarmDescriptorList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -19247,7 +20106,7 @@ public final class Monitoring {
                 hash = (37 * hash) + ALARM_DESCRIPTOR_FIELD_NUMBER;
                 hash = (53 * hash) + getAlarmDescriptorList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -19341,23 +20200,29 @@ public final class Monitoring {
 
             // Construct using monitoring.Monitoring.AlarmList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getAlarmDescriptorFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (alarmDescriptorBuilder_ == null) {
                     alarmDescriptor_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    alarmDescriptor_ = null;
                     alarmDescriptorBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -19383,15 +20248,7 @@ public final class Monitoring {
             @java.lang.Override
             public monitoring.Monitoring.AlarmList buildPartial() {
                 monitoring.Monitoring.AlarmList result = new monitoring.Monitoring.AlarmList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(monitoring.Monitoring.AlarmList result) {
+                int from_bitField0_ = bitField0_;
                 if (alarmDescriptorBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         alarmDescriptor_ = java.util.Collections.unmodifiableList(alarmDescriptor_);
@@ -19401,10 +20258,38 @@ public final class Monitoring {
                 } else {
                     result.alarmDescriptor_ = alarmDescriptorBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(monitoring.Monitoring.AlarmList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -19444,7 +20329,7 @@ public final class Monitoring {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -19456,47 +20341,17 @@ public final class Monitoring {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                monitoring.Monitoring.AlarmList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    monitoring.Monitoring.AlarmDescriptor m = input.readMessage(monitoring.Monitoring.AlarmDescriptor.parser(), extensionRegistry);
-                                    if (alarmDescriptorBuilder_ == null) {
-                                        ensureAlarmDescriptorIsMutable();
-                                        alarmDescriptor_.add(m);
-                                    } else {
-                                        alarmDescriptorBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (monitoring.Monitoring.AlarmList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -19766,17 +20621,7 @@ public final class Monitoring {
 
             @java.lang.Override
             public AlarmList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new AlarmList(input, extensionRegistry);
             }
         };
 
diff --git a/src/ztp/target/generated-sources/grpc/monitoring/MonitoringServiceGrpc.java b/src/ztp/target/generated-sources/grpc/monitoring/MonitoringServiceGrpc.java
index 7a275e577..83dffd625 100644
--- a/src/ztp/target/generated-sources/grpc/monitoring/MonitoringServiceGrpc.java
+++ b/src/ztp/target/generated-sources/grpc/monitoring/MonitoringServiceGrpc.java
@@ -4,8 +4,7 @@ import static io.grpc.MethodDescriptor.generateFullMethodName;
 
 /**
  */
-@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.55.1)", comments = "Source: monitoring.proto")
-@io.grpc.stub.annotations.GrpcGenerated
+@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.38.1)", comments = "Source: monitoring.proto")
 public final class MonitoringServiceGrpc {
 
     private MonitoringServiceGrpc() {
@@ -328,130 +327,123 @@ public final class MonitoringServiceGrpc {
 
     /**
      */
-    public interface AsyncService {
+    public static abstract class MonitoringServiceImplBase implements io.grpc.BindableService {
 
         /**
          */
-        default void setKpi(monitoring.Monitoring.KpiDescriptor request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setKpi(monitoring.Monitoring.KpiDescriptor request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetKpiMethod(), responseObserver);
         }
 
         /**
          */
-        default void deleteKpi(monitoring.Monitoring.KpiId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void deleteKpi(monitoring.Monitoring.KpiId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getDeleteKpiMethod(), responseObserver);
         }
 
         /**
          */
-        default void getKpiDescriptor(monitoring.Monitoring.KpiId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getKpiDescriptor(monitoring.Monitoring.KpiId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetKpiDescriptorMethod(), responseObserver);
         }
 
         /**
          */
-        default void getKpiDescriptorList(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getKpiDescriptorList(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetKpiDescriptorListMethod(), responseObserver);
         }
 
         /**
          */
-        default void includeKpi(monitoring.Monitoring.Kpi request, io.grpc.stub.StreamObserver responseObserver) {
+        public void includeKpi(monitoring.Monitoring.Kpi request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getIncludeKpiMethod(), responseObserver);
         }
 
         /**
          */
-        default void monitorKpi(monitoring.Monitoring.MonitorKpiRequest request, io.grpc.stub.StreamObserver responseObserver) {
+        public void monitorKpi(monitoring.Monitoring.MonitorKpiRequest request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getMonitorKpiMethod(), responseObserver);
         }
 
         /**
          */
-        default void queryKpiData(monitoring.Monitoring.KpiQuery request, io.grpc.stub.StreamObserver responseObserver) {
+        public void queryKpiData(monitoring.Monitoring.KpiQuery request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getQueryKpiDataMethod(), responseObserver);
         }
 
         /**
          */
-        default void setKpiSubscription(monitoring.Monitoring.SubsDescriptor request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setKpiSubscription(monitoring.Monitoring.SubsDescriptor request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetKpiSubscriptionMethod(), responseObserver);
         }
 
         /**
          */
-        default void getSubsDescriptor(monitoring.Monitoring.SubscriptionID request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getSubsDescriptor(monitoring.Monitoring.SubscriptionID request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetSubsDescriptorMethod(), responseObserver);
         }
 
         /**
          */
-        default void getSubscriptions(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getSubscriptions(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetSubscriptionsMethod(), responseObserver);
         }
 
         /**
          */
-        default void deleteSubscription(monitoring.Monitoring.SubscriptionID request, io.grpc.stub.StreamObserver responseObserver) {
+        public void deleteSubscription(monitoring.Monitoring.SubscriptionID request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getDeleteSubscriptionMethod(), responseObserver);
         }
 
         /**
          */
-        default void setKpiAlarm(monitoring.Monitoring.AlarmDescriptor request, io.grpc.stub.StreamObserver responseObserver) {
+        public void setKpiAlarm(monitoring.Monitoring.AlarmDescriptor request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getSetKpiAlarmMethod(), responseObserver);
         }
 
         /**
          */
-        default void getAlarms(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getAlarms(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetAlarmsMethod(), responseObserver);
         }
 
         /**
          */
-        default void getAlarmDescriptor(monitoring.Monitoring.AlarmID request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getAlarmDescriptor(monitoring.Monitoring.AlarmID request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetAlarmDescriptorMethod(), responseObserver);
         }
 
         /**
          */
-        default void getAlarmResponseStream(monitoring.Monitoring.AlarmSubscription request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getAlarmResponseStream(monitoring.Monitoring.AlarmSubscription request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetAlarmResponseStreamMethod(), responseObserver);
         }
 
         /**
          */
-        default void deleteAlarm(monitoring.Monitoring.AlarmID request, io.grpc.stub.StreamObserver responseObserver) {
+        public void deleteAlarm(monitoring.Monitoring.AlarmID request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getDeleteAlarmMethod(), responseObserver);
         }
 
         /**
          */
-        default void getStreamKpi(monitoring.Monitoring.KpiId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getStreamKpi(monitoring.Monitoring.KpiId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetStreamKpiMethod(), responseObserver);
         }
 
         /**
          */
-        default void getInstantKpi(monitoring.Monitoring.KpiId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void getInstantKpi(monitoring.Monitoring.KpiId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getGetInstantKpiMethod(), responseObserver);
         }
-    }
-
-    /**
-     * Base class for the server implementation of the service MonitoringService.
-     */
-    public static abstract class MonitoringServiceImplBase implements io.grpc.BindableService, AsyncService {
 
         @java.lang.Override
         public io.grpc.ServerServiceDefinition bindService() {
-            return MonitoringServiceGrpc.bindService(this);
+            return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getSetKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_KPI))).addMethod(getDeleteKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_DELETE_KPI))).addMethod(getGetKpiDescriptorMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_KPI_DESCRIPTOR))).addMethod(getGetKpiDescriptorListMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_KPI_DESCRIPTOR_LIST))).addMethod(getIncludeKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_INCLUDE_KPI))).addMethod(getMonitorKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_MONITOR_KPI))).addMethod(getQueryKpiDataMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_QUERY_KPI_DATA))).addMethod(getSetKpiSubscriptionMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_SET_KPI_SUBSCRIPTION))).addMethod(getGetSubsDescriptorMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_SUBS_DESCRIPTOR))).addMethod(getGetSubscriptionsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_SUBSCRIPTIONS))).addMethod(getDeleteSubscriptionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_DELETE_SUBSCRIPTION))).addMethod(getSetKpiAlarmMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_SET_KPI_ALARM))).addMethod(getGetAlarmsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_ALARMS))).addMethod(getGetAlarmDescriptorMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_ALARM_DESCRIPTOR))).addMethod(getGetAlarmResponseStreamMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_ALARM_RESPONSE_STREAM))).addMethod(getDeleteAlarmMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_DELETE_ALARM))).addMethod(getGetStreamKpiMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(this, METHODID_GET_STREAM_KPI))).addMethod(getGetInstantKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_GET_INSTANT_KPI))).build();
         }
     }
 
     /**
-     * A stub to allow clients to do asynchronous rpc calls to service MonitoringService.
      */
     public static class MonitoringServiceStub extends io.grpc.stub.AbstractAsyncStub {
 
@@ -574,7 +566,6 @@ public final class MonitoringServiceGrpc {
     }
 
     /**
-     * A stub to allow clients to do synchronous rpc calls to service MonitoringService.
      */
     public static class MonitoringServiceBlockingStub extends io.grpc.stub.AbstractBlockingStub {
 
@@ -697,7 +688,6 @@ public final class MonitoringServiceGrpc {
     }
 
     /**
-     * A stub to allow clients to do ListenableFuture-style rpc calls to service MonitoringService.
      */
     public static class MonitoringServiceFutureStub extends io.grpc.stub.AbstractFutureStub {
 
@@ -839,11 +829,11 @@ public final class MonitoringServiceGrpc {
 
     private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, io.grpc.stub.ServerCalls.ServerStreamingMethod, io.grpc.stub.ServerCalls.ClientStreamingMethod, io.grpc.stub.ServerCalls.BidiStreamingMethod {
 
-        private final AsyncService serviceImpl;
+        private final MonitoringServiceImplBase serviceImpl;
 
         private final int methodId;
 
-        MethodHandlers(AsyncService serviceImpl, int methodId) {
+        MethodHandlers(MonitoringServiceImplBase serviceImpl, int methodId) {
             this.serviceImpl = serviceImpl;
             this.methodId = methodId;
         }
@@ -921,10 +911,6 @@ public final class MonitoringServiceGrpc {
         }
     }
 
-    public static io.grpc.ServerServiceDefinition bindService(AsyncService service) {
-        return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getSetKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_KPI))).addMethod(getDeleteKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_DELETE_KPI))).addMethod(getGetKpiDescriptorMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_KPI_DESCRIPTOR))).addMethod(getGetKpiDescriptorListMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_KPI_DESCRIPTOR_LIST))).addMethod(getIncludeKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_INCLUDE_KPI))).addMethod(getMonitorKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_MONITOR_KPI))).addMethod(getQueryKpiDataMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_QUERY_KPI_DATA))).addMethod(getSetKpiSubscriptionMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_SET_KPI_SUBSCRIPTION))).addMethod(getGetSubsDescriptorMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_SUBS_DESCRIPTOR))).addMethod(getGetSubscriptionsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_SUBSCRIPTIONS))).addMethod(getDeleteSubscriptionMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_DELETE_SUBSCRIPTION))).addMethod(getSetKpiAlarmMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_SET_KPI_ALARM))).addMethod(getGetAlarmsMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_ALARMS))).addMethod(getGetAlarmDescriptorMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_ALARM_DESCRIPTOR))).addMethod(getGetAlarmResponseStreamMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_ALARM_RESPONSE_STREAM))).addMethod(getDeleteAlarmMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_DELETE_ALARM))).addMethod(getGetStreamKpiMethod(), io.grpc.stub.ServerCalls.asyncServerStreamingCall(new MethodHandlers(service, METHODID_GET_STREAM_KPI))).addMethod(getGetInstantKpiMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_GET_INSTANT_KPI))).build();
-    }
-
     private static abstract class MonitoringServiceBaseDescriptorSupplier implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier {
 
         MonitoringServiceBaseDescriptorSupplier() {
diff --git a/src/ztp/target/generated-sources/grpc/ztp/Ztp.java b/src/ztp/target/generated-sources/grpc/ztp/Ztp.java
index 0812fc8eb..bef889c0d 100644
--- a/src/ztp/target/generated-sources/grpc/ztp/Ztp.java
+++ b/src/ztp/target/generated-sources/grpc/ztp/Ztp.java
@@ -322,6 +322,70 @@ public final class Ztp {
             return new DeviceRoleId();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private DeviceRoleId(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                context.ContextOuterClass.Uuid.Builder subBuilder = null;
+                                if (devRoleId_ != null) {
+                                    subBuilder = devRoleId_.toBuilder();
+                                }
+                                devRoleId_ = input.readMessage(context.ContextOuterClass.Uuid.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(devRoleId_);
+                                    devRoleId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.DeviceId.Builder subBuilder = null;
+                                if (devId_ != null) {
+                                    subBuilder = devId_.toBuilder();
+                                }
+                                devId_ = input.readMessage(context.ContextOuterClass.DeviceId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(devId_);
+                                    devId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return ztp.Ztp.internal_static_ztp_DeviceRoleId_descriptor;
         }
@@ -358,7 +422,7 @@ public final class Ztp {
          */
         @java.lang.Override
         public context.ContextOuterClass.UuidOrBuilder getDevRoleIdOrBuilder() {
-            return devRoleId_ == null ? context.ContextOuterClass.Uuid.getDefaultInstance() : devRoleId_;
+            return getDevRoleId();
         }
 
         public static final int DEVID_FIELD_NUMBER = 2;
@@ -388,7 +452,7 @@ public final class Ztp {
          */
         @java.lang.Override
         public context.ContextOuterClass.DeviceIdOrBuilder getDevIdOrBuilder() {
-            return devId_ == null ? context.ContextOuterClass.DeviceId.getDefaultInstance() : devId_;
+            return getDevId();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -412,7 +476,7 @@ public final class Ztp {
             if (devId_ != null) {
                 output.writeMessage(2, getDevId());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -427,7 +491,7 @@ public final class Ztp {
             if (devId_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getDevId());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -453,7 +517,7 @@ public final class Ztp {
                 if (!getDevId().equals(other.getDevId()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -473,7 +537,7 @@ public final class Ztp {
                 hash = (37 * hash) + DEVID_FIELD_NUMBER;
                 hash = (53 * hash) + getDevId().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -567,24 +631,32 @@ public final class Ztp {
 
             // Construct using ztp.Ztp.DeviceRoleId.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                devRoleId_ = null;
-                if (devRoleIdBuilder_ != null) {
-                    devRoleIdBuilder_.dispose();
+                if (devRoleIdBuilder_ == null) {
+                    devRoleId_ = null;
+                } else {
+                    devRoleId_ = null;
                     devRoleIdBuilder_ = null;
                 }
-                devId_ = null;
-                if (devIdBuilder_ != null) {
-                    devIdBuilder_.dispose();
+                if (devIdBuilder_ == null) {
+                    devId_ = null;
+                } else {
+                    devId_ = null;
                     devIdBuilder_ = null;
                 }
                 return this;
@@ -612,21 +684,48 @@ public final class Ztp {
             @java.lang.Override
             public ztp.Ztp.DeviceRoleId buildPartial() {
                 ztp.Ztp.DeviceRoleId result = new ztp.Ztp.DeviceRoleId(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (devRoleIdBuilder_ == null) {
+                    result.devRoleId_ = devRoleId_;
+                } else {
+                    result.devRoleId_ = devRoleIdBuilder_.build();
+                }
+                if (devIdBuilder_ == null) {
+                    result.devId_ = devId_;
+                } else {
+                    result.devId_ = devIdBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(ztp.Ztp.DeviceRoleId result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.devRoleId_ = devRoleIdBuilder_ == null ? devRoleId_ : devRoleIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.devId_ = devIdBuilder_ == null ? devId_ : devIdBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -648,7 +747,7 @@ public final class Ztp {
                 if (other.hasDevId()) {
                     mergeDevId(other.getDevId());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -660,54 +759,20 @@ public final class Ztp {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                ztp.Ztp.DeviceRoleId parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getDevRoleIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getDevIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (ztp.Ztp.DeviceRoleId) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private context.ContextOuterClass.Uuid devRoleId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 devRoleIdBuilder_;
@@ -717,7 +782,7 @@ public final class Ztp {
              * @return Whether the devRoleId field is set.
              */
             public boolean hasDevRoleId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return devRoleIdBuilder_ != null || devRoleId_ != null;
             }
 
             /**
@@ -741,11 +806,10 @@ public final class Ztp {
                         throw new NullPointerException();
                     }
                     devRoleId_ = value;
+                    onChanged();
                 } else {
                     devRoleIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -755,11 +819,10 @@ public final class Ztp {
             public Builder setDevRoleId(context.ContextOuterClass.Uuid.Builder builderForValue) {
                 if (devRoleIdBuilder_ == null) {
                     devRoleId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     devRoleIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -768,16 +831,15 @@ public final class Ztp {
              */
             public Builder mergeDevRoleId(context.ContextOuterClass.Uuid value) {
                 if (devRoleIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && devRoleId_ != null && devRoleId_ != context.ContextOuterClass.Uuid.getDefaultInstance()) {
-                        getDevRoleIdBuilder().mergeFrom(value);
+                    if (devRoleId_ != null) {
+                        devRoleId_ = context.ContextOuterClass.Uuid.newBuilder(devRoleId_).mergeFrom(value).buildPartial();
                     } else {
                         devRoleId_ = value;
                     }
+                    onChanged();
                 } else {
                     devRoleIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -785,13 +847,13 @@ public final class Ztp {
              * .context.Uuid devRoleId = 1;
              */
             public Builder clearDevRoleId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                devRoleId_ = null;
-                if (devRoleIdBuilder_ != null) {
-                    devRoleIdBuilder_.dispose();
+                if (devRoleIdBuilder_ == null) {
+                    devRoleId_ = null;
+                    onChanged();
+                } else {
+                    devRoleId_ = null;
                     devRoleIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -799,7 +861,6 @@ public final class Ztp {
              * .context.Uuid devRoleId = 1;
              */
             public context.ContextOuterClass.Uuid.Builder getDevRoleIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getDevRoleIdFieldBuilder().getBuilder();
             }
@@ -835,7 +896,7 @@ public final class Ztp {
              * @return Whether the devId field is set.
              */
             public boolean hasDevId() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return devIdBuilder_ != null || devId_ != null;
             }
 
             /**
@@ -859,11 +920,10 @@ public final class Ztp {
                         throw new NullPointerException();
                     }
                     devId_ = value;
+                    onChanged();
                 } else {
                     devIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -873,11 +933,10 @@ public final class Ztp {
             public Builder setDevId(context.ContextOuterClass.DeviceId.Builder builderForValue) {
                 if (devIdBuilder_ == null) {
                     devId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     devIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -886,16 +945,15 @@ public final class Ztp {
              */
             public Builder mergeDevId(context.ContextOuterClass.DeviceId value) {
                 if (devIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && devId_ != null && devId_ != context.ContextOuterClass.DeviceId.getDefaultInstance()) {
-                        getDevIdBuilder().mergeFrom(value);
+                    if (devId_ != null) {
+                        devId_ = context.ContextOuterClass.DeviceId.newBuilder(devId_).mergeFrom(value).buildPartial();
                     } else {
                         devId_ = value;
                     }
+                    onChanged();
                 } else {
                     devIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -903,13 +961,13 @@ public final class Ztp {
              * .context.DeviceId devId = 2;
              */
             public Builder clearDevId() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                devId_ = null;
-                if (devIdBuilder_ != null) {
-                    devIdBuilder_.dispose();
+                if (devIdBuilder_ == null) {
+                    devId_ = null;
+                    onChanged();
+                } else {
+                    devId_ = null;
                     devIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -917,7 +975,6 @@ public final class Ztp {
              * .context.DeviceId devId = 2;
              */
             public context.ContextOuterClass.DeviceId.Builder getDevIdBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getDevIdFieldBuilder().getBuilder();
             }
@@ -971,17 +1028,7 @@ public final class Ztp {
 
             @java.lang.Override
             public DeviceRoleId parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new DeviceRoleId(input, extensionRegistry);
             }
         };
 
@@ -1056,6 +1103,63 @@ public final class Ztp {
             return new DeviceRole();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private DeviceRole(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                ztp.Ztp.DeviceRoleId.Builder subBuilder = null;
+                                if (devRoleId_ != null) {
+                                    subBuilder = devRoleId_.toBuilder();
+                                }
+                                devRoleId_ = input.readMessage(ztp.Ztp.DeviceRoleId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(devRoleId_);
+                                    devRoleId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 16:
+                            {
+                                int rawValue = input.readEnum();
+                                devRoleType_ = rawValue;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return ztp.Ztp.internal_static_ztp_DeviceRole_descriptor;
         }
@@ -1092,12 +1196,12 @@ public final class Ztp {
          */
         @java.lang.Override
         public ztp.Ztp.DeviceRoleIdOrBuilder getDevRoleIdOrBuilder() {
-            return devRoleId_ == null ? ztp.Ztp.DeviceRoleId.getDefaultInstance() : devRoleId_;
+            return getDevRoleId();
         }
 
         public static final int DEVROLETYPE_FIELD_NUMBER = 2;
 
-        private int devRoleType_ = 0;
+        private int devRoleType_;
 
         /**
          * .ztp.DeviceRoleType devRoleType = 2;
@@ -1114,7 +1218,8 @@ public final class Ztp {
          */
         @java.lang.Override
         public ztp.Ztp.DeviceRoleType getDevRoleType() {
-            ztp.Ztp.DeviceRoleType result = ztp.Ztp.DeviceRoleType.forNumber(devRoleType_);
+            @SuppressWarnings("deprecation")
+            ztp.Ztp.DeviceRoleType result = ztp.Ztp.DeviceRoleType.valueOf(devRoleType_);
             return result == null ? ztp.Ztp.DeviceRoleType.UNRECOGNIZED : result;
         }
 
@@ -1139,7 +1244,7 @@ public final class Ztp {
             if (devRoleType_ != ztp.Ztp.DeviceRoleType.NONE.getNumber()) {
                 output.writeEnum(2, devRoleType_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -1154,7 +1259,7 @@ public final class Ztp {
             if (devRoleType_ != ztp.Ztp.DeviceRoleType.NONE.getNumber()) {
                 size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, devRoleType_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -1176,7 +1281,7 @@ public final class Ztp {
             }
             if (devRoleType_ != other.devRoleType_)
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -1194,7 +1299,7 @@ public final class Ztp {
             }
             hash = (37 * hash) + DEVROLETYPE_FIELD_NUMBER;
             hash = (53 * hash) + devRoleType_;
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -1288,19 +1393,26 @@ public final class Ztp {
 
             // Construct using ztp.Ztp.DeviceRole.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                devRoleId_ = null;
-                if (devRoleIdBuilder_ != null) {
-                    devRoleIdBuilder_.dispose();
+                if (devRoleIdBuilder_ == null) {
+                    devRoleId_ = null;
+                } else {
+                    devRoleId_ = null;
                     devRoleIdBuilder_ = null;
                 }
                 devRoleType_ = 0;
@@ -1329,21 +1441,44 @@ public final class Ztp {
             @java.lang.Override
             public ztp.Ztp.DeviceRole buildPartial() {
                 ztp.Ztp.DeviceRole result = new ztp.Ztp.DeviceRole(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (devRoleIdBuilder_ == null) {
+                    result.devRoleId_ = devRoleId_;
+                } else {
+                    result.devRoleId_ = devRoleIdBuilder_.build();
                 }
+                result.devRoleType_ = devRoleType_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(ztp.Ztp.DeviceRole result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.devRoleId_ = devRoleIdBuilder_ == null ? devRoleId_ : devRoleIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.devRoleType_ = devRoleType_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -1365,7 +1500,7 @@ public final class Ztp {
                 if (other.devRoleType_ != 0) {
                     setDevRoleTypeValue(other.getDevRoleTypeValue());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -1377,54 +1512,20 @@ public final class Ztp {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                ztp.Ztp.DeviceRole parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getDevRoleIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 16:
-                                {
-                                    devRoleType_ = input.readEnum();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (ztp.Ztp.DeviceRole) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private ztp.Ztp.DeviceRoleId devRoleId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 devRoleIdBuilder_;
@@ -1434,7 +1535,7 @@ public final class Ztp {
              * @return Whether the devRoleId field is set.
              */
             public boolean hasDevRoleId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return devRoleIdBuilder_ != null || devRoleId_ != null;
             }
 
             /**
@@ -1458,11 +1559,10 @@ public final class Ztp {
                         throw new NullPointerException();
                     }
                     devRoleId_ = value;
+                    onChanged();
                 } else {
                     devRoleIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -1472,11 +1572,10 @@ public final class Ztp {
             public Builder setDevRoleId(ztp.Ztp.DeviceRoleId.Builder builderForValue) {
                 if (devRoleIdBuilder_ == null) {
                     devRoleId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     devRoleIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -1485,16 +1584,15 @@ public final class Ztp {
              */
             public Builder mergeDevRoleId(ztp.Ztp.DeviceRoleId value) {
                 if (devRoleIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && devRoleId_ != null && devRoleId_ != ztp.Ztp.DeviceRoleId.getDefaultInstance()) {
-                        getDevRoleIdBuilder().mergeFrom(value);
+                    if (devRoleId_ != null) {
+                        devRoleId_ = ztp.Ztp.DeviceRoleId.newBuilder(devRoleId_).mergeFrom(value).buildPartial();
                     } else {
                         devRoleId_ = value;
                     }
+                    onChanged();
                 } else {
                     devRoleIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -1502,13 +1600,13 @@ public final class Ztp {
              * .ztp.DeviceRoleId devRoleId = 1;
              */
             public Builder clearDevRoleId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                devRoleId_ = null;
-                if (devRoleIdBuilder_ != null) {
-                    devRoleIdBuilder_.dispose();
+                if (devRoleIdBuilder_ == null) {
+                    devRoleId_ = null;
+                    onChanged();
+                } else {
+                    devRoleId_ = null;
                     devRoleIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -1516,7 +1614,6 @@ public final class Ztp {
              * .ztp.DeviceRoleId devRoleId = 1;
              */
             public ztp.Ztp.DeviceRoleId.Builder getDevRoleIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getDevRoleIdFieldBuilder().getBuilder();
             }
@@ -1561,7 +1658,6 @@ public final class Ztp {
              */
             public Builder setDevRoleTypeValue(int value) {
                 devRoleType_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -1572,7 +1668,8 @@ public final class Ztp {
              */
             @java.lang.Override
             public ztp.Ztp.DeviceRoleType getDevRoleType() {
-                ztp.Ztp.DeviceRoleType result = ztp.Ztp.DeviceRoleType.forNumber(devRoleType_);
+                @SuppressWarnings("deprecation")
+                ztp.Ztp.DeviceRoleType result = ztp.Ztp.DeviceRoleType.valueOf(devRoleType_);
                 return result == null ? ztp.Ztp.DeviceRoleType.UNRECOGNIZED : result;
             }
 
@@ -1585,7 +1682,6 @@ public final class Ztp {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000002;
                 devRoleType_ = value.getNumber();
                 onChanged();
                 return this;
@@ -1596,7 +1692,6 @@ public final class Ztp {
              * @return This builder for chaining.
              */
             public Builder clearDevRoleType() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 devRoleType_ = 0;
                 onChanged();
                 return this;
@@ -1629,17 +1724,7 @@ public final class Ztp {
 
             @java.lang.Override
             public DeviceRole parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new DeviceRole(input, extensionRegistry);
             }
         };
 
@@ -1718,6 +1803,70 @@ public final class Ztp {
             return new DeviceRoleConfig();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private DeviceRoleConfig(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                ztp.Ztp.DeviceRole.Builder subBuilder = null;
+                                if (devRole_ != null) {
+                                    subBuilder = devRole_.toBuilder();
+                                }
+                                devRole_ = input.readMessage(ztp.Ztp.DeviceRole.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(devRole_);
+                                    devRole_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 18:
+                            {
+                                context.ContextOuterClass.DeviceConfig.Builder subBuilder = null;
+                                if (devConfig_ != null) {
+                                    subBuilder = devConfig_.toBuilder();
+                                }
+                                devConfig_ = input.readMessage(context.ContextOuterClass.DeviceConfig.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(devConfig_);
+                                    devConfig_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return ztp.Ztp.internal_static_ztp_DeviceRoleConfig_descriptor;
         }
@@ -1754,7 +1903,7 @@ public final class Ztp {
          */
         @java.lang.Override
         public ztp.Ztp.DeviceRoleOrBuilder getDevRoleOrBuilder() {
-            return devRole_ == null ? ztp.Ztp.DeviceRole.getDefaultInstance() : devRole_;
+            return getDevRole();
         }
 
         public static final int DEVCONFIG_FIELD_NUMBER = 2;
@@ -1784,7 +1933,7 @@ public final class Ztp {
          */
         @java.lang.Override
         public context.ContextOuterClass.DeviceConfigOrBuilder getDevConfigOrBuilder() {
-            return devConfig_ == null ? context.ContextOuterClass.DeviceConfig.getDefaultInstance() : devConfig_;
+            return getDevConfig();
         }
 
         private byte memoizedIsInitialized = -1;
@@ -1808,7 +1957,7 @@ public final class Ztp {
             if (devConfig_ != null) {
                 output.writeMessage(2, getDevConfig());
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -1823,7 +1972,7 @@ public final class Ztp {
             if (devConfig_ != null) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getDevConfig());
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -1849,7 +1998,7 @@ public final class Ztp {
                 if (!getDevConfig().equals(other.getDevConfig()))
                     return false;
             }
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -1869,7 +2018,7 @@ public final class Ztp {
                 hash = (37 * hash) + DEVCONFIG_FIELD_NUMBER;
                 hash = (53 * hash) + getDevConfig().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -1963,24 +2112,32 @@ public final class Ztp {
 
             // Construct using ztp.Ztp.DeviceRoleConfig.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                devRole_ = null;
-                if (devRoleBuilder_ != null) {
-                    devRoleBuilder_.dispose();
+                if (devRoleBuilder_ == null) {
+                    devRole_ = null;
+                } else {
+                    devRole_ = null;
                     devRoleBuilder_ = null;
                 }
-                devConfig_ = null;
-                if (devConfigBuilder_ != null) {
-                    devConfigBuilder_.dispose();
+                if (devConfigBuilder_ == null) {
+                    devConfig_ = null;
+                } else {
+                    devConfig_ = null;
                     devConfigBuilder_ = null;
                 }
                 return this;
@@ -2008,21 +2165,48 @@ public final class Ztp {
             @java.lang.Override
             public ztp.Ztp.DeviceRoleConfig buildPartial() {
                 ztp.Ztp.DeviceRoleConfig result = new ztp.Ztp.DeviceRoleConfig(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (devRoleBuilder_ == null) {
+                    result.devRole_ = devRole_;
+                } else {
+                    result.devRole_ = devRoleBuilder_.build();
+                }
+                if (devConfigBuilder_ == null) {
+                    result.devConfig_ = devConfig_;
+                } else {
+                    result.devConfig_ = devConfigBuilder_.build();
                 }
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(ztp.Ztp.DeviceRoleConfig result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.devRole_ = devRoleBuilder_ == null ? devRole_ : devRoleBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.devConfig_ = devConfigBuilder_ == null ? devConfig_ : devConfigBuilder_.build();
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -2044,7 +2228,7 @@ public final class Ztp {
                 if (other.hasDevConfig()) {
                     mergeDevConfig(other.getDevConfig());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -2056,54 +2240,20 @@ public final class Ztp {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                ztp.Ztp.DeviceRoleConfig parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getDevRoleFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 18:
-                                {
-                                    input.readMessage(getDevConfigFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 18
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (ztp.Ztp.DeviceRoleConfig) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private ztp.Ztp.DeviceRole devRole_;
 
             private com.google.protobuf.SingleFieldBuilderV3 devRoleBuilder_;
@@ -2113,7 +2263,7 @@ public final class Ztp {
              * @return Whether the devRole field is set.
              */
             public boolean hasDevRole() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return devRoleBuilder_ != null || devRole_ != null;
             }
 
             /**
@@ -2137,11 +2287,10 @@ public final class Ztp {
                         throw new NullPointerException();
                     }
                     devRole_ = value;
+                    onChanged();
                 } else {
                     devRoleBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -2151,11 +2300,10 @@ public final class Ztp {
             public Builder setDevRole(ztp.Ztp.DeviceRole.Builder builderForValue) {
                 if (devRoleBuilder_ == null) {
                     devRole_ = builderForValue.build();
+                    onChanged();
                 } else {
                     devRoleBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -2164,16 +2312,15 @@ public final class Ztp {
              */
             public Builder mergeDevRole(ztp.Ztp.DeviceRole value) {
                 if (devRoleBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && devRole_ != null && devRole_ != ztp.Ztp.DeviceRole.getDefaultInstance()) {
-                        getDevRoleBuilder().mergeFrom(value);
+                    if (devRole_ != null) {
+                        devRole_ = ztp.Ztp.DeviceRole.newBuilder(devRole_).mergeFrom(value).buildPartial();
                     } else {
                         devRole_ = value;
                     }
+                    onChanged();
                 } else {
                     devRoleBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -2181,13 +2328,13 @@ public final class Ztp {
              * .ztp.DeviceRole devRole = 1;
              */
             public Builder clearDevRole() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                devRole_ = null;
-                if (devRoleBuilder_ != null) {
-                    devRoleBuilder_.dispose();
+                if (devRoleBuilder_ == null) {
+                    devRole_ = null;
+                    onChanged();
+                } else {
+                    devRole_ = null;
                     devRoleBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -2195,7 +2342,6 @@ public final class Ztp {
              * .ztp.DeviceRole devRole = 1;
              */
             public ztp.Ztp.DeviceRole.Builder getDevRoleBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getDevRoleFieldBuilder().getBuilder();
             }
@@ -2231,7 +2377,7 @@ public final class Ztp {
              * @return Whether the devConfig field is set.
              */
             public boolean hasDevConfig() {
-                return ((bitField0_ & 0x00000002) != 0);
+                return devConfigBuilder_ != null || devConfig_ != null;
             }
 
             /**
@@ -2255,11 +2401,10 @@ public final class Ztp {
                         throw new NullPointerException();
                     }
                     devConfig_ = value;
+                    onChanged();
                 } else {
                     devConfigBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -2269,11 +2414,10 @@ public final class Ztp {
             public Builder setDevConfig(context.ContextOuterClass.DeviceConfig.Builder builderForValue) {
                 if (devConfigBuilder_ == null) {
                     devConfig_ = builderForValue.build();
+                    onChanged();
                 } else {
                     devConfigBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -2282,16 +2426,15 @@ public final class Ztp {
              */
             public Builder mergeDevConfig(context.ContextOuterClass.DeviceConfig value) {
                 if (devConfigBuilder_ == null) {
-                    if (((bitField0_ & 0x00000002) != 0) && devConfig_ != null && devConfig_ != context.ContextOuterClass.DeviceConfig.getDefaultInstance()) {
-                        getDevConfigBuilder().mergeFrom(value);
+                    if (devConfig_ != null) {
+                        devConfig_ = context.ContextOuterClass.DeviceConfig.newBuilder(devConfig_).mergeFrom(value).buildPartial();
                     } else {
                         devConfig_ = value;
                     }
+                    onChanged();
                 } else {
                     devConfigBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000002;
-                onChanged();
                 return this;
             }
 
@@ -2299,13 +2442,13 @@ public final class Ztp {
              * .context.DeviceConfig devConfig = 2;
              */
             public Builder clearDevConfig() {
-                bitField0_ = (bitField0_ & ~0x00000002);
-                devConfig_ = null;
-                if (devConfigBuilder_ != null) {
-                    devConfigBuilder_.dispose();
+                if (devConfigBuilder_ == null) {
+                    devConfig_ = null;
+                    onChanged();
+                } else {
+                    devConfig_ = null;
                     devConfigBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -2313,7 +2456,6 @@ public final class Ztp {
              * .context.DeviceConfig devConfig = 2;
              */
             public context.ContextOuterClass.DeviceConfig.Builder getDevConfigBuilder() {
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return getDevConfigFieldBuilder().getBuilder();
             }
@@ -2367,17 +2509,7 @@ public final class Ztp {
 
             @java.lang.Override
             public DeviceRoleConfig parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new DeviceRoleConfig(input, extensionRegistry);
             }
         };
 
@@ -2448,6 +2580,57 @@ public final class Ztp {
             return new DeviceRoleList();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private DeviceRoleList(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    devRole_ = new java.util.ArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                devRole_.add(input.readMessage(ztp.Ztp.DeviceRole.parser(), extensionRegistry));
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    devRole_ = java.util.Collections.unmodifiableList(devRole_);
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return ztp.Ztp.internal_static_ztp_DeviceRoleList_descriptor;
         }
@@ -2459,7 +2642,6 @@ public final class Ztp {
 
         public static final int DEVROLE_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
         private java.util.List devRole_;
 
         /**
@@ -2520,7 +2702,7 @@ public final class Ztp {
             for (int i = 0; i < devRole_.size(); i++) {
                 output.writeMessage(1, devRole_.get(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -2532,7 +2714,7 @@ public final class Ztp {
             for (int i = 0; i < devRole_.size(); i++) {
                 size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, devRole_.get(i));
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -2548,7 +2730,7 @@ public final class Ztp {
             ztp.Ztp.DeviceRoleList other = (ztp.Ztp.DeviceRoleList) obj;
             if (!getDevRoleList().equals(other.getDevRoleList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -2564,7 +2746,7 @@ public final class Ztp {
                 hash = (37 * hash) + DEVROLE_FIELD_NUMBER;
                 hash = (53 * hash) + getDevRoleList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -2658,23 +2840,29 @@ public final class Ztp {
 
             // Construct using ztp.Ztp.DeviceRoleList.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                    getDevRoleFieldBuilder();
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
                 if (devRoleBuilder_ == null) {
                     devRole_ = java.util.Collections.emptyList();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 } else {
-                    devRole_ = null;
                     devRoleBuilder_.clear();
                 }
-                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -2700,15 +2888,7 @@ public final class Ztp {
             @java.lang.Override
             public ztp.Ztp.DeviceRoleList buildPartial() {
                 ztp.Ztp.DeviceRoleList result = new ztp.Ztp.DeviceRoleList(this);
-                buildPartialRepeatedFields(result);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
-                }
-                onBuilt();
-                return result;
-            }
-
-            private void buildPartialRepeatedFields(ztp.Ztp.DeviceRoleList result) {
+                int from_bitField0_ = bitField0_;
                 if (devRoleBuilder_ == null) {
                     if (((bitField0_ & 0x00000001) != 0)) {
                         devRole_ = java.util.Collections.unmodifiableList(devRole_);
@@ -2718,10 +2898,38 @@ public final class Ztp {
                 } else {
                     result.devRole_ = devRoleBuilder_.build();
                 }
+                onBuilt();
+                return result;
             }
 
-            private void buildPartial0(ztp.Ztp.DeviceRoleList result) {
-                int from_bitField0_ = bitField0_;
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -2761,7 +2969,7 @@ public final class Ztp {
                         }
                     }
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -2773,47 +2981,17 @@ public final class Ztp {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                ztp.Ztp.DeviceRoleList parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    ztp.Ztp.DeviceRole m = input.readMessage(ztp.Ztp.DeviceRole.parser(), extensionRegistry);
-                                    if (devRoleBuilder_ == null) {
-                                        ensureDevRoleIsMutable();
-                                        devRole_.add(m);
-                                    } else {
-                                        devRoleBuilder_.addMessage(m);
-                                    }
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (ztp.Ztp.DeviceRoleList) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
@@ -3083,17 +3261,7 @@ public final class Ztp {
 
             @java.lang.Override
             public DeviceRoleList parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new DeviceRoleList(input, extensionRegistry);
             }
         };
 
@@ -3168,6 +3336,63 @@ public final class Ztp {
             return new DeviceRoleState();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private DeviceRoleState(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                ztp.Ztp.DeviceRoleId.Builder subBuilder = null;
+                                if (devRoleId_ != null) {
+                                    subBuilder = devRoleId_.toBuilder();
+                                }
+                                devRoleId_ = input.readMessage(ztp.Ztp.DeviceRoleId.parser(), extensionRegistry);
+                                if (subBuilder != null) {
+                                    subBuilder.mergeFrom(devRoleId_);
+                                    devRoleId_ = subBuilder.buildPartial();
+                                }
+                                break;
+                            }
+                        case 16:
+                            {
+                                int rawValue = input.readEnum();
+                                devRoleState_ = rawValue;
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return ztp.Ztp.internal_static_ztp_DeviceRoleState_descriptor;
         }
@@ -3204,12 +3429,12 @@ public final class Ztp {
          */
         @java.lang.Override
         public ztp.Ztp.DeviceRoleIdOrBuilder getDevRoleIdOrBuilder() {
-            return devRoleId_ == null ? ztp.Ztp.DeviceRoleId.getDefaultInstance() : devRoleId_;
+            return getDevRoleId();
         }
 
         public static final int DEVROLESTATE_FIELD_NUMBER = 2;
 
-        private int devRoleState_ = 0;
+        private int devRoleState_;
 
         /**
          * .ztp.ZtpDeviceState devRoleState = 2;
@@ -3226,7 +3451,8 @@ public final class Ztp {
          */
         @java.lang.Override
         public ztp.Ztp.ZtpDeviceState getDevRoleState() {
-            ztp.Ztp.ZtpDeviceState result = ztp.Ztp.ZtpDeviceState.forNumber(devRoleState_);
+            @SuppressWarnings("deprecation")
+            ztp.Ztp.ZtpDeviceState result = ztp.Ztp.ZtpDeviceState.valueOf(devRoleState_);
             return result == null ? ztp.Ztp.ZtpDeviceState.UNRECOGNIZED : result;
         }
 
@@ -3251,7 +3477,7 @@ public final class Ztp {
             if (devRoleState_ != ztp.Ztp.ZtpDeviceState.ZTP_DEV_STATE_UNDEFINED.getNumber()) {
                 output.writeEnum(2, devRoleState_);
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -3266,7 +3492,7 @@ public final class Ztp {
             if (devRoleState_ != ztp.Ztp.ZtpDeviceState.ZTP_DEV_STATE_UNDEFINED.getNumber()) {
                 size += com.google.protobuf.CodedOutputStream.computeEnumSize(2, devRoleState_);
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -3288,7 +3514,7 @@ public final class Ztp {
             }
             if (devRoleState_ != other.devRoleState_)
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -3306,7 +3532,7 @@ public final class Ztp {
             }
             hash = (37 * hash) + DEVROLESTATE_FIELD_NUMBER;
             hash = (53 * hash) + devRoleState_;
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -3400,19 +3626,26 @@ public final class Ztp {
 
             // Construct using ztp.Ztp.DeviceRoleState.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                devRoleId_ = null;
-                if (devRoleIdBuilder_ != null) {
-                    devRoleIdBuilder_.dispose();
+                if (devRoleIdBuilder_ == null) {
+                    devRoleId_ = null;
+                } else {
+                    devRoleId_ = null;
                     devRoleIdBuilder_ = null;
                 }
                 devRoleState_ = 0;
@@ -3441,21 +3674,44 @@ public final class Ztp {
             @java.lang.Override
             public ztp.Ztp.DeviceRoleState buildPartial() {
                 ztp.Ztp.DeviceRoleState result = new ztp.Ztp.DeviceRoleState(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                if (devRoleIdBuilder_ == null) {
+                    result.devRoleId_ = devRoleId_;
+                } else {
+                    result.devRoleId_ = devRoleIdBuilder_.build();
                 }
+                result.devRoleState_ = devRoleState_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(ztp.Ztp.DeviceRoleState result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    result.devRoleId_ = devRoleIdBuilder_ == null ? devRoleId_ : devRoleIdBuilder_.build();
-                }
-                if (((from_bitField0_ & 0x00000002) != 0)) {
-                    result.devRoleState_ = devRoleState_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -3477,7 +3733,7 @@ public final class Ztp {
                 if (other.devRoleState_ != 0) {
                     setDevRoleStateValue(other.getDevRoleStateValue());
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -3489,54 +3745,20 @@ public final class Ztp {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                ztp.Ztp.DeviceRoleState parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    input.readMessage(getDevRoleIdFieldBuilder().getBuilder(), extensionRegistry);
-                                    bitField0_ |= 0x00000001;
-                                    break;
-                                }
-                            // case 10
-                            case 16:
-                                {
-                                    devRoleState_ = input.readEnum();
-                                    bitField0_ |= 0x00000002;
-                                    break;
-                                }
-                            // case 16
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (ztp.Ztp.DeviceRoleState) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
-            private int bitField0_;
-
             private ztp.Ztp.DeviceRoleId devRoleId_;
 
             private com.google.protobuf.SingleFieldBuilderV3 devRoleIdBuilder_;
@@ -3546,7 +3768,7 @@ public final class Ztp {
              * @return Whether the devRoleId field is set.
              */
             public boolean hasDevRoleId() {
-                return ((bitField0_ & 0x00000001) != 0);
+                return devRoleIdBuilder_ != null || devRoleId_ != null;
             }
 
             /**
@@ -3570,11 +3792,10 @@ public final class Ztp {
                         throw new NullPointerException();
                     }
                     devRoleId_ = value;
+                    onChanged();
                 } else {
                     devRoleIdBuilder_.setMessage(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -3584,11 +3805,10 @@ public final class Ztp {
             public Builder setDevRoleId(ztp.Ztp.DeviceRoleId.Builder builderForValue) {
                 if (devRoleIdBuilder_ == null) {
                     devRoleId_ = builderForValue.build();
+                    onChanged();
                 } else {
                     devRoleIdBuilder_.setMessage(builderForValue.build());
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -3597,16 +3817,15 @@ public final class Ztp {
              */
             public Builder mergeDevRoleId(ztp.Ztp.DeviceRoleId value) {
                 if (devRoleIdBuilder_ == null) {
-                    if (((bitField0_ & 0x00000001) != 0) && devRoleId_ != null && devRoleId_ != ztp.Ztp.DeviceRoleId.getDefaultInstance()) {
-                        getDevRoleIdBuilder().mergeFrom(value);
+                    if (devRoleId_ != null) {
+                        devRoleId_ = ztp.Ztp.DeviceRoleId.newBuilder(devRoleId_).mergeFrom(value).buildPartial();
                     } else {
                         devRoleId_ = value;
                     }
+                    onChanged();
                 } else {
                     devRoleIdBuilder_.mergeFrom(value);
                 }
-                bitField0_ |= 0x00000001;
-                onChanged();
                 return this;
             }
 
@@ -3614,13 +3833,13 @@ public final class Ztp {
              * .ztp.DeviceRoleId devRoleId = 1;
              */
             public Builder clearDevRoleId() {
-                bitField0_ = (bitField0_ & ~0x00000001);
-                devRoleId_ = null;
-                if (devRoleIdBuilder_ != null) {
-                    devRoleIdBuilder_.dispose();
+                if (devRoleIdBuilder_ == null) {
+                    devRoleId_ = null;
+                    onChanged();
+                } else {
+                    devRoleId_ = null;
                     devRoleIdBuilder_ = null;
                 }
-                onChanged();
                 return this;
             }
 
@@ -3628,7 +3847,6 @@ public final class Ztp {
              * .ztp.DeviceRoleId devRoleId = 1;
              */
             public ztp.Ztp.DeviceRoleId.Builder getDevRoleIdBuilder() {
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return getDevRoleIdFieldBuilder().getBuilder();
             }
@@ -3673,7 +3891,6 @@ public final class Ztp {
              */
             public Builder setDevRoleStateValue(int value) {
                 devRoleState_ = value;
-                bitField0_ |= 0x00000002;
                 onChanged();
                 return this;
             }
@@ -3684,7 +3901,8 @@ public final class Ztp {
              */
             @java.lang.Override
             public ztp.Ztp.ZtpDeviceState getDevRoleState() {
-                ztp.Ztp.ZtpDeviceState result = ztp.Ztp.ZtpDeviceState.forNumber(devRoleState_);
+                @SuppressWarnings("deprecation")
+                ztp.Ztp.ZtpDeviceState result = ztp.Ztp.ZtpDeviceState.valueOf(devRoleState_);
                 return result == null ? ztp.Ztp.ZtpDeviceState.UNRECOGNIZED : result;
             }
 
@@ -3697,7 +3915,6 @@ public final class Ztp {
                 if (value == null) {
                     throw new NullPointerException();
                 }
-                bitField0_ |= 0x00000002;
                 devRoleState_ = value.getNumber();
                 onChanged();
                 return this;
@@ -3708,7 +3925,6 @@ public final class Ztp {
              * @return This builder for chaining.
              */
             public Builder clearDevRoleState() {
-                bitField0_ = (bitField0_ & ~0x00000002);
                 devRoleState_ = 0;
                 onChanged();
                 return this;
@@ -3741,17 +3957,7 @@ public final class Ztp {
 
             @java.lang.Override
             public DeviceRoleState parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new DeviceRoleState(input, extensionRegistry);
             }
         };
 
@@ -3814,7 +4020,7 @@ public final class Ztp {
         }
 
         private DeviceDeletionResult() {
-            deleted_ = com.google.protobuf.LazyStringArrayList.emptyList();
+            deleted_ = com.google.protobuf.LazyStringArrayList.EMPTY;
         }
 
         @java.lang.Override
@@ -3823,6 +4029,58 @@ public final class Ztp {
             return new DeviceDeletionResult();
         }
 
+        @java.lang.Override
+        public final com.google.protobuf.UnknownFieldSet getUnknownFields() {
+            return this.unknownFields;
+        }
+
+        private DeviceDeletionResult(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
+            this();
+            if (extensionRegistry == null) {
+                throw new java.lang.NullPointerException();
+            }
+            int mutable_bitField0_ = 0;
+            com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder();
+            try {
+                boolean done = false;
+                while (!done) {
+                    int tag = input.readTag();
+                    switch(tag) {
+                        case 0:
+                            done = true;
+                            break;
+                        case 10:
+                            {
+                                java.lang.String s = input.readStringRequireUtf8();
+                                if (!((mutable_bitField0_ & 0x00000001) != 0)) {
+                                    deleted_ = new com.google.protobuf.LazyStringArrayList();
+                                    mutable_bitField0_ |= 0x00000001;
+                                }
+                                deleted_.add(s);
+                                break;
+                            }
+                        default:
+                            {
+                                if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
+                                    done = true;
+                                }
+                                break;
+                            }
+                    }
+                }
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                throw e.setUnfinishedMessage(this);
+            } catch (java.io.IOException e) {
+                throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this);
+            } finally {
+                if (((mutable_bitField0_ & 0x00000001) != 0)) {
+                    deleted_ = deleted_.getUnmodifiableView();
+                }
+                this.unknownFields = unknownFields.build();
+                makeExtensionsImmutable();
+            }
+        }
+
         public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
             return ztp.Ztp.internal_static_ztp_DeviceDeletionResult_descriptor;
         }
@@ -3834,8 +4092,7 @@ public final class Ztp {
 
         public static final int DELETED_FIELD_NUMBER = 1;
 
-        @SuppressWarnings("serial")
-        private com.google.protobuf.LazyStringArrayList deleted_ = com.google.protobuf.LazyStringArrayList.emptyList();
+        private com.google.protobuf.LazyStringList deleted_;
 
         /**
          * repeated string deleted = 1;
@@ -3889,7 +4146,7 @@ public final class Ztp {
             for (int i = 0; i < deleted_.size(); i++) {
                 com.google.protobuf.GeneratedMessageV3.writeString(output, 1, deleted_.getRaw(i));
             }
-            getUnknownFields().writeTo(output);
+            unknownFields.writeTo(output);
         }
 
         @java.lang.Override
@@ -3906,7 +4163,7 @@ public final class Ztp {
                 size += dataSize;
                 size += 1 * getDeletedList().size();
             }
-            size += getUnknownFields().getSerializedSize();
+            size += unknownFields.getSerializedSize();
             memoizedSize = size;
             return size;
         }
@@ -3922,7 +4179,7 @@ public final class Ztp {
             ztp.Ztp.DeviceDeletionResult other = (ztp.Ztp.DeviceDeletionResult) obj;
             if (!getDeletedList().equals(other.getDeletedList()))
                 return false;
-            if (!getUnknownFields().equals(other.getUnknownFields()))
+            if (!unknownFields.equals(other.unknownFields))
                 return false;
             return true;
         }
@@ -3938,7 +4195,7 @@ public final class Ztp {
                 hash = (37 * hash) + DELETED_FIELD_NUMBER;
                 hash = (53 * hash) + getDeletedList().hashCode();
             }
-            hash = (29 * hash) + getUnknownFields().hashCode();
+            hash = (29 * hash) + unknownFields.hashCode();
             memoizedHashCode = hash;
             return hash;
         }
@@ -4032,17 +4289,24 @@ public final class Ztp {
 
             // Construct using ztp.Ztp.DeviceDeletionResult.newBuilder()
             private Builder() {
+                maybeForceBuilderInitialization();
             }
 
             private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
                 super(parent);
+                maybeForceBuilderInitialization();
+            }
+
+            private void maybeForceBuilderInitialization() {
+                if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {
+                }
             }
 
             @java.lang.Override
             public Builder clear() {
                 super.clear();
-                bitField0_ = 0;
-                deleted_ = com.google.protobuf.LazyStringArrayList.emptyList();
+                deleted_ = com.google.protobuf.LazyStringArrayList.EMPTY;
+                bitField0_ = (bitField0_ & ~0x00000001);
                 return this;
             }
 
@@ -4068,19 +4332,44 @@ public final class Ztp {
             @java.lang.Override
             public ztp.Ztp.DeviceDeletionResult buildPartial() {
                 ztp.Ztp.DeviceDeletionResult result = new ztp.Ztp.DeviceDeletionResult(this);
-                if (bitField0_ != 0) {
-                    buildPartial0(result);
+                int from_bitField0_ = bitField0_;
+                if (((bitField0_ & 0x00000001) != 0)) {
+                    deleted_ = deleted_.getUnmodifiableView();
+                    bitField0_ = (bitField0_ & ~0x00000001);
                 }
+                result.deleted_ = deleted_;
                 onBuilt();
                 return result;
             }
 
-            private void buildPartial0(ztp.Ztp.DeviceDeletionResult result) {
-                int from_bitField0_ = bitField0_;
-                if (((from_bitField0_ & 0x00000001) != 0)) {
-                    deleted_.makeImmutable();
-                    result.deleted_ = deleted_;
-                }
+            @java.lang.Override
+            public Builder clone() {
+                return super.clone();
+            }
+
+            @java.lang.Override
+            public Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.setField(field, value);
+            }
+
+            @java.lang.Override
+            public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
+                return super.clearField(field);
+            }
+
+            @java.lang.Override
+            public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
+                return super.clearOneof(oneof);
+            }
+
+            @java.lang.Override
+            public Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
+                return super.setRepeatedField(field, index, value);
+            }
+
+            @java.lang.Override
+            public Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
+                return super.addRepeatedField(field, value);
             }
 
             @java.lang.Override
@@ -4099,14 +4388,14 @@ public final class Ztp {
                 if (!other.deleted_.isEmpty()) {
                     if (deleted_.isEmpty()) {
                         deleted_ = other.deleted_;
-                        bitField0_ |= 0x00000001;
+                        bitField0_ = (bitField0_ & ~0x00000001);
                     } else {
                         ensureDeletedIsMutable();
                         deleted_.addAll(other.deleted_);
                     }
                     onChanged();
                 }
-                this.mergeUnknownFields(other.getUnknownFields());
+                this.mergeUnknownFields(other.unknownFields);
                 onChanged();
                 return this;
             }
@@ -4118,55 +4407,29 @@ public final class Ztp {
 
             @java.lang.Override
             public Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException {
-                if (extensionRegistry == null) {
-                    throw new java.lang.NullPointerException();
-                }
+                ztp.Ztp.DeviceDeletionResult parsedMessage = null;
                 try {
-                    boolean done = false;
-                    while (!done) {
-                        int tag = input.readTag();
-                        switch(tag) {
-                            case 0:
-                                done = true;
-                                break;
-                            case 10:
-                                {
-                                    java.lang.String s = input.readStringRequireUtf8();
-                                    ensureDeletedIsMutable();
-                                    deleted_.add(s);
-                                    break;
-                                }
-                            // case 10
-                            default:
-                                {
-                                    if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                                        // was an endgroup tag
-                                        done = true;
-                                    }
-                                    break;
-                                }
-                        }
-                        // switch (tag)
-                    }
-                    // while (!done)
+                    parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
                 } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+                    parsedMessage = (ztp.Ztp.DeviceDeletionResult) e.getUnfinishedMessage();
                     throw e.unwrapIOException();
                 } finally {
-                    onChanged();
+                    if (parsedMessage != null) {
+                        mergeFrom(parsedMessage);
+                    }
                 }
-                // finally
                 return this;
             }
 
             private int bitField0_;
 
-            private com.google.protobuf.LazyStringArrayList deleted_ = com.google.protobuf.LazyStringArrayList.emptyList();
+            private com.google.protobuf.LazyStringList deleted_ = com.google.protobuf.LazyStringArrayList.EMPTY;
 
             private void ensureDeletedIsMutable() {
-                if (!deleted_.isModifiable()) {
+                if (!((bitField0_ & 0x00000001) != 0)) {
                     deleted_ = new com.google.protobuf.LazyStringArrayList(deleted_);
+                    bitField0_ |= 0x00000001;
                 }
-                bitField0_ |= 0x00000001;
             }
 
             /**
@@ -4174,8 +4437,7 @@ public final class Ztp {
              * @return A list containing the deleted.
              */
             public com.google.protobuf.ProtocolStringList getDeletedList() {
-                deleted_.makeImmutable();
-                return deleted_;
+                return deleted_.getUnmodifiableView();
             }
 
             /**
@@ -4216,7 +4478,6 @@ public final class Ztp {
                 }
                 ensureDeletedIsMutable();
                 deleted_.set(index, value);
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -4232,7 +4493,6 @@ public final class Ztp {
                 }
                 ensureDeletedIsMutable();
                 deleted_.add(value);
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -4245,7 +4505,6 @@ public final class Ztp {
             public Builder addAllDeleted(java.lang.Iterable values) {
                 ensureDeletedIsMutable();
                 com.google.protobuf.AbstractMessageLite.Builder.addAll(values, deleted_);
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -4255,9 +4514,8 @@ public final class Ztp {
              * @return This builder for chaining.
              */
             public Builder clearDeleted() {
-                deleted_ = com.google.protobuf.LazyStringArrayList.emptyList();
+                deleted_ = com.google.protobuf.LazyStringArrayList.EMPTY;
                 bitField0_ = (bitField0_ & ~0x00000001);
-                ;
                 onChanged();
                 return this;
             }
@@ -4274,7 +4532,6 @@ public final class Ztp {
                 checkByteStringIsUtf8(value);
                 ensureDeletedIsMutable();
                 deleted_.add(value);
-                bitField0_ |= 0x00000001;
                 onChanged();
                 return this;
             }
@@ -4306,17 +4563,7 @@ public final class Ztp {
 
             @java.lang.Override
             public DeviceDeletionResult parsePartialFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException {
-                Builder builder = newBuilder();
-                try {
-                    builder.mergeFrom(input, extensionRegistry);
-                } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-                    throw e.setUnfinishedMessage(builder.buildPartial());
-                } catch (com.google.protobuf.UninitializedMessageException e) {
-                    throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-                } catch (java.io.IOException e) {
-                    throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(builder.buildPartial());
-                }
-                return builder.buildPartial();
+                return new DeviceDeletionResult(input, extensionRegistry);
             }
         };
 
diff --git a/src/ztp/target/generated-sources/grpc/ztp/ZtpServiceGrpc.java b/src/ztp/target/generated-sources/grpc/ztp/ZtpServiceGrpc.java
index e989a3637..796e4bcee 100644
--- a/src/ztp/target/generated-sources/grpc/ztp/ZtpServiceGrpc.java
+++ b/src/ztp/target/generated-sources/grpc/ztp/ZtpServiceGrpc.java
@@ -4,8 +4,7 @@ import static io.grpc.MethodDescriptor.generateFullMethodName;
 
 /**
  */
-@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.55.1)", comments = "Source: ztp.proto")
-@io.grpc.stub.annotations.GrpcGenerated
+@io.quarkus.grpc.common.Generated(value = "by gRPC proto compiler (version 1.38.1)", comments = "Source: ztp.proto")
 public final class ZtpServiceGrpc {
 
     private ZtpServiceGrpc() {
@@ -148,58 +147,51 @@ public final class ZtpServiceGrpc {
 
     /**
      */
-    public interface AsyncService {
+    public static abstract class ZtpServiceImplBase implements io.grpc.BindableService {
 
         /**
          */
-        default void ztpGetDeviceRole(ztp.Ztp.DeviceRoleId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void ztpGetDeviceRole(ztp.Ztp.DeviceRoleId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getZtpGetDeviceRoleMethod(), responseObserver);
         }
 
         /**
          */
-        default void ztpGetDeviceRolesByDeviceId(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) {
+        public void ztpGetDeviceRolesByDeviceId(context.ContextOuterClass.DeviceId request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getZtpGetDeviceRolesByDeviceIdMethod(), responseObserver);
         }
 
         /**
          */
-        default void ztpAdd(ztp.Ztp.DeviceRole request, io.grpc.stub.StreamObserver responseObserver) {
+        public void ztpAdd(ztp.Ztp.DeviceRole request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getZtpAddMethod(), responseObserver);
         }
 
         /**
          */
-        default void ztpUpdate(ztp.Ztp.DeviceRoleConfig request, io.grpc.stub.StreamObserver responseObserver) {
+        public void ztpUpdate(ztp.Ztp.DeviceRoleConfig request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getZtpUpdateMethod(), responseObserver);
         }
 
         /**
          */
-        default void ztpDelete(ztp.Ztp.DeviceRole request, io.grpc.stub.StreamObserver responseObserver) {
+        public void ztpDelete(ztp.Ztp.DeviceRole request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getZtpDeleteMethod(), responseObserver);
         }
 
         /**
          */
-        default void ztpDeleteAll(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
+        public void ztpDeleteAll(context.ContextOuterClass.Empty request, io.grpc.stub.StreamObserver responseObserver) {
             io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall(getZtpDeleteAllMethod(), responseObserver);
         }
-    }
-
-    /**
-     * Base class for the server implementation of the service ZtpService.
-     */
-    public static abstract class ZtpServiceImplBase implements io.grpc.BindableService, AsyncService {
 
         @java.lang.Override
         public io.grpc.ServerServiceDefinition bindService() {
-            return ZtpServiceGrpc.bindService(this);
+            return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getZtpGetDeviceRoleMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_ZTP_GET_DEVICE_ROLE))).addMethod(getZtpGetDeviceRolesByDeviceIdMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_ZTP_GET_DEVICE_ROLES_BY_DEVICE_ID))).addMethod(getZtpAddMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_ZTP_ADD))).addMethod(getZtpUpdateMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_ZTP_UPDATE))).addMethod(getZtpDeleteMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_ZTP_DELETE))).addMethod(getZtpDeleteAllMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(this, METHODID_ZTP_DELETE_ALL))).build();
         }
     }
 
     /**
-     * A stub to allow clients to do asynchronous rpc calls to service ZtpService.
      */
     public static class ZtpServiceStub extends io.grpc.stub.AbstractAsyncStub {
 
@@ -250,7 +242,6 @@ public final class ZtpServiceGrpc {
     }
 
     /**
-     * A stub to allow clients to do synchronous rpc calls to service ZtpService.
      */
     public static class ZtpServiceBlockingStub extends io.grpc.stub.AbstractBlockingStub {
 
@@ -301,7 +292,6 @@ public final class ZtpServiceGrpc {
     }
 
     /**
-     * A stub to allow clients to do ListenableFuture-style rpc calls to service ZtpService.
      */
     public static class ZtpServiceFutureStub extends io.grpc.stub.AbstractFutureStub {
 
@@ -365,11 +355,11 @@ public final class ZtpServiceGrpc {
 
     private static final class MethodHandlers implements io.grpc.stub.ServerCalls.UnaryMethod, io.grpc.stub.ServerCalls.ServerStreamingMethod, io.grpc.stub.ServerCalls.ClientStreamingMethod, io.grpc.stub.ServerCalls.BidiStreamingMethod {
 
-        private final AsyncService serviceImpl;
+        private final ZtpServiceImplBase serviceImpl;
 
         private final int methodId;
 
-        MethodHandlers(AsyncService serviceImpl, int methodId) {
+        MethodHandlers(ZtpServiceImplBase serviceImpl, int methodId) {
             this.serviceImpl = serviceImpl;
             this.methodId = methodId;
         }
@@ -411,10 +401,6 @@ public final class ZtpServiceGrpc {
         }
     }
 
-    public static io.grpc.ServerServiceDefinition bindService(AsyncService service) {
-        return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()).addMethod(getZtpGetDeviceRoleMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_ZTP_GET_DEVICE_ROLE))).addMethod(getZtpGetDeviceRolesByDeviceIdMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_ZTP_GET_DEVICE_ROLES_BY_DEVICE_ID))).addMethod(getZtpAddMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_ZTP_ADD))).addMethod(getZtpUpdateMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_ZTP_UPDATE))).addMethod(getZtpDeleteMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_ZTP_DELETE))).addMethod(getZtpDeleteAllMethod(), io.grpc.stub.ServerCalls.asyncUnaryCall(new MethodHandlers(service, METHODID_ZTP_DELETE_ALL))).build();
-    }
-
     private static abstract class ZtpServiceBaseDescriptorSupplier implements io.grpc.protobuf.ProtoFileDescriptorSupplier, io.grpc.protobuf.ProtoServiceDescriptorSupplier {
 
         ZtpServiceBaseDescriptorSupplier() {
diff --git a/src/ztp/target/kubernetes/kubernetes.yml b/src/ztp/target/kubernetes/kubernetes.yml
index 442ff876a..95eca6ae2 100644
--- a/src/ztp/target/kubernetes/kubernetes.yml
+++ b/src/ztp/target/kubernetes/kubernetes.yml
@@ -3,8 +3,8 @@ apiVersion: v1
 kind: Service
 metadata:
   annotations:
-    app.quarkus.io/commit-id: 7fce72764fa6bb9b37b407bbcba502cc0a23735f
-    app.quarkus.io/build-timestamp: 2024-04-04 - 09:35:22 +0000
+    app.quarkus.io/commit-id: 1fd284c73cf7d419152c8bc99644d0ed8955b355
+    app.quarkus.io/build-timestamp: 2024-04-08 - 17:36:46 +0000
     prometheus.io/scrape: "true"
     prometheus.io/path: /q/metrics
     prometheus.io/port: "8080"
@@ -21,14 +21,14 @@ spec:
       port: 9192
       protocol: TCP
       targetPort: 8080
-    - name: grpc
-      port: 5050
-      protocol: TCP
-      targetPort: 5050
     - name: https
       port: 443
       protocol: TCP
       targetPort: 8443
+    - name: grpc
+      port: 5050
+      protocol: TCP
+      targetPort: 5050
   selector:
     app.kubernetes.io/name: ztpservice
   type: ClusterIP
@@ -37,8 +37,8 @@ apiVersion: apps/v1
 kind: Deployment
 metadata:
   annotations:
-    app.quarkus.io/commit-id: 7fce72764fa6bb9b37b407bbcba502cc0a23735f
-    app.quarkus.io/build-timestamp: 2024-04-04 - 09:35:22 +0000
+    app.quarkus.io/commit-id: 1fd284c73cf7d419152c8bc99644d0ed8955b355
+    app.quarkus.io/build-timestamp: 2024-04-08 - 17:36:46 +0000
     prometheus.io/scrape: "true"
     prometheus.io/path: /q/metrics
     prometheus.io/port: "8080"
@@ -57,8 +57,8 @@ spec:
   template:
     metadata:
       annotations:
-        app.quarkus.io/commit-id: 7fce72764fa6bb9b37b407bbcba502cc0a23735f
-        app.quarkus.io/build-timestamp: 2024-04-04 - 09:35:22 +0000
+        app.quarkus.io/commit-id: 1fd284c73cf7d419152c8bc99644d0ed8955b355
+        app.quarkus.io/build-timestamp: 2024-04-08 - 17:36:46 +0000
         prometheus.io/scrape: "true"
         prometheus.io/path: /q/metrics
         prometheus.io/port: "8080"
@@ -96,12 +96,12 @@ spec:
             - containerPort: 8080
               name: http
               protocol: TCP
-            - containerPort: 5050
-              name: grpc
-              protocol: TCP
             - containerPort: 8443
               name: https
               protocol: TCP
+            - containerPort: 5050
+              name: grpc
+              protocol: TCP
           readinessProbe:
             failureThreshold: 3
             httpGet:
-- 
GitLab


From cd80faa13caddc80e552f8391081a3555d9e8bb5 Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Tue, 9 Apr 2024 13:25:48 +0000
Subject: [PATCH 115/156] Service component:

- Corrected format of URLs in OpticalTools.py
---
 src/service/service/tools/OpticalTools.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/service/service/tools/OpticalTools.py b/src/service/service/tools/OpticalTools.py
index ad2f8cbec..1837bf688 100644
--- a/src/service/service/tools/OpticalTools.py
+++ b/src/service/service/tools/OpticalTools.py
@@ -109,11 +109,11 @@ def add_lightpath(src, dst, bitrate, bidir, ob_band) -> str:
         if ob_band is None:
             if bidir is None:
                 bidir = 1
-            urlx = "{:s}/AddFlexLightpath/{:s}/{:s}/{:s}/{:s}".format(base_url, src, dst, bitrate, bidir)
+            urlx = "{:s}/AddFlexLightpath/{:s}/{:s}/{:s}/{:s}".format(base_url, src, dst, str(bitrate), str(bidir))
         else:
             if bidir is None:
                 bidir = 1
-            urlx = "{:s}/AddFlexLightpath/{:s}/{:s}/{:s}/{:s}/{:s}".format(base_url, src, dst, bitrate, bidir, ob_band)
+            urlx = "{:s}/AddFlexLightpath/{:s}/{:s}/{:s}/{:s}/{:s}".format(base_url, src, dst, str(bitrate), str(bidir), str(ob_band))
         r = requests.put(urlx, headers=headers)
         reply = r.text 
         return reply
@@ -127,7 +127,7 @@ def add_lightpath(src, dst, bitrate, bidir, ob_band) -> str:
 def get_optical_band(idx) -> str:
     if not TESTING:
         base_url = get_optical_controller_base_url()
-        urlx = "{:s}/GetOpticalBand/{:s}".format(base_url, idx)
+        urlx = "{:s}/GetOpticalBand/{:s}".format(base_url, str(idx))
         headers = {"Content-Type": "application/json"}
         r = requests.get(urlx, headers=headers)
         reply = r.text 
@@ -143,7 +143,7 @@ def delete_lightpath(flow_id, src, dst, bitrate) -> str:
     reply = "200"
     if not TESTING:
         base_url = get_optical_controller_base_url()
-        urlx = "{:s}/DelLightpath/{:s}/{:s}/{:s}/{:s}".format(base_url, flow_id, src, dst, bitrate)
+        urlx = "{:s}/DelLightpath/{:s}/{:s}/{:s}/{:s}".format(base_url, str(flow_id), src, dst, str(bitrate))
 
         headers = {"Content-Type": "application/json"}
         r = requests.delete(urlx, headers=headers)
-- 
GitLab


From f85eaa28fcf6dd586a15fbab371ca5164e135602 Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Tue, 9 Apr 2024 16:16:44 +0000
Subject: [PATCH 116/156] Context component:

- Corrected case in *opticalconfig* symbols
---
 src/context/service/ContextServiceServicerImpl.py | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/src/context/service/ContextServiceServicerImpl.py b/src/context/service/ContextServiceServicerImpl.py
index a102fa176..379705372 100644
--- a/src/context/service/ContextServiceServicerImpl.py
+++ b/src/context/service/ContextServiceServicerImpl.py
@@ -305,7 +305,7 @@ class ContextServiceServicerImpl(ContextServiceServicer, ContextPolicyServiceSer
     @safe_and_metered_rpc_method(METRICS_POOL, LOGGER)
     def GetOpticalConfig(self, request : Empty, context : grpc.ServicerContext) -> OpticalConfigList:
         result = get_opticalconfig(self.db_engine)
-        return OpticalConfigList(OpticalConfigs=result)
+        return OpticalConfigList(opticalconfigs=result)
 
     @safe_and_metered_rpc_method(METRICS_POOL, LOGGER)
     def SetOpticalConfig(self, request : OpticalConfig, context : grpc.ServicerContext) -> OpticalConfigId:
@@ -315,6 +315,4 @@ class ContextServiceServicerImpl(ContextServiceServicer, ContextPolicyServiceSer
     @safe_and_metered_rpc_method(METRICS_POOL, LOGGER)
     def SelectOpticalConfig(self, request : OpticalConfigId, context : grpc.ServicerContext) -> OpticalConfig:
         result = select_opticalconfig(self.db_engine, request)
-        optical_config_id = OpticalConfigId()
-        optical_config_id.CopyFrom(result.OpticalConfig_id)
-        return OpticalConfig(config=result.config, OpticalConfig_id=optical_config_id)
+        return OpticalConfig(config=result.config, opticalconfig_id=result.opticalconfig_id)
-- 
GitLab


From f9fcd9ff532eadec1aed247a348470f4a49e1c27 Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Tue, 9 Apr 2024 16:32:27 +0000
Subject: [PATCH 117/156] GitLab CI/CD pipeline:

- Deactivated unneeded tests
---
 .gitlab-ci.yml           | 20 ++++++++++----------
 src/tests/.gitlab-ci.yml |  4 ++--
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2d7c2e21b..b33b5b3df 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -22,19 +22,19 @@ stages:
 # include the individual .gitlab-ci.yml of each micro-service and tests
 include:
   #- local: '/manifests/.gitlab-ci.yml'
-  - local: '/src/monitoring/.gitlab-ci.yml'
+  ###- local: '/src/monitoring/.gitlab-ci.yml'
   - local: '/src/nbi/.gitlab-ci.yml'
   - local: '/src/context/.gitlab-ci.yml'
   - local: '/src/device/.gitlab-ci.yml'
   - local: '/src/service/.gitlab-ci.yml'
-  - local: '/src/dbscanserving/.gitlab-ci.yml'
-  - local: '/src/opticalattackmitigator/.gitlab-ci.yml'
-  - local: '/src/opticalattackdetector/.gitlab-ci.yml'
-  - local: '/src/opticalattackmanager/.gitlab-ci.yml'
+  ###- local: '/src/dbscanserving/.gitlab-ci.yml'
+  ###- local: '/src/opticalattackmitigator/.gitlab-ci.yml'
+  ###- local: '/src/opticalattackdetector/.gitlab-ci.yml'
+  ###- local: '/src/opticalattackmanager/.gitlab-ci.yml'
   - local: '/src/opticalcontroller/.gitlab-ci.yml'
-  - local: '/src/ztp/.gitlab-ci.yml'
-  - local: '/src/policy/.gitlab-ci.yml'
-  - local: '/src/forecaster/.gitlab-ci.yml'
+  ###- local: '/src/ztp/.gitlab-ci.yml'
+  ###- local: '/src/policy/.gitlab-ci.yml'
+  ###- local: '/src/forecaster/.gitlab-ci.yml'
   #- local: '/src/webui/.gitlab-ci.yml'
   #- local: '/src/l3_distributedattackdetector/.gitlab-ci.yml'
   #- local: '/src/l3_centralizedattackdetector/.gitlab-ci.yml'
@@ -43,8 +43,8 @@ include:
   #- local: '/src/interdomain/.gitlab-ci.yml'
   - local: '/src/pathcomp/.gitlab-ci.yml'
   #- local: '/src/dlt/.gitlab-ci.yml'
-  - local: '/src/load_generator/.gitlab-ci.yml'
-  - local: '/src/bgpls_speaker/.gitlab-ci.yml'
+  ###- local: '/src/load_generator/.gitlab-ci.yml'
+  ###- local: '/src/bgpls_speaker/.gitlab-ci.yml'
 
   # This should be last one: end-to-end integration tests
   - local: '/src/tests/.gitlab-ci.yml'
diff --git a/src/tests/.gitlab-ci.yml b/src/tests/.gitlab-ci.yml
index b7345bbd1..36bfd6636 100644
--- a/src/tests/.gitlab-ci.yml
+++ b/src/tests/.gitlab-ci.yml
@@ -14,9 +14,9 @@
 
 # include the individual .gitlab-ci.yml of each end-to-end integration test
 include:
-  - local: '/src/tests/ofc22/.gitlab-ci.yml'
+  ###- local: '/src/tests/ofc22/.gitlab-ci.yml'
   #- local: '/src/tests/oeccpsc22/.gitlab-ci.yml'
-  - local: '/src/tests/ecoc22/.gitlab-ci.yml'
+  ###- local: '/src/tests/ecoc22/.gitlab-ci.yml'
   #- local: '/src/tests/nfvsdn22/.gitlab-ci.yml'
   #- local: '/src/tests/ofc23/.gitlab-ci.yml'
   - local: '/src/tests/ofc24/.gitlab-ci.yml'
-- 
GitLab


From 62093d79535c576c000d5038f8c8b5575c6b9af2 Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Wed, 10 Apr 2024 10:56:23 +0000
Subject: [PATCH 118/156] Optical Controller component:

- Added log message to debug issue
---
 src/opticalcontroller/OpticalController.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/opticalcontroller/OpticalController.py b/src/opticalcontroller/OpticalController.py
index c2805695a..ec8c4db2c 100644
--- a/src/opticalcontroller/OpticalController.py
+++ b/src/opticalcontroller/OpticalController.py
@@ -85,6 +85,7 @@ class AddFlexLightpath(Resource):
         if rsa is not None:
             flow_id, optical_band_id = rsa.rsa_fs_computation(src, dst, bitrate, bidir, band)
             print (f"flow_id {flow_id} and optical_band_id {optical_band_id} ")
+            LOGGER.warning('flow_id={:s} rsa.db_flows={:s}'.format(str(flow_id), str(rsa.db_flows)))
             if flow_id is not None:
                 if rsa.db_flows[flow_id]["op-mode"] == 0:
                     return 'No path found', 404
-- 
GitLab


From bf8f0f3b38c3e4e94a08879f2f4f0a6a11a4fe0b Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Thu, 11 Apr 2024 15:44:26 +0000
Subject: [PATCH 119/156] Service component:

- Corrected config generation in TaskExecutor::configure_optical_device()
---
 src/service/service/task_scheduler/TaskExecutor.py | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/service/service/task_scheduler/TaskExecutor.py b/src/service/service/task_scheduler/TaskExecutor.py
index 5c5747970..fdfcb903b 100644
--- a/src/service/service/task_scheduler/TaskExecutor.py
+++ b/src/service/service/task_scheduler/TaskExecutor.py
@@ -122,17 +122,16 @@ class TaskExecutor:
         optical_config_id = OpticalConfigId()
         optical_config_id.opticalconfig_uuid = device.device_id.device_uuid.uuid
         optical_config = OpticalConfig()
-        setting = settings.value if settings else ""
+        setting = settings.value if settings else ''
 
-        new_config = {}
         try:
             result = self._context_client.SelectOpticalConfig(optical_config_id)
-            new_config = json.loads(result.config)
-            if result is not None :
+            if result is not None:
+                new_config = json.loads(result.config)
                 new_config["new_config"] = setting
                 new_config["is_opticalband"] = is_opticalband
                 new_config["flow"] = flows
-                result.config = str(new_config)
+                result.config = json.dumps(new_config)
                 optical_config.CopyFrom(result)
                 self._device_client.ConfigureOpticalDevice(optical_config)
             self._store_grpc_object(CacheableObjectType.DEVICE, device_key, device)
-- 
GitLab


From 14db9b7c6317d021d29c88541593eb716a1804cf Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Thu, 11 Apr 2024 15:46:01 +0000
Subject: [PATCH 120/156] OFC'24 test:

- Corrected tests create/delete service unidir/bidir
- Added run-tests-locally.sh script
- Removed unneeded README.md file
---
 src/tests/ofc24/README.md                     | 21 -----
 src/tests/ofc24/run-tests-locally.sh          | 22 ++++++
 .../test_functional_create_service_bidir.py   | 30 ++++----
 .../test_functional_create_service_unidir.py  | 30 ++++----
 .../test_functional_delete_service_bidir.py   | 76 ++++++++-----------
 .../test_functional_delete_service_unidir.py  | 76 ++++++++-----------
 6 files changed, 116 insertions(+), 139 deletions(-)
 delete mode 100644 src/tests/ofc24/README.md
 create mode 100755 src/tests/ofc24/run-tests-locally.sh

diff --git a/src/tests/ofc24/README.md b/src/tests/ofc24/README.md
deleted file mode 100644
index 93e95fc64..000000000
--- a/src/tests/ofc24/README.md
+++ /dev/null
@@ -1,21 +0,0 @@
-# OFC'24 - Test scenario
-
-## Start Topology
-Topology is composed of 2 transponders managed through OpenConfig and 2 Multi-granular ROAMDS
-Strat the topology executing the following command:
-```bash
-sudo ./start_topo.sh
-```
-
-## Populate the TFS context and topology
-Pushing the JSON files following the file indexes, i.e, 1, 2, 3, ...
-The last JSON file with ID 7 is the service.
-To check the service is onboarded successfully go into the TFS WebUI and check the `Service` tab.
-
-## Check configuration in devices
-Check if the devices are configured properly.
-To check that, run, for each device (X={1, 2, 3, 4}):
-```bash
-screen -r tX
-```
-To release the terminal, press `Ctrl + A + D`
diff --git a/src/tests/ofc24/run-tests-locally.sh b/src/tests/ofc24/run-tests-locally.sh
new file mode 100755
index 000000000..14cf78500
--- /dev/null
+++ b/src/tests/ofc24/run-tests-locally.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+source ~/tfs-ctrl/tfs_runtime_env_vars.sh
+pytest --verbose --log-level=INFO ~/tfs-ctrl/ofc24/tests/test_functional_bootstrap.py
+pytest --verbose --log-level=INFO ~/tfs-ctrl/ofc24/tests/test_functional_create_service_unidir.py
+pytest --verbose --log-level=INFO ~/tfs-ctrl/ofc24/tests/test_functional_delete_service_unidir.py
+pytest --verbose --log-level=INFO ~/tfs-ctrl/ofc24/tests/test_functional_create_service_bidir.py
+pytest --verbose --log-level=INFO ~/tfs-ctrl/ofc24/tests/test_functional_delete_service_bidir.py
+pytest --verbose --log-level=INFO ~/tfs-ctrl/ofc24/tests/test_functional_cleanup.py
diff --git a/src/tests/ofc24/tests/test_functional_create_service_bidir.py b/src/tests/ofc24/tests/test_functional_create_service_bidir.py
index 82408eaa5..e910c946d 100644
--- a/src/tests/ofc24/tests/test_functional_create_service_bidir.py
+++ b/src/tests/ofc24/tests/test_functional_create_service_bidir.py
@@ -14,7 +14,7 @@
 
 import logging, os
 from common.Constants import DEFAULT_CONTEXT_NAME
-from common.proto.context_pb2 import ContextId, ServiceTypeEnum
+from common.proto.context_pb2 import ContextId, ServiceStatusEnum, ServiceTypeEnum
 from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results
 from common.tools.grpc.Tools import grpc_message_to_json_string
 from common.tools.object_factory.Context import json_context_id
@@ -41,32 +41,32 @@ def test_service_creation_bidir(
     )
     results = descriptor_loader.process()
     check_descriptor_load_results(results, descriptor_loader)
-    descriptor_loader.validate()
 
-    # Verify the scenario has no services/slices
+    # Verify the scenario has 1 service and 0 slices
     response = context_client.GetContext(ADMIN_CONTEXT_ID)
-    #assert len(response.service_ids) == 0
-    #assert len(response.slice_ids) == 0
+    assert len(response.service_ids) == 1
+    assert len(response.slice_ids) == 0
 
-    # Ensure slices and services are created
+    # Check there are no slices
     response = context_client.ListSlices(ADMIN_CONTEXT_ID)
     LOGGER.warning('Slices[{:d}] = {:s}'.format(len(response.slices), grpc_message_to_json_string(response)))
-    #assert len(response.slices) == 1 # OSM slice
+    assert len(response.slices) == 0
 
+    # Check there is 1 service
     response = context_client.ListServices(ADMIN_CONTEXT_ID)
     LOGGER.warning('Services[{:d}] = {:s}'.format(len(response.services), grpc_message_to_json_string(response)))
-    #assert len(response.services) == 2 # 1xL3NM + 1xTAPI
+    assert len(response.services) == 1
 
     for service in response.services:
         service_id = service.service_id
+        assert service.service_status.service_status == ServiceStatusEnum.SERVICESTATUS_ACTIVE
+
         response = context_client.ListConnections(service_id)
         LOGGER.warning('  ServiceId[{:s}] => Connections[{:d}] = {:s}'.format(
             grpc_message_to_json_string(service_id), len(response.connections), grpc_message_to_json_string(response)))
 
-        #if service.service_type == ServiceTypeEnum.SERVICETYPE_L3NM:
-        #    assert len(response.connections) == 1 # 1 connection per service
-        #elif service.service_type == ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE:
-        #    assert len(response.connections) == 1 # 1 connection per service
-        #else:
-        #    str_service = grpc_message_to_json_string(service)
-        #    raise Exception('Unexpected ServiceType: {:s}'.format(str_service))
+        if service.service_type == ServiceTypeEnum.SERVICETYPE_OPTICAL_CONNECTIVITY:
+            assert len(response.connections) == 2
+        else:
+            str_service = grpc_message_to_json_string(service)
+            raise Exception('Unexpected ServiceType: {:s}'.format(str_service))
diff --git a/src/tests/ofc24/tests/test_functional_create_service_unidir.py b/src/tests/ofc24/tests/test_functional_create_service_unidir.py
index 1cc0f43ce..5b2550ae1 100644
--- a/src/tests/ofc24/tests/test_functional_create_service_unidir.py
+++ b/src/tests/ofc24/tests/test_functional_create_service_unidir.py
@@ -14,7 +14,7 @@
 
 import logging, os
 from common.Constants import DEFAULT_CONTEXT_NAME
-from common.proto.context_pb2 import ContextId, ServiceTypeEnum
+from common.proto.context_pb2 import ContextId, ServiceStatusEnum, ServiceTypeEnum
 from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results
 from common.tools.grpc.Tools import grpc_message_to_json_string
 from common.tools.object_factory.Context import json_context_id
@@ -41,32 +41,32 @@ def test_service_creation_unidir(
     )
     results = descriptor_loader.process()
     check_descriptor_load_results(results, descriptor_loader)
-    descriptor_loader.validate()
 
-    # Verify the scenario has no services/slices
+    # Verify the scenario has 1 service and 0 slices
     response = context_client.GetContext(ADMIN_CONTEXT_ID)
-    #assert len(response.service_ids) == 0
-    #assert len(response.slice_ids) == 0
+    assert len(response.service_ids) == 1
+    assert len(response.slice_ids) == 0
 
-    # Ensure slices and services are created
+    # Check there are no slices
     response = context_client.ListSlices(ADMIN_CONTEXT_ID)
     LOGGER.warning('Slices[{:d}] = {:s}'.format(len(response.slices), grpc_message_to_json_string(response)))
-    #assert len(response.slices) == 1 # OSM slice
+    assert len(response.slices) == 0
 
+    # Check there is 1 service
     response = context_client.ListServices(ADMIN_CONTEXT_ID)
     LOGGER.warning('Services[{:d}] = {:s}'.format(len(response.services), grpc_message_to_json_string(response)))
-    #assert len(response.services) == 2 # 1xL3NM + 1xTAPI
+    assert len(response.services) == 1
 
     for service in response.services:
         service_id = service.service_id
+        assert service.service_status.service_status == ServiceStatusEnum.SERVICESTATUS_ACTIVE
+
         response = context_client.ListConnections(service_id)
         LOGGER.warning('  ServiceId[{:s}] => Connections[{:d}] = {:s}'.format(
             grpc_message_to_json_string(service_id), len(response.connections), grpc_message_to_json_string(response)))
 
-        #if service.service_type == ServiceTypeEnum.SERVICETYPE_L3NM:
-        #    assert len(response.connections) == 1 # 1 connection per service
-        #elif service.service_type == ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE:
-        #    assert len(response.connections) == 1 # 1 connection per service
-        #else:
-        #    str_service = grpc_message_to_json_string(service)
-        #    raise Exception('Unexpected ServiceType: {:s}'.format(str_service))
+        if service.service_type == ServiceTypeEnum.SERVICETYPE_OPTICAL_CONNECTIVITY:
+            assert len(response.connections) == 2
+        else:
+            str_service = grpc_message_to_json_string(service)
+            raise Exception('Unexpected ServiceType: {:s}'.format(str_service))
diff --git a/src/tests/ofc24/tests/test_functional_delete_service_bidir.py b/src/tests/ofc24/tests/test_functional_delete_service_bidir.py
index ee0572df2..a337336a8 100644
--- a/src/tests/ofc24/tests/test_functional_delete_service_bidir.py
+++ b/src/tests/ofc24/tests/test_functional_delete_service_bidir.py
@@ -12,79 +12,67 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-import logging, os
+import logging
+from typing import Set, Tuple
 from common.Constants import DEFAULT_CONTEXT_NAME
-from common.proto.context_pb2 import ContextId, ServiceId, ServiceTypeEnum
-from common.tools.descriptor.Loader import DescriptorLoader
+from common.proto.context_pb2 import ContextId, ServiceId, ServiceStatusEnum, ServiceTypeEnum
 from common.tools.grpc.Tools import grpc_message_to_json_string
 from common.tools.object_factory.Context import json_context_id
+from common.tools.object_factory.Service import json_service_id
 from context.client.ContextClient import ContextClient
-from device.client.DeviceClient import DeviceClient
 from service.client.ServiceClient import ServiceClient
-from tests.Fixtures import context_client, device_client, service_client        # pylint: disable=unused-import
+from tests.Fixtures import context_client, service_client   # pylint: disable=unused-import
 
 LOGGER = logging.getLogger(__name__)
 LOGGER.setLevel(logging.DEBUG)
 
-DESCRIPTOR_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'descriptors', 'service-bidir.json')
 ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME))
 
 def test_service_removal_bidir(
     context_client : ContextClient, # pylint: disable=redefined-outer-name
-    device_client  : DeviceClient,  # pylint: disable=redefined-outer-name
     service_client : ServiceClient, # pylint: disable=redefined-outer-name
 ):
-    # Load descriptors and validate the base scenario
-    descriptor_loader = DescriptorLoader(
-        descriptors_file=DESCRIPTOR_FILE, context_client=context_client, device_client=device_client,
-        service_client=service_client
-    )
-    descriptor_loader.validate()
-
-    # Verify the scenario has no services/slices
+    # Verify the scenario has 1 service and 0 slices
     response = context_client.GetContext(ADMIN_CONTEXT_ID)
-    #assert len(response.service_ids) == 0
-    #assert len(response.slice_ids) == 0
+    assert len(response.service_ids) == 1
+    assert len(response.slice_ids) == 0
 
-    # Ensure slices and services are created
+    # Check there are no slices
     response = context_client.ListSlices(ADMIN_CONTEXT_ID)
     LOGGER.warning('Slices[{:d}] = {:s}'.format(len(response.slices), grpc_message_to_json_string(response)))
-    #assert len(response.slices) == 1 # OSM slice
+    assert len(response.slices) == 0
 
+    # Check there is 1 service
     response = context_client.ListServices(ADMIN_CONTEXT_ID)
     LOGGER.warning('Services[{:d}] = {:s}'.format(len(response.services), grpc_message_to_json_string(response)))
-    #assert len(response.services) == 2 # 1xL3NM + 1xTAPI
+    assert len(response.services) == 1
 
-    #service_uuids = set()
+    context_service_uuids : Set[Tuple[str, str]] = set()
     for service in response.services:
         service_id = service.service_id
+        assert service.service_status.service_status == ServiceStatusEnum.SERVICESTATUS_ACTIVE
+
         response = context_client.ListConnections(service_id)
         LOGGER.warning('  ServiceId[{:s}] => Connections[{:d}] = {:s}'.format(
             grpc_message_to_json_string(service_id), len(response.connections), grpc_message_to_json_string(response)))
 
-        #if service.service_type == ServiceTypeEnum.SERVICETYPE_L3NM:
-        #    assert len(response.connections) == 1 # 1 connection per service
-        #    service_uuid = service_id.service_uuid.uuid
-        #    service_uuids.add(service_uuid)
-        #    osm_wim.conn_info[service_uuid] = {}
-        #elif service.service_type == ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE:
-        #    assert len(response.connections) == 1 # 1 connection per service
-        #else:
-        #    str_service = grpc_message_to_json_string(service)
-        #    raise Exception('Unexpected ServiceType: {:s}'.format(str_service))
+        if service.service_type == ServiceTypeEnum.SERVICETYPE_OPTICAL_CONNECTIVITY:
+            assert len(response.connections) == 2
+            context_uuid = service_id.context_id.context_uuid.uuid
+            service_uuid = service_id.service_uuid.uuid
+            context_service_uuids.add((context_uuid, service_uuid))
+        else:
+            str_service = grpc_message_to_json_string(service)
+            raise Exception('Unexpected ServiceType: {:s}'.format(str_service))
 
-    ## Identify service to delete
-    #assert len(service_uuids) == 1  # assume a single L3NM service has been created
-    #service_uuid = set(service_uuids).pop()
+    # Identify service to delete
+    assert len(context_service_uuids) == 1
+    context_uuid, service_uuid = set(context_service_uuids).pop()
 
-    ## Delete Service
-    #service_client.DeleteService(ServiceId(json_service_id(service_uuid, context_uuid)))
+    # Delete Service
+    service_client.DeleteService(ServiceId(**json_service_id(service_uuid, json_context_id(context_uuid))))
 
-    ## Verify the scenario has no services/slices
-    #response = context_client.GetContext(ADMIN_CONTEXT_ID)
-    #assert len(response.service_ids) == 0
-    #assert len(response.slice_ids) == 0
-
-    ## Load descriptors and validate the base scenario
-    #descriptor_loader = DescriptorLoader(descriptors_file=DESCRIPTOR_FILE, context_client=context_client)
-    #descriptor_loader.validate()
+    # Verify the scenario has no services/slices
+    response = context_client.GetContext(ADMIN_CONTEXT_ID)
+    assert len(response.service_ids) == 0
+    assert len(response.slice_ids) == 0
diff --git a/src/tests/ofc24/tests/test_functional_delete_service_unidir.py b/src/tests/ofc24/tests/test_functional_delete_service_unidir.py
index 0861b103c..9b0381c49 100644
--- a/src/tests/ofc24/tests/test_functional_delete_service_unidir.py
+++ b/src/tests/ofc24/tests/test_functional_delete_service_unidir.py
@@ -12,79 +12,67 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-import logging, os
+import logging
+from typing import Set, Tuple
 from common.Constants import DEFAULT_CONTEXT_NAME
-from common.proto.context_pb2 import ContextId, ServiceId, ServiceTypeEnum
-from common.tools.descriptor.Loader import DescriptorLoader
+from common.proto.context_pb2 import ContextId, ServiceId, ServiceStatusEnum, ServiceTypeEnum
 from common.tools.grpc.Tools import grpc_message_to_json_string
 from common.tools.object_factory.Context import json_context_id
+from common.tools.object_factory.Service import json_service_id
 from context.client.ContextClient import ContextClient
-from device.client.DeviceClient import DeviceClient
 from service.client.ServiceClient import ServiceClient
-from tests.Fixtures import context_client, device_client, service_client        # pylint: disable=unused-import
+from tests.Fixtures import context_client, service_client   # pylint: disable=unused-import
 
 LOGGER = logging.getLogger(__name__)
 LOGGER.setLevel(logging.DEBUG)
 
-DESCRIPTOR_FILE = os.path.join(os.path.dirname(os.path.abspath(__file__)), '..', 'descriptors', 'service-unidir.json')
 ADMIN_CONTEXT_ID = ContextId(**json_context_id(DEFAULT_CONTEXT_NAME))
 
 def test_service_removal_unidir(
     context_client : ContextClient, # pylint: disable=redefined-outer-name
-    device_client  : DeviceClient,  # pylint: disable=redefined-outer-name
     service_client : ServiceClient, # pylint: disable=redefined-outer-name
 ):
-    # Load descriptors and validate the base scenario
-    descriptor_loader = DescriptorLoader(
-        descriptors_file=DESCRIPTOR_FILE, context_client=context_client, device_client=device_client,
-        service_client=service_client
-    )
-    descriptor_loader.validate()
-
-    # Verify the scenario has no services/slices
+    # Verify the scenario has 1 service and 0 slices
     response = context_client.GetContext(ADMIN_CONTEXT_ID)
-    #assert len(response.service_ids) == 0
-    #assert len(response.slice_ids) == 0
+    assert len(response.service_ids) == 1
+    assert len(response.slice_ids) == 0
 
-    # Ensure slices and services are created
+    # Check there are no slices
     response = context_client.ListSlices(ADMIN_CONTEXT_ID)
     LOGGER.warning('Slices[{:d}] = {:s}'.format(len(response.slices), grpc_message_to_json_string(response)))
-    #assert len(response.slices) == 1 # OSM slice
+    assert len(response.slices) == 0
 
+    # Check there is 1 service
     response = context_client.ListServices(ADMIN_CONTEXT_ID)
     LOGGER.warning('Services[{:d}] = {:s}'.format(len(response.services), grpc_message_to_json_string(response)))
-    #assert len(response.services) == 2 # 1xL3NM + 1xTAPI
+    assert len(response.services) == 1
 
-    #service_uuids = set()
+    context_service_uuids : Set[Tuple[str, str]] = set()
     for service in response.services:
         service_id = service.service_id
+        assert service.service_status.service_status == ServiceStatusEnum.SERVICESTATUS_ACTIVE
+
         response = context_client.ListConnections(service_id)
         LOGGER.warning('  ServiceId[{:s}] => Connections[{:d}] = {:s}'.format(
             grpc_message_to_json_string(service_id), len(response.connections), grpc_message_to_json_string(response)))
 
-        #if service.service_type == ServiceTypeEnum.SERVICETYPE_L3NM:
-        #    assert len(response.connections) == 1 # 1 connection per service
-        #    service_uuid = service_id.service_uuid.uuid
-        #    service_uuids.add(service_uuid)
-        #    osm_wim.conn_info[service_uuid] = {}
-        #elif service.service_type == ServiceTypeEnum.SERVICETYPE_TAPI_CONNECTIVITY_SERVICE:
-        #    assert len(response.connections) == 1 # 1 connection per service
-        #else:
-        #    str_service = grpc_message_to_json_string(service)
-        #    raise Exception('Unexpected ServiceType: {:s}'.format(str_service))
+        if service.service_type == ServiceTypeEnum.SERVICETYPE_OPTICAL_CONNECTIVITY:
+            assert len(response.connections) == 2
+            context_uuid = service_id.context_id.context_uuid.uuid
+            service_uuid = service_id.service_uuid.uuid
+            context_service_uuids.add((context_uuid, service_uuid))
+        else:
+            str_service = grpc_message_to_json_string(service)
+            raise Exception('Unexpected ServiceType: {:s}'.format(str_service))
 
-    ## Identify service to delete
-    #assert len(service_uuids) == 1  # assume a single L3NM service has been created
-    #service_uuid = set(service_uuids).pop()
+    # Identify service to delete
+    assert len(context_service_uuids) == 1
+    context_uuid, service_uuid = set(context_service_uuids).pop()
 
-    ## Delete Service
-    #service_client.DeleteService(ServiceId(json_service_id(service_uuid, context_uuid)))
+    # Delete Service
+    service_client.DeleteService(ServiceId(**json_service_id(service_uuid, json_context_id(context_uuid))))
 
-    ## Verify the scenario has no services/slices
-    #response = context_client.GetContext(ADMIN_CONTEXT_ID)
-    #assert len(response.service_ids) == 0
-    #assert len(response.slice_ids) == 0
-
-    ## Load descriptors and validate the base scenario
-    #descriptor_loader = DescriptorLoader(descriptors_file=DESCRIPTOR_FILE, context_client=context_client)
-    #descriptor_loader.validate()
+    # Verify the scenario has no services/slices
+    response = context_client.GetContext(ADMIN_CONTEXT_ID)
+    assert len(response.service_ids) == 0
+    assert len(response.slice_ids) == 0
-- 
GitLab


From 9790bd3c5bceb401161cf7c50a3edb58ac52cf85 Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Thu, 11 Apr 2024 16:13:11 +0000
Subject: [PATCH 121/156] GitLab CI/CD pipeline:

- Reactivated tests
---
 .gitlab-ci.yml           | 20 ++++++++++----------
 src/tests/.gitlab-ci.yml |  4 ++--
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b33b5b3df..2d7c2e21b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -22,19 +22,19 @@ stages:
 # include the individual .gitlab-ci.yml of each micro-service and tests
 include:
   #- local: '/manifests/.gitlab-ci.yml'
-  ###- local: '/src/monitoring/.gitlab-ci.yml'
+  - local: '/src/monitoring/.gitlab-ci.yml'
   - local: '/src/nbi/.gitlab-ci.yml'
   - local: '/src/context/.gitlab-ci.yml'
   - local: '/src/device/.gitlab-ci.yml'
   - local: '/src/service/.gitlab-ci.yml'
-  ###- local: '/src/dbscanserving/.gitlab-ci.yml'
-  ###- local: '/src/opticalattackmitigator/.gitlab-ci.yml'
-  ###- local: '/src/opticalattackdetector/.gitlab-ci.yml'
-  ###- local: '/src/opticalattackmanager/.gitlab-ci.yml'
+  - local: '/src/dbscanserving/.gitlab-ci.yml'
+  - local: '/src/opticalattackmitigator/.gitlab-ci.yml'
+  - local: '/src/opticalattackdetector/.gitlab-ci.yml'
+  - local: '/src/opticalattackmanager/.gitlab-ci.yml'
   - local: '/src/opticalcontroller/.gitlab-ci.yml'
-  ###- local: '/src/ztp/.gitlab-ci.yml'
-  ###- local: '/src/policy/.gitlab-ci.yml'
-  ###- local: '/src/forecaster/.gitlab-ci.yml'
+  - local: '/src/ztp/.gitlab-ci.yml'
+  - local: '/src/policy/.gitlab-ci.yml'
+  - local: '/src/forecaster/.gitlab-ci.yml'
   #- local: '/src/webui/.gitlab-ci.yml'
   #- local: '/src/l3_distributedattackdetector/.gitlab-ci.yml'
   #- local: '/src/l3_centralizedattackdetector/.gitlab-ci.yml'
@@ -43,8 +43,8 @@ include:
   #- local: '/src/interdomain/.gitlab-ci.yml'
   - local: '/src/pathcomp/.gitlab-ci.yml'
   #- local: '/src/dlt/.gitlab-ci.yml'
-  ###- local: '/src/load_generator/.gitlab-ci.yml'
-  ###- local: '/src/bgpls_speaker/.gitlab-ci.yml'
+  - local: '/src/load_generator/.gitlab-ci.yml'
+  - local: '/src/bgpls_speaker/.gitlab-ci.yml'
 
   # This should be last one: end-to-end integration tests
   - local: '/src/tests/.gitlab-ci.yml'
diff --git a/src/tests/.gitlab-ci.yml b/src/tests/.gitlab-ci.yml
index 36bfd6636..b7345bbd1 100644
--- a/src/tests/.gitlab-ci.yml
+++ b/src/tests/.gitlab-ci.yml
@@ -14,9 +14,9 @@
 
 # include the individual .gitlab-ci.yml of each end-to-end integration test
 include:
-  ###- local: '/src/tests/ofc22/.gitlab-ci.yml'
+  - local: '/src/tests/ofc22/.gitlab-ci.yml'
   #- local: '/src/tests/oeccpsc22/.gitlab-ci.yml'
-  ###- local: '/src/tests/ecoc22/.gitlab-ci.yml'
+  - local: '/src/tests/ecoc22/.gitlab-ci.yml'
   #- local: '/src/tests/nfvsdn22/.gitlab-ci.yml'
   #- local: '/src/tests/ofc23/.gitlab-ci.yml'
   - local: '/src/tests/ofc24/.gitlab-ci.yml'
-- 
GitLab


From a419c7b6e8457ad10a72c406c09822c568ff5b9f Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Thu, 11 Apr 2024 16:22:23 +0000
Subject: [PATCH 122/156] Deploy scripts:

- Corrected deployment order in my_deploy.sh for opticalcontroller and service components
---
 my_deploy.sh | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/my_deploy.sh b/my_deploy.sh
index 7dd5e5c3e..4e705622b 100755
--- a/my_deploy.sh
+++ b/my_deploy.sh
@@ -29,7 +29,14 @@ export TFS_COMPONENTS="context device pathcomp service slice nbi webui load_gene
 #export TFS_COMPONENTS="${TFS_COMPONENTS} bgpls_speaker"
 
 # Uncomment to activate Optical Controller
-#export TFS_COMPONENTS="${TFS_COMPONENTS} opticalcontroller"
+#   To manage optical connections, "service" requires "opticalcontroller" to be deployed
+#   before "service", thus we "hack" the TFS_COMPONENTS environment variable prepending the
+#   "opticalcontroller" only if "service" is already in TFS_COMPONENTS, and re-export it.
+#if [[ "$TFS_COMPONENTS" == *"service"* ]]; then
+#    BEFORE="${TFS_COMPONENTS% service*}"
+#    AFTER="${TFS_COMPONENTS#* service}"
+#    export TFS_COMPONENTS="${BEFORE} opticalcontroller service ${AFTER}"
+#fi
 
 # Uncomment to activate ZTP
 #export TFS_COMPONENTS="${TFS_COMPONENTS} ztp"
-- 
GitLab


From 62a30586927deb2442baa266f7386d49fd2a8ee7 Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Thu, 11 Apr 2024 16:23:47 +0000
Subject: [PATCH 123/156] Optical Controller component:

- Reduced level of some debug log messages
---
 src/opticalcontroller/OpticalController.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/opticalcontroller/OpticalController.py b/src/opticalcontroller/OpticalController.py
index ec8c4db2c..326862f93 100644
--- a/src/opticalcontroller/OpticalController.py
+++ b/src/opticalcontroller/OpticalController.py
@@ -85,7 +85,7 @@ class AddFlexLightpath(Resource):
         if rsa is not None:
             flow_id, optical_band_id = rsa.rsa_fs_computation(src, dst, bitrate, bidir, band)
             print (f"flow_id {flow_id} and optical_band_id {optical_band_id} ")
-            LOGGER.warning('flow_id={:s} rsa.db_flows={:s}'.format(str(flow_id), str(rsa.db_flows)))
+            LOGGER.debug('flow_id={:s} rsa.db_flows={:s}'.format(str(flow_id), str(rsa.db_flows)))
             if flow_id is not None:
                 if rsa.db_flows[flow_id]["op-mode"] == 0:
                     return 'No path found', 404
-- 
GitLab


From 3364f79c439ed0b7f15a5766da342bf38d9f46a3 Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Fri, 12 Apr 2024 12:52:08 +0000
Subject: [PATCH 124/156] Scripts:

- Updated license headers in update_license_headers.py script
---
 scripts/update_license_headers.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/scripts/update_license_headers.py b/scripts/update_license_headers.py
index 45baf39e0..62bfffd0e 100644
--- a/scripts/update_license_headers.py
+++ b/scripts/update_license_headers.py
@@ -27,8 +27,9 @@ FILE_PATH_SKIPPED    = 'out-skipped.txt'
 FILE_PATH_NO_HEADER  = 'out-no-header.txt'
 FILE_PATH_UPDATED    = 'out-updated.txt'
 
-RE_OLD_COPYRIGHT  = re.compile(r'Copyright\ 2021\-2023\ H2020\ TeraFlow\ \(https\:\/\/www\.teraflow\-h2020\.eu\/\)')
-STR_NEW_COPYRIGHT = 'Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)'
+#RE_OLD_COPYRIGHT  = re.compile(r'Copyright\ 2021\-2023\ H2020\ TeraFlow\ \(https\:\/\/www\.teraflow\-h2020\.eu\/\)')
+RE_OLD_COPYRIGHT  = re.compile(r'Copyright\ 2022\-2023\ ETSI\ TeraFlowSDN\ \-\ TFS\ OSG\ \(https\:\/\/tfs\.etsi\.org\/\)')
+STR_NEW_COPYRIGHT = 'Copyright 2022-2024 ETSI TeraFlowSDN - TFS OSG/SDG (https://tfs.etsi.org/)'
 
 def skip_file(file_path : str) -> bool:
     if file_path.endswith('.pyc'): return True
-- 
GitLab


From 1e84d8c0d014103faf42c6c5226ca249c42356db Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Mon, 15 Apr 2024 17:16:58 +0000
Subject: [PATCH 125/156] Scripts:

- Updated license headers in update_license_headers.py script
---
 scripts/update_license_headers.py | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/scripts/update_license_headers.py b/scripts/update_license_headers.py
index 62bfffd0e..88f511387 100644
--- a/scripts/update_license_headers.py
+++ b/scripts/update_license_headers.py
@@ -27,8 +27,10 @@ FILE_PATH_SKIPPED    = 'out-skipped.txt'
 FILE_PATH_NO_HEADER  = 'out-no-header.txt'
 FILE_PATH_UPDATED    = 'out-updated.txt'
 
-#RE_OLD_COPYRIGHT  = re.compile(r'Copyright\ 2021\-2023\ H2020\ TeraFlow\ \(https\:\/\/www\.teraflow\-h2020\.eu\/\)')
-RE_OLD_COPYRIGHT  = re.compile(r'Copyright\ 2022\-2023\ ETSI\ TeraFlowSDN\ \-\ TFS\ OSG\ \(https\:\/\/tfs\.etsi\.org\/\)')
+RE_OLD_COPYRIGHTS = [
+    re.compile(r'Copyright\ 2021\-2023\ H2020\ TeraFlow\ \(https\:\/\/www\.teraflow\-h2020\.eu\/\)'),
+    re.compile(r'Copyright\ 2022\-2023\ ETSI\ TeraFlowSDN\ \-\ TFS\ OSG\ \(https\:\/\/tfs\.etsi\.org\/\)'),
+]
 STR_NEW_COPYRIGHT = 'Copyright 2022-2024 ETSI TeraFlowSDN - TFS OSG/SDG (https://tfs.etsi.org/)'
 
 def skip_file(file_path : str) -> bool:
@@ -68,8 +70,10 @@ def skip_file(file_path : str) -> bool:
     return False
 
 def process_line(line_in : str) -> str:
-    line_out = RE_OLD_COPYRIGHT.sub(STR_NEW_COPYRIGHT, line_in)
-    if line_out != line_in: return line_out
+    for re_old_copyright in RE_OLD_COPYRIGHTS:
+        if re_old_copyright.match(line_in) is None: continue
+        line_out = re_old_copyright.sub(STR_NEW_COPYRIGHT, line_in)
+        return line_out
     return line_in
 
 def process_file(
-- 
GitLab


From 0989a478c64c7dab0399988efc72cd7439f83612 Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Mon, 15 Apr 2024 17:19:02 +0000
Subject: [PATCH 126/156] Scripts:

- Updated file mode update in update_license_headers.py script
---
 scripts/update_license_headers.py | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/scripts/update_license_headers.py b/scripts/update_license_headers.py
index 88f511387..62a166f17 100644
--- a/scripts/update_license_headers.py
+++ b/scripts/update_license_headers.py
@@ -87,6 +87,7 @@ def process_file(
 
     temp_file_path = file_path + '.temp'
     replaced = False
+    file_mode = os.stat(file_path)
     try:
         with open(file_path, encoding='UTF-8') as source:
             with open(temp_file_path, 'w', encoding='UTF-8') as target:
@@ -103,6 +104,7 @@ def process_file(
         file_updated.write(file_path + '\n')
 
     os.rename(temp_file_path, file_path)
+    os.chmod(file_path, file_mode)
 
 def main() -> int:
     with open(FILE_PATH_NO_HEADER, 'w', encoding='UTF-8') as file_no_header:
-- 
GitLab


From c2f1fdbb605db46dd2ebfc646efe1d189b13887b Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Mon, 15 Apr 2024 17:20:14 +0000
Subject: [PATCH 127/156] Scripts:

- Updated file mode update in update_license_headers.py script
---
 scripts/update_license_headers.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/update_license_headers.py b/scripts/update_license_headers.py
index 62a166f17..da839ba0a 100644
--- a/scripts/update_license_headers.py
+++ b/scripts/update_license_headers.py
@@ -87,7 +87,7 @@ def process_file(
 
     temp_file_path = file_path + '.temp'
     replaced = False
-    file_mode = os.stat(file_path)
+    file_stat = os.stat(file_path)
     try:
         with open(file_path, encoding='UTF-8') as source:
             with open(temp_file_path, 'w', encoding='UTF-8') as target:
@@ -104,7 +104,7 @@ def process_file(
         file_updated.write(file_path + '\n')
 
     os.rename(temp_file_path, file_path)
-    os.chmod(file_path, file_mode)
+    os.chmod(file_path, file_stat.st_mode)
 
 def main() -> int:
     with open(FILE_PATH_NO_HEADER, 'w', encoding='UTF-8') as file_no_header:
-- 
GitLab


From d68f6218de82a05df7d82cae6d61a59579b71bc4 Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Tue, 16 Apr 2024 10:37:14 +0000
Subject: [PATCH 128/156] Scripts - update_license_headers.py:

- Added missing skip patterns
- Added multiple old copyright lines
- Added logic to keep new-line chars
- Not finished
---
 scripts/update_license_headers.py | 33 ++++++++++++++++++++++++-------
 1 file changed, 26 insertions(+), 7 deletions(-)

diff --git a/scripts/update_license_headers.py b/scripts/update_license_headers.py
index da839ba0a..562352faa 100644
--- a/scripts/update_license_headers.py
+++ b/scripts/update_license_headers.py
@@ -28,12 +28,18 @@ FILE_PATH_NO_HEADER  = 'out-no-header.txt'
 FILE_PATH_UPDATED    = 'out-updated.txt'
 
 RE_OLD_COPYRIGHTS = [
-    re.compile(r'Copyright\ 2021\-2023\ H2020\ TeraFlow\ \(https\:\/\/www\.teraflow\-h2020\.eu\/\)'),
-    re.compile(r'Copyright\ 2022\-2023\ ETSI\ TeraFlowSDN\ \-\ TFS\ OSG\ \(https\:\/\/tfs\.etsi\.org\/\)'),
+    r'Copyright\ 2021\-2023\ H2020\ TeraFlow\ \(https\:\/\/www\.teraflow\-h2020\.eu\/\)',
+    r'Copyright\ 2022\-2023\ ETSI\ TeraFlowSDN\ \-\ TFS\ OSG\ \(https\:\/\/tfs\.etsi\.org\/\)',
 ]
+RE_OLD_COPYRIGHTS = [
+    (re.compile(re_old_copyright), re.compile(r'.*{}.*'.format(re_old_copyright)))
+    for re_old_copyright in RE_OLD_COPYRIGHTS
+]
+
 STR_NEW_COPYRIGHT = 'Copyright 2022-2024 ETSI TeraFlowSDN - TFS OSG/SDG (https://tfs.etsi.org/)'
 
 def skip_file(file_path : str) -> bool:
+    if os.path.islink(file_path): return True
     if file_path.endswith('.pyc'): return True
     if file_path.endswith('_pb2_grpc.py'): return True
     if file_path.endswith('_pb2.py'): return True
@@ -43,10 +49,14 @@ def skip_file(file_path : str) -> bool:
     if file_path.endswith('.zip'): return True
     if file_path.endswith('.zip'): return True
     if file_path.endswith('.jar'): return True
+    if file_path.endswith('.onnx'): return True
     if file_path.endswith('/tstat'): return True
     if file_path.endswith('/.gitignore'): return True
     if file_path.endswith('/.gitkeep'): return True
     if file_path.endswith('/coverage/.coverage'): return True
+    if file_path.endswith('/grpc/grpcurl/grpcurl'): return True
+    if file_path.endswith('/probe/probe-tfs/target/x86_64-unknown-linux-musl/release/tfsagent'): return True
+    if file_path.endswith('/probe/probe-tfs/target/x86_64-unknown-linux-musl/release/tfsping'): return True
     if file_path.startswith('./netconf_openconfig/'): return True
     if file_path.startswith('./tmp/'): return True
     if '/manifests/cttc-ols/' in file_path: return True
@@ -70,9 +80,16 @@ def skip_file(file_path : str) -> bool:
     return False
 
 def process_line(line_in : str) -> str:
-    for re_old_copyright in RE_OLD_COPYRIGHTS:
-        if re_old_copyright.match(line_in) is None: continue
-        line_out = re_old_copyright.sub(STR_NEW_COPYRIGHT, line_in)
+    print('line_in', line_in)
+    for re_match, re_sub in RE_OLD_COPYRIGHTS:
+        print('re_match', re_match)
+        print('re_sub', re_sub)
+        match = re_match.match(line_in)
+        print('match', match)
+        if match is None: continue
+        print('matched!')
+        line_out = re_sub.sub(STR_NEW_COPYRIGHT, line_in)
+        print('line_out', line_out)
         return line_out
     return line_in
 
@@ -89,8 +106,8 @@ def process_file(
     replaced = False
     file_stat = os.stat(file_path)
     try:
-        with open(file_path, encoding='UTF-8') as source:
-            with open(temp_file_path, 'w', encoding='UTF-8') as target:
+        with open(file_path, encoding='UTF-8', newline='') as source:
+            with open(temp_file_path, 'w', encoding='UTF-8', newline='') as target:
                 for line_in in source:
                     line_out = process_line(line_in)
                     target.write(line_out)
@@ -106,6 +123,8 @@ def process_file(
     os.rename(temp_file_path, file_path)
     os.chmod(file_path, file_stat.st_mode)
 
+    raise Exception()
+
 def main() -> int:
     with open(FILE_PATH_NO_HEADER, 'w', encoding='UTF-8') as file_no_header:
         with open(FILE_PATH_SKIPPED, 'w', encoding='UTF-8') as file_skipped:
-- 
GitLab


From d70cdd05ffacfba65c5a97c23084a419a6101cb8 Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Tue, 16 Apr 2024 10:41:11 +0000
Subject: [PATCH 129/156] Scripts - update_license_headers.py:

- Corrected regular experssions
- Not finished
---
 scripts/update_license_headers.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/scripts/update_license_headers.py b/scripts/update_license_headers.py
index 562352faa..ee9f1ef9a 100644
--- a/scripts/update_license_headers.py
+++ b/scripts/update_license_headers.py
@@ -32,7 +32,7 @@ RE_OLD_COPYRIGHTS = [
     r'Copyright\ 2022\-2023\ ETSI\ TeraFlowSDN\ \-\ TFS\ OSG\ \(https\:\/\/tfs\.etsi\.org\/\)',
 ]
 RE_OLD_COPYRIGHTS = [
-    (re.compile(re_old_copyright), re.compile(r'.*{}.*'.format(re_old_copyright)))
+    (re.compile(r'.*{}.*'.format(re_old_copyright)), re.compile(re_old_copyright))
     for re_old_copyright in RE_OLD_COPYRIGHTS
 ]
 
-- 
GitLab


From 364480484b6e66dfa804e6190a2fc1c2f0ca65da Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Tue, 16 Apr 2024 10:45:23 +0000
Subject: [PATCH 130/156] Scripts - update_license_headers.py:

- Code cleanup
- Not finished
---
 scripts/update_license_headers.py | 11 +----------
 1 file changed, 1 insertion(+), 10 deletions(-)

diff --git a/scripts/update_license_headers.py b/scripts/update_license_headers.py
index ee9f1ef9a..eda54099a 100644
--- a/scripts/update_license_headers.py
+++ b/scripts/update_license_headers.py
@@ -27,6 +27,7 @@ FILE_PATH_SKIPPED    = 'out-skipped.txt'
 FILE_PATH_NO_HEADER  = 'out-no-header.txt'
 FILE_PATH_UPDATED    = 'out-updated.txt'
 
+STR_NEW_COPYRIGHT = 'Copyright 2022-2024 ETSI TeraFlowSDN - TFS OSG/SDG (https://tfs.etsi.org/)'
 RE_OLD_COPYRIGHTS = [
     r'Copyright\ 2021\-2023\ H2020\ TeraFlow\ \(https\:\/\/www\.teraflow\-h2020\.eu\/\)',
     r'Copyright\ 2022\-2023\ ETSI\ TeraFlowSDN\ \-\ TFS\ OSG\ \(https\:\/\/tfs\.etsi\.org\/\)',
@@ -36,8 +37,6 @@ RE_OLD_COPYRIGHTS = [
     for re_old_copyright in RE_OLD_COPYRIGHTS
 ]
 
-STR_NEW_COPYRIGHT = 'Copyright 2022-2024 ETSI TeraFlowSDN - TFS OSG/SDG (https://tfs.etsi.org/)'
-
 def skip_file(file_path : str) -> bool:
     if os.path.islink(file_path): return True
     if file_path.endswith('.pyc'): return True
@@ -80,16 +79,10 @@ def skip_file(file_path : str) -> bool:
     return False
 
 def process_line(line_in : str) -> str:
-    print('line_in', line_in)
     for re_match, re_sub in RE_OLD_COPYRIGHTS:
-        print('re_match', re_match)
-        print('re_sub', re_sub)
         match = re_match.match(line_in)
-        print('match', match)
         if match is None: continue
-        print('matched!')
         line_out = re_sub.sub(STR_NEW_COPYRIGHT, line_in)
-        print('line_out', line_out)
         return line_out
     return line_in
 
@@ -123,8 +116,6 @@ def process_file(
     os.rename(temp_file_path, file_path)
     os.chmod(file_path, file_stat.st_mode)
 
-    raise Exception()
-
 def main() -> int:
     with open(FILE_PATH_NO_HEADER, 'w', encoding='UTF-8') as file_no_header:
         with open(FILE_PATH_SKIPPED, 'w', encoding='UTF-8') as file_skipped:
-- 
GitLab


From d5c59f9de2b2f344e5f5cf85f4d50dd0dbfaa2b0 Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Tue, 16 Apr 2024 10:52:27 +0000
Subject: [PATCH 131/156] Scripts - update_license_headers.py:

- Updated copyright line
---
 scripts/update_license_headers.py | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/scripts/update_license_headers.py b/scripts/update_license_headers.py
index eda54099a..ded746483 100644
--- a/scripts/update_license_headers.py
+++ b/scripts/update_license_headers.py
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI TeraFlowSDN - TFS OSG/SDG (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -27,7 +27,8 @@ FILE_PATH_SKIPPED    = 'out-skipped.txt'
 FILE_PATH_NO_HEADER  = 'out-no-header.txt'
 FILE_PATH_UPDATED    = 'out-updated.txt'
 
-STR_NEW_COPYRIGHT = 'Copyright 2022-2024 ETSI TeraFlowSDN - TFS OSG/SDG (https://tfs.etsi.org/)'
+STR_NEW_COPYRIGHT = 'Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)'
+
 RE_OLD_COPYRIGHTS = [
     r'Copyright\ 2021\-2023\ H2020\ TeraFlow\ \(https\:\/\/www\.teraflow\-h2020\.eu\/\)',
     r'Copyright\ 2022\-2023\ ETSI\ TeraFlowSDN\ \-\ TFS\ OSG\ \(https\:\/\/tfs\.etsi\.org\/\)',
-- 
GitLab


From 6c4f8a97117ae28c71ffef36c4d43714202b2f97 Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Tue, 16 Apr 2024 15:00:18 +0000
Subject: [PATCH 132/156] Scripts - add_license_header_to_files.sh:

- Updated copyright line
- Updated ignore filters
---
 scripts/add_license_header_to_files.sh | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/scripts/add_license_header_to_files.sh b/scripts/add_license_header_to_files.sh
index 4c11fc316..d2d6d22de 100755
--- a/scripts/add_license_header_to_files.sh
+++ b/scripts/add_license_header_to_files.sh
@@ -16,7 +16,7 @@
 
 docker pull ghcr.io/google/addlicense:latest
 docker run -it -v ${PWD}:/src ghcr.io/google/addlicense \
-    -l apache -c "H2020 TeraFlow (https://www.teraflow-h2020.eu/)" -y 2021-2023 \
+    -l apache -c "ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)" -y 2022-2024 \
     -ignore "data/*" -ignore "data/**" -ignore "tmp/*" -ignore "tmp/**" -ignore "manifests/cttc-ols/*" \
     -ignore "coverage/*" -ignore "coverage/**" -ignore ".vscode/*" -ignore ".vscode/**" \
     -ignore ".git/*" -ignore ".git/**" -ignore "proto/uml/*" -ignore "proto/uml/**" \
@@ -25,6 +25,21 @@ docker run -it -v ${PWD}:/src ghcr.io/google/addlicense \
     -ignore "src/.pytest_cache/*" -ignore "src/.pytest_cache/**" -ignore ".pytest_cache/*" -ignore ".pytest_cache/**" \
     -ignore "src/**/target/generated-sources/grpc/*" -ignore "src/**/target/generated-sources/grpc/**" \
     -ignore "src/**/*_pb2.py" -ignore "src/**/*_pb2_grpc.py" \
+    -ignore "src/device/service/drivers/gnmi_openconfig/gnmi/*.proto" \
     -ignore "src/device/service/drivers/openconfig/templates/**/*.xml" \
+    -ignore "src/device/service/drivers/openconfig/templates/ACL/openconfig_acl.py" \
+    -ignore "src/device/service/drivers/openconfig/templates/VPN/openconfig_interfaces.py" \
+    -ignore "src/device/service/drivers/openconfig/templates/VPN/openconfig_network_instance.py" \
+    -ignore "src/device/service/drivers/openconfig/templates/VPN/openconfig_routing_policy.py" \
+    -ignore "src/nbi/service/rest_server/nbi_plugins/ietf_network/bindings/**/*.py" \
+    -ignore "src/policy/target/kubernetes/kubernetes.yml" \
+    -ignore "src/ztp/target/kubernetes/kubernetes.yml" \
     -ignore "src/**/.mvn/*" -ignore "src/**/.mvn/**" \
+    -ignore "hackfest/**/*_pb2.py" -ignore "hackfest/**/*_pb2_grpc.py" \
+    -ignore "hackfest/netconf/**/binding_*.py" -ignore "hackfest/netconf/**/binding_*.py" \
+    -ignore "hackfest/yang/**/binding_*.py" -ignore "hackfest/yang/**/binding_*.py" \
+    -ignore "hackfest/netconf-oc/openconfig/*" -ignore "hackfest/netconf-oc/openconfig/**" \
+    -ignore "hackfest/restconf/connectionserver/*" -ignore "hackfest/restconf/connectionserver/**" \
+    -ignore "hackfest/restconf/topologyserver/*" -ignore "hackfest/restconf/topologyserver/**" \
+    -ignore "hackfest/tapi/server/*" -ignore "hackfest/tapi/server/**" \
     *
-- 
GitLab


From ee179f5fba0e1ead67513a5787ec8da21928258d Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Tue, 16 Apr 2024 16:43:08 +0000
Subject: [PATCH 133/156] Added missing file headers

---
 .../data/sql_hash_join_full_scan_tests.sql       | 14 ++++++++++++++
 .../ofc24/node-agents-config/platform_r1.xml     | 16 ++++++++++++++++
 .../ofc24/node-agents-config/platform_r2.xml     | 16 ++++++++++++++++
 .../ofc24/node-agents-config/platform_t1.xml     | 16 ++++++++++++++++
 .../ofc24/node-agents-config/platform_t2.xml     | 16 ++++++++++++++++
 .../ssl_not_working/mock-mw-sdn-ctrl.yaml        | 14 ++++++++++++++
 src/tests/tools/mock_mw_sdn_ctrl/test_mw.py      | 14 ++++++++++++++
 7 files changed, 106 insertions(+)

diff --git a/src/context/data/sql_hash_join_full_scan_tests.sql b/src/context/data/sql_hash_join_full_scan_tests.sql
index ebead1be6..29ac593e2 100644
--- a/src/context/data/sql_hash_join_full_scan_tests.sql
+++ b/src/context/data/sql_hash_join_full_scan_tests.sql
@@ -1,3 +1,17 @@
+-- Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+--
+-- Licensed under the Apache License, Version 2.0 (the "License");
+-- you may not use this file except in compliance with the License.
+-- You may obtain a copy of the License at
+--
+--     http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+
 -- When inserting config rules, for instance related to device
 --   If we insert few rules (3~4 rows), does a lookup join with more rows does hash join which is less performant...
 --   To be investigated...
diff --git a/src/tests/ofc24/node-agents-config/platform_r1.xml b/src/tests/ofc24/node-agents-config/platform_r1.xml
index 625d7048a..b9412d1bd 100644
--- a/src/tests/ofc24/node-agents-config/platform_r1.xml
+++ b/src/tests/ofc24/node-agents-config/platform_r1.xml
@@ -1,3 +1,19 @@
+
+
 
     
         
diff --git a/src/tests/ofc24/node-agents-config/platform_r2.xml b/src/tests/ofc24/node-agents-config/platform_r2.xml
index 65f7ee458..317203483 100644
--- a/src/tests/ofc24/node-agents-config/platform_r2.xml
+++ b/src/tests/ofc24/node-agents-config/platform_r2.xml
@@ -1,3 +1,19 @@
+
+
 
     
         
diff --git a/src/tests/ofc24/node-agents-config/platform_t1.xml b/src/tests/ofc24/node-agents-config/platform_t1.xml
index 09f316211..2ef7a1a4e 100644
--- a/src/tests/ofc24/node-agents-config/platform_t1.xml
+++ b/src/tests/ofc24/node-agents-config/platform_t1.xml
@@ -1,3 +1,19 @@
+
+
 
 	
 		
diff --git a/src/tests/ofc24/node-agents-config/platform_t2.xml b/src/tests/ofc24/node-agents-config/platform_t2.xml
index 03c643c91..f071badaa 100644
--- a/src/tests/ofc24/node-agents-config/platform_t2.xml
+++ b/src/tests/ofc24/node-agents-config/platform_t2.xml
@@ -1,3 +1,19 @@
+
+
 
 	
 		
diff --git a/src/tests/tools/mock_mw_sdn_ctrl/ssl_not_working/mock-mw-sdn-ctrl.yaml b/src/tests/tools/mock_mw_sdn_ctrl/ssl_not_working/mock-mw-sdn-ctrl.yaml
index 05b89f949..bccbfc987 100644
--- a/src/tests/tools/mock_mw_sdn_ctrl/ssl_not_working/mock-mw-sdn-ctrl.yaml
+++ b/src/tests/tools/mock_mw_sdn_ctrl/ssl_not_working/mock-mw-sdn-ctrl.yaml
@@ -1,3 +1,17 @@
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 kind: Namespace
 apiVersion: v1
 metadata:
diff --git a/src/tests/tools/mock_mw_sdn_ctrl/test_mw.py b/src/tests/tools/mock_mw_sdn_ctrl/test_mw.py
index 0329d30ad..3165662b1 100644
--- a/src/tests/tools/mock_mw_sdn_ctrl/test_mw.py
+++ b/src/tests/tools/mock_mw_sdn_ctrl/test_mw.py
@@ -1,3 +1,17 @@
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 import json, logging, requests
 from requests.auth import HTTPBasicAuth
 from typing import Optional
-- 
GitLab


From c29d73cd3d5f6538c9ae5250fc7e8fe3b2366782 Mon Sep 17 00:00:00 2001
From: gifrerenom 
Date: Thu, 18 Apr 2024 12:51:05 +0000
Subject: [PATCH 134/156] Updated copyright in file headers

---
 .gitlab-ci.yml                                                | 2 +-
 clean_testing_environment.sh                                  | 2 +-
 common_requirements.in                                        | 2 +-
 coverage/.coveragerc.template                                 | 2 +-
 data/perf/old/MW/generate.sh                                  | 2 +-
 data/perf/old/MW/generate_plot.py                             | 2 +-
 data/perf/old/OpenConfig/generate.sh                          | 2 +-
 data/perf/old/OpenConfig/generate_plot.py                     | 2 +-
 data/perf/old/TE/te-cdf.py                                    | 2 +-
 data/perf/old/XR/generate.sh                                  | 2 +-
 data/perf/old/XR/generate_plot.py                             | 2 +-
 data/perf/old/emulated/generate.sh                            | 2 +-
 data/perf/old/emulated/generate_plot.py                       | 2 +-
 deploy/all.sh                                                 | 2 +-
 deploy/component.sh                                           | 2 +-
 deploy/crdb.sh                                                | 2 +-
 deploy/expose_dashboard.sh                                    | 2 +-
 deploy/mock_blockchain.sh                                     | 2 +-
 deploy/nats.sh                                                | 2 +-
 deploy/qdb.sh                                                 | 2 +-
 deploy/show.sh                                                | 2 +-
 deploy/tfs.sh                                                 | 2 +-
 hackfest/containerlab/tfs-scenario.clab.yml                   | 2 +-
 hackfest/gnmi/srlinux.clab.yml                                | 2 +-
 hackfest/grpc/connection.proto                                | 2 +-
 hackfest/grpc/connection/create.py                            | 2 +-
 hackfest/grpc/connection/list.py                              | 2 +-
 hackfest/grpc/connectionService.proto                         | 2 +-
 hackfest/grpc/connectionService/connectionService_client.py   | 2 +-
 hackfest/grpc/connectionService/connectionService_server.py   | 2 +-
 hackfest/grpc/connectionServiceWithNotif.proto                | 2 +-
 .../connectionServiceWithNotif_client.py                      | 2 +-
 .../connectionServiceWithNotif_server.py                      | 2 +-
 hackfest/grpc/topologyService.proto                           | 2 +-
 hackfest/grpc/topologyService/topologyService_client.py       | 2 +-
 hackfest/grpc/topologyService/topologyService_server.py       | 2 +-
 hackfest/kafka/pub.py                                         | 2 +-
 hackfest/kafka/sub.py                                         | 2 +-
 hackfest/mock_osm/MockOSM.py                                  | 2 +-
 hackfest/mock_osm/__init__.py                                 | 2 +-
 hackfest/mock_osm/__main__.py                                 | 2 +-
 hackfest/netconf-oc/device_definition.py                      | 2 +-
 hackfest/netconf-oc/interfaces.xml                            | 2 +-
 hackfest/netconf-oc/platform.xml                              | 2 +-
 hackfest/netconf-oc/server_openconfig.py                      | 2 +-
 hackfest/netconf/client_topology.py                           | 2 +-
 hackfest/netconf/connection/client_connection.py              | 2 +-
 hackfest/netconf/connection/server_topology_connection.py     | 2 +-
 hackfest/netconf/connection/topology.xml                      | 2 +-
 hackfest/netconf/server_topology.py                           | 2 +-
 hackfest/netconf/topology.xml                                 | 2 +-
 hackfest/onos_api/onos_flows.py                               | 2 +-
 hackfest/onos_api/onos_topology.py                            | 2 +-
 hackfest/openconfig/generated.go                              | 2 +-
 hackfest/p4/__init__.py                                       | 2 +-
 hackfest/p4/deploy_specs.sh                                   | 2 +-
 hackfest/p4/run_test_01_bootstrap.sh                          | 2 +-
 hackfest/p4/run_test_02_create_service.sh                     | 2 +-
 hackfest/p4/run_test_03_delete_service.sh                     | 2 +-
 hackfest/p4/run_test_04_cleanup.sh                            | 2 +-
 hackfest/p4/setup.sh                                          | 2 +-
 hackfest/p4/tests/BuildDescriptors.py                         | 2 +-
 hackfest/p4/tests/LoadDescriptors.py                          | 2 +-
 hackfest/p4/tests/Objects.py                                  | 2 +-
 hackfest/p4/tests/__init__.py                                 | 2 +-
 hackfest/p4/tests/test_functional_bootstrap.py                | 2 +-
 hackfest/p4/tests/test_functional_cleanup.py                  | 2 +-
 hackfest/p4/tests/test_functional_create_service.py           | 2 +-
 hackfest/p4/tests/test_functional_delete_service.py           | 2 +-
 hackfest/restconf/connection.yaml                             | 2 +-
 hackfest/restconf/connectionserver/swagger_server/database.py | 2 +-
 .../connectionserver/swagger_server/swagger/swagger.yaml      | 2 +-
 hackfest/restconf/topology.yaml                               | 2 +-
 .../topologyserver/swagger_server/swagger/swagger.yaml        | 2 +-
 hackfest/tapi/client/tapi-client.sh                           | 2 +-
 hackfest/tapi/server/run.sh                                   | 2 +-
 hackfest/tapi/server/tapi_server/__main__.py                  | 2 +-
 hackfest/tapi/server/tapi_server/database.py                  | 2 +-
 hackfest/tapi/server/tapi_server/swagger/swagger.yaml         | 2 +-
 hackfest/tapi/tapi-connectivity.yaml                          | 2 +-
 hackfest/tapi/tapi_app/requirements.sh                        | 2 +-
 hackfest/tapi/tapi_app/tapi_app.py                            | 2 +-
 hackfest/yang/connection/connection.py                        | 2 +-
 hackfest/yang/topology.py                                     | 2 +-
 hackfest/yang/topology.xml                                    | 2 +-
 install_requirements.sh                                       | 2 +-
 manifests/.gitlab-ci.yml                                      | 2 +-
 manifests/bgpls_speakerservice.yaml                           | 2 +-
 manifests/cachingservice.yaml                                 | 2 +-
 manifests/cockroachdb/single-node.yaml                        | 2 +-
 manifests/contextservice.yaml                                 | 2 +-
 manifests/dbscanservingservice.yaml                           | 2 +-
 manifests/deviceservice.yaml                                  | 2 +-
 manifests/dltservice.yaml                                     | 2 +-
 manifests/e2e_orchestratorservice.yaml                        | 2 +-
 manifests/forecasterservice.yaml                              | 2 +-
 manifests/interdomainservice.yaml                             | 2 +-
 manifests/l3_attackmitigatorservice.yaml                      | 2 +-
 manifests/l3_centralizedattackdetectorservice.yaml            | 2 +-
 manifests/l3_distributedattackdetectorservice.yaml            | 2 +-
 manifests/load_generatorservice.yaml                          | 2 +-
 manifests/mock_blockchain.yaml                                | 2 +-
 manifests/monitoringservice.yaml                              | 2 +-
 manifests/nbiservice.yaml                                     | 2 +-
 manifests/nginx_ingress_http.yaml                             | 2 +-
 manifests/opticalattackdetectorservice.yaml                   | 2 +-
 manifests/opticalattackmanagerservice.yaml                    | 2 +-
 manifests/opticalattackmitigatorservice.yaml                  | 2 +-
 manifests/opticalcontrollerservice.yaml                       | 2 +-
 manifests/pathcompservice.yaml                                | 2 +-
 manifests/policyservice.yaml                                  | 2 +-
 manifests/prometheus.yaml                                     | 2 +-
 manifests/questdb/manifest.yaml                               | 2 +-
 manifests/servicemonitors.yaml                                | 2 +-
 manifests/serviceservice.yaml                                 | 2 +-
 manifests/sliceservice.yaml                                   | 2 +-
 manifests/teservice.yaml                                      | 2 +-
 manifests/webuiservice.yaml                                   | 2 +-
 manifests/ztpservice.yaml                                     | 2 +-
 my_deploy.sh                                                  | 2 +-
 proto/acl.proto                                               | 2 +-
 proto/attack_mitigator.proto                                  | 2 +-
 proto/bgpls.proto                                             | 2 +-
 proto/context.proto                                           | 2 +-
 proto/context_policy.proto                                    | 2 +-
 proto/dbscanserving.proto                                     | 2 +-
 proto/device.proto                                            | 2 +-
 proto/distributed_cybersecurity.proto                         | 2 +-
 proto/dlt_connector.proto                                     | 2 +-
 proto/dlt_gateway.proto                                       | 2 +-
 proto/e2eorchestrator.proto                                   | 2 +-
 proto/forecaster.proto                                        | 2 +-
 proto/generate_code_erlang.sh                                 | 2 +-
 proto/generate_code_java.sh                                   | 2 +-
 proto/generate_code_python.sh                                 | 4 ++--
 proto/generate_uml.sh                                         | 2 +-
 proto/health.proto                                            | 2 +-
 proto/interdomain.proto                                       | 2 +-
 proto/kpi_sample_types.proto                                  | 2 +-
 proto/l3_attackmitigator.proto                                | 2 +-
 proto/l3_centralizedattackdetector.proto                      | 2 +-
 proto/load_generator.proto                                    | 2 +-
 proto/monitoring.proto                                        | 2 +-
 proto/nbi.proto                                               | 2 +-
 proto/openconfig_device.proto                                 | 2 +-
 proto/optical_attack_detector.proto                           | 2 +-
 proto/optical_attack_mitigator.proto                          | 2 +-
 proto/pathcomp.proto                                          | 2 +-
 proto/policy.proto                                            | 2 +-
 proto/policy_action.proto                                     | 2 +-
 proto/policy_condition.proto                                  | 2 +-
 proto/service.proto                                           | 2 +-
 proto/slice.proto                                             | 2 +-
 proto/src/erlang/rebar.config                                 | 2 +-
 proto/src/erlang/src/tfpb.app.src                             | 2 +-
 proto/src/python/__init__.py                                  | 2 +-
 proto/src/python/asyncio/__init__.py                          | 2 +-
 proto/te.proto                                                | 2 +-
 proto/ztp.proto                                               | 2 +-
 scripts/add_license_header_to_files.sh                        | 2 +-
 scripts/build_run_report_tests_locally.sh                     | 2 +-
 scripts/cockroachdb_client.sh                                 | 2 +-
 scripts/create_component.sh                                   | 2 +-
 scripts/dump_logs.sh                                          | 2 +-
 scripts/expose_ingress_grpc.sh                                | 2 +-
 scripts/old/configure_dashboards_in_kubernetes.sh             | 2 +-
 scripts/old/deploy_in_kubernetes.sh                           | 2 +-
 scripts/old/open_dashboard.sh                                 | 2 +-
 scripts/old/open_webui.sh                                     | 2 +-
 scripts/report_coverage_all.sh                                | 2 +-
 scripts/report_coverage_common.sh                             | 2 +-
 scripts/report_coverage_context.sh                            | 2 +-
 scripts/report_coverage_device.sh                             | 2 +-
 scripts/report_coverage_l3_attackmitigator.sh                 | 2 +-
 scripts/report_coverage_l3_centralizedattackdetector.sh       | 2 +-
 scripts/report_coverage_l3_distributedattackdetector.sh       | 2 +-
 scripts/report_coverage_nbi.sh                                | 2 +-
 scripts/report_coverage_pathcomp.sh                           | 2 +-
 scripts/report_coverage_service.sh                            | 2 +-
 scripts/report_coverage_slice.sh                              | 2 +-
 scripts/run_tests_docker.sh                                   | 2 +-
 scripts/run_tests_locally-context.sh                          | 2 +-
 scripts/run_tests_locally-device-all.sh                       | 2 +-
 scripts/run_tests_locally-device-emulated.sh                  | 2 +-
 scripts/run_tests_locally-device-ietf-actn.sh                 | 2 +-
 scripts/run_tests_locally-device-microwave.sh                 | 2 +-
 scripts/run_tests_locally-device-openconfig.sh                | 2 +-
 scripts/run_tests_locally-device-p4.sh                        | 2 +-
 scripts/run_tests_locally-device-tapi.sh                      | 2 +-
 scripts/run_tests_locally-forecaster.sh                       | 2 +-
 scripts/run_tests_locally-interdomain-compute-domains.sh      | 2 +-
 scripts/run_tests_locally-interdomain-topology-abstractor.sh  | 2 +-
 scripts/run_tests_locally-nbi-all.sh                          | 2 +-
 scripts/run_tests_locally-nbi-etsi-bwm.sh                     | 2 +-
 scripts/run_tests_locally-nbi-ietf-l2vpn.sh                   | 2 +-
 scripts/run_tests_locally-nbi-ietf-l3vpn.sh                   | 2 +-
 scripts/run_tests_locally-nbi-ietf-network.sh                 | 2 +-
 scripts/run_tests_locally-nbi-tfs-api.sh                      | 2 +-
 scripts/run_tests_locally-optical-attack-detector.sh          | 2 +-
 scripts/run_tests_locally-pathcomp-frontend.sh                | 2 +-
 scripts/run_tests_locally-service.sh                          | 2 +-
 scripts/run_tests_locally-slice.sh                            | 2 +-
 scripts/run_tests_locally.sh                                  | 2 +-
 scripts/show_logs_automation.sh                               | 2 +-
 scripts/show_logs_bgp.sh                                      | 2 +-
 scripts/show_logs_context.sh                                  | 2 +-
 scripts/show_logs_device.sh                                   | 2 +-
 scripts/show_logs_dlt_connector.sh                            | 2 +-
 scripts/show_logs_dlt_gateway.sh                              | 2 +-
 scripts/show_logs_e2eorchestrator.sh                          | 2 +-
 scripts/show_logs_forecaster.sh                               | 2 +-
 scripts/show_logs_l3-attack-mitigator.sh                      | 2 +-
 scripts/show_logs_l3-centralized-attack-detector.sh           | 2 +-
 scripts/show_logs_load_generator.sh                           | 2 +-
 scripts/show_logs_monitoring.sh                               | 2 +-
 scripts/show_logs_nbi.sh                                      | 2 +-
 scripts/show_logs_opticalcontroller.sh                        | 2 +-
 scripts/show_logs_pathcomp_backend.sh                         | 2 +-
 scripts/show_logs_pathcomp_frontend.sh                        | 2 +-
 scripts/show_logs_service.sh                                  | 2 +-
 scripts/show_logs_slice.sh                                    | 2 +-
 scripts/show_logs_webui.sh                                    | 2 +-
 scripts/start_webui_dev_mode.sh                               | 2 +-
 scripts/wait_context_nats.sh                                  | 2 +-
 src/__init__.py                                               | 2 +-
 src/bgpls_speaker/.gitlab-ci.yml                              | 2 +-
 src/bgpls_speaker/Config.py                                   | 2 +-
 src/bgpls_speaker/Dockerfile                                  | 2 +-
 src/bgpls_speaker/__init__.py                                 | 2 +-
 src/bgpls_speaker/client/BgplsClient.py                       | 2 +-
 src/bgpls_speaker/client/__init__.py                          | 2 +-
 src/bgpls_speaker/quick_deploy.sh                             | 2 +-
 src/bgpls_speaker/requirements.in                             | 2 +-
 src/bgpls_speaker/service/BgplsService.py                     | 2 +-
 src/bgpls_speaker/service/BgplsServiceServicerImpl.py         | 2 +-
 src/bgpls_speaker/service/__init__.py                         | 2 +-
 src/bgpls_speaker/service/__main__.py                         | 2 +-
 src/bgpls_speaker/service/java/BGP4Parameters_3.xml           | 2 +-
 src/bgpls_speaker/service/java/exec_speakear_java.sh          | 2 +-
 .../service/java/netphony-topology/BGP4Parameters_3.xml       | 2 +-
 src/bgpls_speaker/service/java/netphony-topology/CHANGELOG    | 2 +-
 src/bgpls_speaker/service/java/netphony-topology/log4j2.xml   | 2 +-
 src/bgpls_speaker/service/java/netphony-topology/pom.xml      | 2 +-
 .../tid/bgp4Peer/bgp4session/BGP4PeerInitiatedSession.java    | 2 +-
 .../eu/teraflow/tid/bgp4Peer/bgp4session/BGP4Session.java     | 2 +-
 .../teraflow/tid/bgp4Peer/bgp4session/BGP4SessionClient.java  | 2 +-
 .../tid/bgp4Peer/bgp4session/BGP4SessionExistsException.java  | 2 +-
 .../tid/bgp4Peer/bgp4session/BGP4SessionsInformation.java     | 2 +-
 .../teraflow/tid/bgp4Peer/bgp4session/BGP4StateSession.java   | 2 +-
 .../teraflow/tid/bgp4Peer/bgp4session/ConnectRetryTimer.java  | 2 +-
 .../eu/teraflow/tid/bgp4Peer/bgp4session/DeadTimerThread.java | 2 +-
 .../teraflow/tid/bgp4Peer/bgp4session/GenericBGP4Session.java | 2 +-
 .../eu/teraflow/tid/bgp4Peer/bgp4session/KeepAliveThread.java | 2 +-
 .../teraflow/tid/bgp4Peer/bgp4session/KeepWaitTimerTask.java  | 2 +-
 .../teraflow/tid/bgp4Peer/bgp4session/OpenWaitTimerTask.java  | 2 +-
 .../src/main/java/eu/teraflow/tid/bgp4Peer/grpc/grpcApp.java  | 2 +-
 .../main/java/eu/teraflow/tid/bgp4Peer/grpc/grpcClient.java   | 2 +-
 .../java/eu/teraflow/tid/bgp4Peer/grpc/updateServiceImpl.java | 2 +-
 .../main/java/eu/teraflow/tid/bgp4Peer/json/bgpMarshal.java   | 2 +-
 .../tid/bgp4Peer/management/BGP4ManagementServer.java         | 2 +-
 .../tid/bgp4Peer/management/BGP4ManagementSession.java        | 2 +-
 .../java/eu/teraflow/tid/bgp4Peer/models/LinkNLRIMsg.java     | 2 +-
 .../java/eu/teraflow/tid/bgp4Peer/models/NodeNLRIMsg.java     | 2 +-
 .../eu/teraflow/tid/bgp4Peer/models/PathAttributeMsg.java     | 2 +-
 .../main/java/eu/teraflow/tid/bgp4Peer/models/UpdateMsg.java  | 2 +-
 .../java/eu/teraflow/tid/bgp4Peer/models/UpdateMsgList.java   | 2 +-
 .../java/eu/teraflow/tid/bgp4Peer/peer/BGP4Exception.java     | 2 +-
 .../java/eu/teraflow/tid/bgp4Peer/peer/BGP4LSPeerInfo.java    | 2 +-
 .../java/eu/teraflow/tid/bgp4Peer/peer/BGP4Parameters.java    | 2 +-
 .../teraflow/tid/bgp4Peer/peer/BGP4SessionClientManager.java  | 2 +-
 .../teraflow/tid/bgp4Peer/peer/BGP4SessionServerManager.java  | 2 +-
 .../src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGPPeer.java  | 2 +-
 .../main/java/eu/teraflow/tid/bgp4Peer/peer/BGPPeerMain.java  | 2 +-
 .../java/eu/teraflow/tid/bgp4Peer/peer/SaveTopologyinDB.java  | 2 +-
 .../main/java/eu/teraflow/tid/bgp4Peer/peer/SendTopology.java | 2 +-
 .../java/eu/teraflow/tid/bgp4Peer/tedb/BGP4DomainTEDB.java    | 2 +-
 .../eu/teraflow/tid/bgp4Peer/tedb/BGP4IntradomainTEDB.java    | 2 +-
 .../main/java/eu/teraflow/tid/bgp4Peer/tedb/IntraTEDBS.java   | 2 +-
 .../eu/teraflow/tid/bgp4Peer/updateTEDB/UpdateDispatcher.java | 2 +-
 .../java/eu/teraflow/tid/bgp4Peer/updateTEDB/UpdateLink.java  | 2 +-
 .../tid/bgp4Peer/updateTEDB/UpdateProccesorThread.java        | 2 +-
 .../tid/bgp4Peer/updateTEDB/UpdaterThreadRedisTED.java        | 2 +-
 .../eu/teraflow/tid/tedb/DatabaseControlSimplifiedLSA.java    | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/DomainTEDB.java        | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/EdgeUtils.java         | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/FileTEDBUpdater.java   | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/IT_Resources.java      | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/InterDomainEdge.java   | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/IntraDomainEdge.java   | 2 +-
 .../main/java/eu/teraflow/tid/tedb/IntraDomainWeightEdge.java | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/Layer.java             | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/MDTEDB.java            | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/MultiDomainTEDB.java   | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/MultiLayerTEDB.java    | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/Node_Info.java         | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/ReachabilityEntry.java | 2 +-
 .../main/java/eu/teraflow/tid/tedb/ReachabilityManager.java   | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/SSONInformation.java   | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/SSONListener.java      | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/SimpleTEDB.java        | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/TEDB.java              | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/TEDBUpdater.java       | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/TEDListener.java       | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/TE_Information.java    | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/WSONInformation.java   | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/WSONListener.java      | 2 +-
 .../teraflow/tid/tedb/controllers/TEDUpdaterController.java   | 2 +-
 .../teraflow/tid/tedb/controllers/TEDUpdaterFloodlight.java   | 2 +-
 .../java/eu/teraflow/tid/tedb/controllers/TEDUpdaterNOX.java  | 2 +-
 .../java/eu/teraflow/tid/tedb/controllers/TEDUpdaterODL.java  | 2 +-
 .../java/eu/teraflow/tid/tedb/controllers/TEDUpdaterRYU.java  | 2 +-
 .../eu/teraflow/tid/tedb/controllers/TEDUpdaterTREMA.java     | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/elements/AuthInfo.java | 2 +-
 .../main/java/eu/teraflow/tid/tedb/elements/Bandwidth.java    | 2 +-
 .../main/java/eu/teraflow/tid/tedb/elements/BgpParams.java    | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/elements/EndPoint.java | 2 +-
 .../main/java/eu/teraflow/tid/tedb/elements/IPNodeParams.java | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/elements/Intf.java     | 2 +-
 .../main/java/eu/teraflow/tid/tedb/elements/IsisParams.java   | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/elements/Link.java     | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/elements/Location.java | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/elements/Node.java     | 2 +-
 .../main/java/eu/teraflow/tid/tedb/elements/OspfParams.java   | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/elements/Path.java     | 2 +-
 .../java/eu/teraflow/tid/tedb/elements/PhyLinkParams.java     | 2 +-
 .../main/java/eu/teraflow/tid/tedb/elements/RouterDesc.java   | 2 +-
 .../main/java/eu/teraflow/tid/tedb/elements/RouterInfoPM.java | 2 +-
 .../src/main/java/eu/teraflow/tid/tedb/elements/Service.java  | 2 +-
 .../eu/teraflow/tid/tedb/elements/StaticRoutingParams.java    | 2 +-
 .../java/netphony-topology/src/main/proto/grpcService.proto   | 2 +-
 .../main/sample-config-files/TM_COP_example1/TMConfCOP.xml    | 2 +-
 .../src/main/sample-config-files/TM_COP_example1/network1.xml | 2 +-
 .../main/sample-config-files/TM_TAPI_example1/TMConfTAPI.xml  | 2 +-
 .../main/sample-config-files/TM_TAPI_example1/network1.xml    | 2 +-
 .../sample-config-files/bgpls_example1/BGP4Parameters_1.xml   | 2 +-
 .../sample-config-files/bgpls_example1/BGP4Parameters_2.xml   | 2 +-
 .../src/main/sample-config-files/bgpls_example1/network1.xml  | 2 +-
 .../src/main/sample-config-files/conf1wayTest/BGPLS1.xml      | 2 +-
 .../src/main/sample-config-files/conf1wayTest/BGPLS2.xml      | 2 +-
 .../src/main/sample-config-files/conf1wayTest/BGPLS3.xml      | 2 +-
 .../src/main/sample-config-files/conf1wayTest/TM1.xml         | 2 +-
 .../src/main/sample-config-files/conf1wayTest/TM2.xml         | 2 +-
 .../src/main/sample-config-files/conf1wayTest/TM3.xml         | 2 +-
 .../conf1wayTest/TMConfiguration_BGPLSreader_UNIFYwriter.xml  | 2 +-
 .../src/main/sample-config-files/conf1wayTest/network1.xml    | 2 +-
 .../src/main/sample-config-files/conf1wayTest/network2.xml    | 2 +-
 .../src/main/sample-config-files/conf1wayTest/network3.xml    | 2 +-
 .../main/sample-config-files/conf2waysReal/BGPLS1_2way.xml    | 2 +-
 .../main/sample-config-files/conf2waysReal/BGPLS2_2way.xml    | 2 +-
 .../main/sample-config-files/conf2waysReal/BGPLS3_2way.xml    | 2 +-
 .../src/main/sample-config-files/conf2waysReal/README         | 2 +-
 .../src/main/sample-config-files/conf2waysReal/TM1.xml        | 2 +-
 .../src/main/sample-config-files/conf2waysReal/TM2.xml        | 2 +-
 .../src/main/sample-config-files/conf2waysReal/TM3.xml        | 2 +-
 .../src/main/sample-config-files/conf2waysReal/network1.xml   | 2 +-
 .../src/main/sample-config-files/conf2waysReal/network2.xml   | 2 +-
 .../src/main/sample-config-files/conf2waysReal/network3.xml   | 2 +-
 .../src/main/sample-config-files/examples/BGP4Parameters.xml  | 2 +-
 .../main/sample-config-files/examples/BGP4ParametersRX.xml    | 2 +-
 .../main/sample-config-files/examples/BGP4ParametersTX.xml    | 2 +-
 .../main/sample-config-files/examples/BGP4ParametersTXRX.xml  | 2 +-
 .../main/sample-config-files/examples/BGP4Parameters_1.xml    | 2 +-
 .../main/sample-config-files/examples/BGP4Parameters_1_IT.xml | 2 +-
 .../main/sample-config-files/examples/BGP4Parameters_2.xml    | 2 +-
 .../main/sample-config-files/examples/BGP4Parameters_PCE.xml  | 2 +-
 .../main/sample-config-files/examples/BGP4Parameters_TM.xml   | 2 +-
 .../main/sample-config-files/examples/EmulatedTopology.xml    | 2 +-
 .../sample-config-files/examples/EmulatedTopologyECOC.xml     | 2 +-
 .../src/main/sample-config-files/examples/TMConfiguration.xml | 2 +-
 .../main/sample-config-files/examples/TMConfiguration2.xml    | 2 +-
 .../main/sample-config-files/examples/TMConfigurationCOP.xml  | 2 +-
 .../examples/TMConfiguration_BGPLSreader_COPwriter.xml        | 2 +-
 .../examples/TMConfiguration_BGPLSreader_IETFwriter.xml       | 2 +-
 .../examples/TMConfiguration_BGPLSreader_UNIFYwriter.xml      | 2 +-
 .../examples/TMConfiguration_COPreader_BGPLSsender.xml        | 2 +-
 .../examples/TMConfiguration_COPsender.xml                    | 2 +-
 .../src/main/sample-config-files/examples/log4j2.xml          | 2 +-
 .../src/main/sample-config-files/examples/network1_pce.xml    | 2 +-
 .../src/main/sample-config-files/examples/total.xml           | 2 +-
 .../src/main/sample-config-files/examples/total101.xml        | 2 +-
 .../src/main/sample-config-files/examples/total10v2.xml       | 2 +-
 .../src/test/java/es/tid/bgp/bgp4Peer/tests/BGP4PeerTest.java | 2 +-
 .../netphony-topology/src/test/resources/BGP4Parameters_1.xml | 2 +-
 .../src/test/resources/BGP4Parameters_1_IT.xml                | 2 +-
 .../netphony-topology/src/test/resources/BGP4Parameters_2.xml | 2 +-
 .../netphony-topology/src/test/resources/EmulatedTopology.xml | 2 +-
 .../src/test/resources/EmulatedTopologyECOC.xml               | 2 +-
 .../java/netphony-topology/src/test/resources/log4j2.xml      | 2 +-
 .../java/netphony-topology/src/test/resources/network1.xml    | 2 +-
 .../protobuf/grpc-java/src/main/proto/updateServiceGrpc.java  | 2 +-
 src/bgpls_speaker/service/java/netphony-topology/topology.iml | 2 +-
 src/bgpls_speaker/service/tools/DiscoveredDBManager.py        | 2 +-
 src/bgpls_speaker/service/tools/GrpcServer.py                 | 2 +-
 src/bgpls_speaker/service/tools/JavaRunner.py                 | 2 +-
 src/bgpls_speaker/service/tools/Tools.py                      | 2 +-
 src/bgpls_speaker/service/tools/__init__.py                   | 2 +-
 src/bgpls_speaker/service/tools/json_loader.py                | 2 +-
 src/bgpls_speaker/service/tools/protos/grpcService.proto      | 2 +-
 src/bgpls_speaker/tests/__init__.py                           | 2 +-
 src/bgpls_speaker/tests/test_unitary.py                       | 2 +-
 src/common/Constants.py                                       | 2 +-
 src/common/DeviceTypes.py                                     | 2 +-
 src/common/Settings.py                                        | 2 +-
 src/common/__init__.py                                        | 2 +-
 src/common/logger.py                                          | 2 +-
 src/common/message_broker/Constants.py                        | 2 +-
 src/common/message_broker/Factory.py                          | 2 +-
 src/common/message_broker/Message.py                          | 2 +-
 src/common/message_broker/MessageBroker.py                    | 2 +-
 src/common/message_broker/__init__.py                         | 2 +-
 src/common/message_broker/backend/BackendEnum.py              | 2 +-
 src/common/message_broker/backend/_Backend.py                 | 2 +-
 src/common/message_broker/backend/__init__.py                 | 2 +-
 src/common/message_broker/backend/inmemory/InMemoryBackend.py | 2 +-
 src/common/message_broker/backend/inmemory/__init__.py        | 2 +-
 src/common/message_broker/backend/nats/NatsBackend.py         | 2 +-
 src/common/message_broker/backend/nats/NatsBackendThread.py   | 2 +-
 src/common/message_broker/backend/nats/__init__.py            | 2 +-
 src/common/message_broker/backend/redis/RedisBackend.py       | 2 +-
 src/common/message_broker/backend/redis/__init__.py           | 2 +-
 src/common/message_broker/tests/__init__.py                   | 2 +-
 src/common/message_broker/tests/test_unitary.py               | 2 +-
 src/common/method_wrappers/Decorator.py                       | 2 +-
 src/common/method_wrappers/ServiceExceptions.py               | 2 +-
 src/common/method_wrappers/__init__.py                        | 2 +-
 src/common/method_wrappers/tests/DummyDeviceDriver.py         | 2 +-
 src/common/method_wrappers/tests/__init__.py                  | 2 +-
 src/common/method_wrappers/tests/__main__.py                  | 2 +-
 src/common/method_wrappers/tests/deploy_specs.sh              | 2 +-
 src/common/method_wrappers/tests/old/docker_grafana.sh        | 2 +-
 src/common/method_wrappers/tests/old/prometheus.yml           | 2 +-
 src/common/method_wrappers/tests/test_unitary.py              | 2 +-
 src/common/tests/EventTools.py                                | 2 +-
 src/common/tests/InMemoryObjectDatabase.py                    | 2 +-
 src/common/tests/InMemoryTimeSeriesDatabase.py                | 2 +-
 src/common/tests/MockMessageBroker.py                         | 2 +-
 src/common/tests/MockServicerImpl_Context.py                  | 2 +-
 src/common/tests/MockServicerImpl_Device.py                   | 2 +-
 src/common/tests/MockServicerImpl_DltGateway.py               | 2 +-
 src/common/tests/MockServicerImpl_Monitoring.py               | 2 +-
 src/common/tests/MockServicerImpl_Service.py                  | 2 +-
 src/common/tests/MockServicerImpl_Slice.py                    | 2 +-
 src/common/tests/PytestGenerateTests.py                       | 2 +-
 src/common/tests/__init__.py                                  | 2 +-
 src/common/tools/__init__.py                                  | 2 +-
 src/common/tools/client/RetryDecorator.py                     | 2 +-
 src/common/tools/client/__init__.py                           | 2 +-
 src/common/tools/context_queries/CheckType.py                 | 2 +-
 src/common/tools/context_queries/Connection.py                | 2 +-
 src/common/tools/context_queries/Context.py                   | 2 +-
 src/common/tools/context_queries/Device.py                    | 2 +-
 src/common/tools/context_queries/EndPoint.py                  | 2 +-
 src/common/tools/context_queries/InterDomain.py               | 2 +-
 src/common/tools/context_queries/InterDomain_old.py           | 2 +-
 src/common/tools/context_queries/Link.py                      | 2 +-
 src/common/tools/context_queries/Service.py                   | 2 +-
 src/common/tools/context_queries/Slice.py                     | 2 +-
 src/common/tools/context_queries/Topology.py                  | 2 +-
 src/common/tools/context_queries/__init__.py                  | 2 +-
 src/common/tools/descriptor/Loader.py                         | 2 +-
 src/common/tools/descriptor/Tools.py                          | 2 +-
 src/common/tools/descriptor/__init__.py                       | 2 +-
 src/common/tools/descriptor/old/BuildDescriptors.py           | 2 +-
 src/common/tools/descriptor/old/LoadDescriptors.py            | 2 +-
 src/common/tools/grpc/ConfigRules.py                          | 2 +-
 src/common/tools/grpc/Constraints.py                          | 2 +-
 src/common/tools/grpc/EndPointIds.py                          | 2 +-
 src/common/tools/grpc/ServiceIds.py                           | 2 +-
 src/common/tools/grpc/Tools.py                                | 2 +-
 src/common/tools/grpc/__init__.py                             | 2 +-
 src/common/tools/mutex_queues/MutexQueues.py                  | 2 +-
 src/common/tools/mutex_queues/__init__.py                     | 2 +-
 src/common/tools/object_factory/ConfigRule.py                 | 2 +-
 src/common/tools/object_factory/Connection.py                 | 2 +-
 src/common/tools/object_factory/Constraint.py                 | 2 +-
 src/common/tools/object_factory/Context.py                    | 2 +-
 src/common/tools/object_factory/Device.py                     | 2 +-
 src/common/tools/object_factory/EndPoint.py                   | 2 +-
 src/common/tools/object_factory/Link.py                       | 2 +-
 src/common/tools/object_factory/Location.py                   | 2 +-
 src/common/tools/object_factory/PolicyRule.py                 | 2 +-
 src/common/tools/object_factory/Service.py                    | 2 +-
 src/common/tools/object_factory/Slice.py                      | 2 +-
 src/common/tools/object_factory/Topology.py                   | 2 +-
 src/common/tools/object_factory/__init__.py                   | 2 +-
 src/common/tools/service/GenericGrpcService.py                | 2 +-
 src/common/tools/service/GenericRestServer.py                 | 2 +-
 src/common/tools/service/__init__.py                          | 2 +-
 src/common/tools/timestamp/Converters.py                      | 2 +-
 src/common/tools/timestamp/__init__.py                        | 2 +-
 src/common/type_checkers/Assertions.py                        | 2 +-
 src/common/type_checkers/Checkers.py                          | 2 +-
 src/common/type_checkers/__init__.py                          | 2 +-
 src/context/.gitlab-ci.yml                                    | 2 +-
 src/context/Config.py                                         | 2 +-
 src/context/Dockerfile                                        | 2 +-
 src/context/__init__.py                                       | 2 +-
 src/context/client/ContextClient.py                           | 2 +-
 src/context/client/EventsCollector.py                         | 2 +-
 src/context/client/__init__.py                                | 2 +-
 src/context/data/cleanup_commands.sql                         | 2 +-
 src/context/requirements.in                                   | 2 +-
 src/context/service/ContextService.py                         | 2 +-
 src/context/service/ContextServiceServicerImpl.py             | 2 +-
 src/context/service/__init__.py                               | 2 +-
 src/context/service/__main__.py                               | 2 +-
 src/context/service/database/Component.py                     | 2 +-
 src/context/service/database/ConfigRule.py                    | 2 +-
 src/context/service/database/Connection.py                    | 2 +-
 src/context/service/database/Constraint.py                    | 2 +-
 src/context/service/database/Context.py                       | 2 +-
 src/context/service/database/Device.py                        | 2 +-
 src/context/service/database/EndPoint.py                      | 2 +-
 src/context/service/database/Engine.py                        | 2 +-
 src/context/service/database/Events.py                        | 2 +-
 src/context/service/database/Link.py                          | 2 +-
 src/context/service/database/OpticalConfig.py                 | 2 +-
 src/context/service/database/PolicyRule.py                    | 2 +-
 src/context/service/database/Service.py                       | 2 +-
 src/context/service/database/Slice.py                         | 2 +-
 src/context/service/database/Topology.py                      | 2 +-
 src/context/service/database/__init__.py                      | 2 +-
 src/context/service/database/models/ComponentModel.py         | 2 +-
 src/context/service/database/models/ConfigRuleModel.py        | 2 +-
 src/context/service/database/models/ConnectionModel.py        | 2 +-
 src/context/service/database/models/ConstraintModel.py        | 2 +-
 src/context/service/database/models/ContextModel.py           | 2 +-
 src/context/service/database/models/DeviceModel.py            | 2 +-
 src/context/service/database/models/EndPointModel.py          | 2 +-
 src/context/service/database/models/LinkModel.py              | 2 +-
 src/context/service/database/models/OpticalConfigModel.py     | 2 +-
 src/context/service/database/models/PolicyRuleModel.py        | 2 +-
 src/context/service/database/models/ServiceModel.py           | 2 +-
 src/context/service/database/models/SliceModel.py             | 2 +-
 src/context/service/database/models/TopologyModel.py          | 2 +-
 src/context/service/database/models/_Base.py                  | 2 +-
 src/context/service/database/models/__init__.py               | 2 +-
 src/context/service/database/models/enums/ConfigAction.py     | 2 +-
 src/context/service/database/models/enums/ConstraintAction.py | 2 +-
 src/context/service/database/models/enums/DeviceDriver.py     | 2 +-
 .../service/database/models/enums/DeviceOperationalStatus.py  | 2 +-
 src/context/service/database/models/enums/KpiSampleType.py    | 2 +-
 src/context/service/database/models/enums/PolicyRuleState.py  | 2 +-
 src/context/service/database/models/enums/ServiceStatus.py    | 2 +-
 src/context/service/database/models/enums/ServiceType.py      | 2 +-
 src/context/service/database/models/enums/SliceStatus.py      | 2 +-
 src/context/service/database/models/enums/_GrpcToEnum.py      | 2 +-
 src/context/service/database/models/enums/__init__.py         | 2 +-
 src/context/service/database/tools/FastHasher.py              | 2 +-
 src/context/service/database/tools/__init__.py                | 2 +-
 src/context/service/database/uuids/Connection.py              | 2 +-
 src/context/service/database/uuids/Context.py                 | 2 +-
 src/context/service/database/uuids/Device.py                  | 2 +-
 src/context/service/database/uuids/EndPoint.py                | 2 +-
 src/context/service/database/uuids/Link.py                    | 2 +-
 src/context/service/database/uuids/PolicuRule.py              | 2 +-
 src/context/service/database/uuids/Service.py                 | 2 +-
 src/context/service/database/uuids/Slice.py                   | 2 +-
 src/context/service/database/uuids/Topology.py                | 2 +-
 src/context/service/database/uuids/_Builder.py                | 2 +-
 src/context/service/database/uuids/__init__.py                | 2 +-
 src/context/tests/Constants.py                                | 2 +-
 src/context/tests/Objects.py                                  | 2 +-
 src/context/tests/__init__.py                                 | 2 +-
 src/context/tests/conftest.py                                 | 2 +-
 src/context/tests/test_connection.py                          | 2 +-
 src/context/tests/test_context.py                             | 2 +-
 src/context/tests/test_device.py                              | 2 +-
 src/context/tests/test_hasher.py                              | 2 +-
 src/context/tests/test_link.py                                | 2 +-
 src/context/tests/test_policy.py                              | 2 +-
 src/context/tests/test_service.py                             | 2 +-
 src/context/tests/test_slice.py                               | 2 +-
 src/context/tests/test_topology.py                            | 2 +-
 src/dbscanserving/.gitlab-ci.yml                              | 2 +-
 src/dbscanserving/Config.py                                   | 2 +-
 src/dbscanserving/Dockerfile                                  | 2 +-
 src/dbscanserving/__init__.py                                 | 2 +-
 src/dbscanserving/client/DbscanServingClient.py               | 2 +-
 src/dbscanserving/client/__init__.py                          | 2 +-
 src/dbscanserving/requirements.in                             | 2 +-
 src/dbscanserving/service/DbscanService.py                    | 2 +-
 src/dbscanserving/service/DbscanServiceServicerImpl.py        | 2 +-
 src/dbscanserving/service/__init__.py                         | 2 +-
 src/dbscanserving/service/__main__.py                         | 2 +-
 src/dbscanserving/tests/__init__.py                           | 2 +-
 src/dbscanserving/tests/test_unitary.py                       | 2 +-
 src/device/.gitlab-ci.yml                                     | 2 +-
 src/device/Config.py                                          | 2 +-
 src/device/Dockerfile                                         | 2 +-
 src/device/__init__.py                                        | 2 +-
 src/device/client/DeviceClient.py                             | 2 +-
 src/device/client/__init__.py                                 | 2 +-
 src/device/requirements.in                                    | 2 +-
 src/device/service/DeviceService.py                           | 2 +-
 src/device/service/DeviceServiceServicerImpl.py               | 2 +-
 src/device/service/ErrorMessages.py                           | 2 +-
 src/device/service/OpenConfigServicer.py                      | 2 +-
 src/device/service/Tools.py                                   | 2 +-
 src/device/service/__init__.py                                | 2 +-
 src/device/service/__main__.py                                | 2 +-
 src/device/service/driver_api/AnyTreeTools.py                 | 2 +-
 src/device/service/driver_api/DriverFactory.py                | 2 +-
 src/device/service/driver_api/DriverInstanceCache.py          | 2 +-
 src/device/service/driver_api/Exceptions.py                   | 2 +-
 src/device/service/driver_api/FilterFields.py                 | 2 +-
 src/device/service/driver_api/ImportTopologyEnum.py           | 2 +-
 src/device/service/driver_api/_Driver.py                      | 2 +-
 src/device/service/driver_api/__init__.py                     | 2 +-
 src/device/service/drivers/__init__.py                        | 2 +-
 src/device/service/drivers/emulated/Constants.py              | 2 +-
 src/device/service/drivers/emulated/EmulatedDriver.py         | 2 +-
 .../service/drivers/emulated/SyntheticSamplingParameters.py   | 2 +-
 src/device/service/drivers/emulated/Tools.py                  | 2 +-
 src/device/service/drivers/emulated/__init__.py               | 2 +-
 .../service/drivers/gnmi_openconfig/DeltaSampleCache.py       | 2 +-
 .../service/drivers/gnmi_openconfig/GnmiOpenConfigDriver.py   | 2 +-
 .../service/drivers/gnmi_openconfig/GnmiSessionHandler.py     | 2 +-
 .../service/drivers/gnmi_openconfig/MonitoringThread.py       | 2 +-
 src/device/service/drivers/gnmi_openconfig/__init__.py        | 2 +-
 src/device/service/drivers/gnmi_openconfig/gnmi/__init__.py   | 2 +-
 .../service/drivers/gnmi_openconfig/handlers/Component.py     | 2 +-
 .../service/drivers/gnmi_openconfig/handlers/Interface.py     | 2 +-
 .../drivers/gnmi_openconfig/handlers/InterfaceCounter.py      | 2 +-
 .../drivers/gnmi_openconfig/handlers/NetworkInstance.py       | 2 +-
 .../gnmi_openconfig/handlers/NetworkInstanceInterface.py      | 2 +-
 .../gnmi_openconfig/handlers/NetworkInstanceStaticRoute.py    | 2 +-
 src/device/service/drivers/gnmi_openconfig/handlers/Tools.py  | 2 +-
 .../service/drivers/gnmi_openconfig/handlers/_Handler.py      | 2 +-
 .../service/drivers/gnmi_openconfig/handlers/__init__.py      | 2 +-
 .../drivers/gnmi_openconfig/handlers/old_bgp_handler.txt      | 2 +-
 .../service/drivers/gnmi_openconfig/tools/Capabilities.py     | 2 +-
 src/device/service/drivers/gnmi_openconfig/tools/Channel.py   | 2 +-
 src/device/service/drivers/gnmi_openconfig/tools/Path.py      | 2 +-
 .../service/drivers/gnmi_openconfig/tools/Subscriptions.py    | 2 +-
 src/device/service/drivers/gnmi_openconfig/tools/Value.py     | 2 +-
 src/device/service/drivers/gnmi_openconfig/tools/__init__.py  | 2 +-
 src/device/service/drivers/ietf_actn/IetfActnDriver.py        | 2 +-
 src/device/service/drivers/ietf_actn/Tools.py                 | 2 +-
 src/device/service/drivers/ietf_actn/__init__.py              | 2 +-
 .../service/drivers/ietf_actn/handlers/EthtServiceHandler.py  | 2 +-
 .../service/drivers/ietf_actn/handlers/OsuTunnelHandler.py    | 2 +-
 .../service/drivers/ietf_actn/handlers/RestApiClient.py       | 2 +-
 src/device/service/drivers/ietf_actn/handlers/__init__.py     | 2 +-
 src/device/service/drivers/ietf_l2vpn/IetfL2VpnDriver.py      | 2 +-
 src/device/service/drivers/ietf_l2vpn/TfsApiClient.py         | 2 +-
 src/device/service/drivers/ietf_l2vpn/Tools.py                | 2 +-
 src/device/service/drivers/ietf_l2vpn/__init__.py             | 2 +-
 src/device/service/drivers/microwave/IETFApiDriver.py         | 2 +-
 src/device/service/drivers/microwave/Tools.py                 | 2 +-
 src/device/service/drivers/microwave/__init__.py              | 2 +-
 src/device/service/drivers/oc_driver/OCDriver.py              | 2 +-
 src/device/service/drivers/oc_driver/RetryDecorator.py        | 2 +-
 src/device/service/drivers/oc_driver/Tools.py                 | 2 +-
 src/device/service/drivers/oc_driver/__init__.py              | 2 +-
 .../drivers/oc_driver/templates/Interfaces/__init__.py        | 2 +-
 .../drivers/oc_driver/templates/Interfaces/interfaces.py      | 2 +-
 src/device/service/drivers/oc_driver/templates/Tools.py       | 2 +-
 .../service/drivers/oc_driver/templates/VPN/__init__.py       | 2 +-
 .../service/drivers/oc_driver/templates/VPN/physical.py       | 2 +-
 src/device/service/drivers/oc_driver/templates/__init__.py    | 2 +-
 src/device/service/drivers/openconfig/OpenConfigDriver.py     | 2 +-
 src/device/service/drivers/openconfig/RetryDecorator.py       | 2 +-
 src/device/service/drivers/openconfig/Tools.py                | 2 +-
 src/device/service/drivers/openconfig/__init__.py             | 2 +-
 .../drivers/openconfig/templates/ACL/ACL_multivendor.py       | 2 +-
 .../service/drivers/openconfig/templates/ACL/__init__.py      | 2 +-
 src/device/service/drivers/openconfig/templates/Acl.py        | 2 +-
 src/device/service/drivers/openconfig/templates/EndPoints.py  | 2 +-
 src/device/service/drivers/openconfig/templates/Interfaces.py | 2 +-
 src/device/service/drivers/openconfig/templates/Inventory.py  | 2 +-
 src/device/service/drivers/openconfig/templates/Namespace.py  | 2 +-
 .../service/drivers/openconfig/templates/NetworkInstances.py  | 2 +-
 .../service/drivers/openconfig/templates/RoutingPolicy.py     | 2 +-
 src/device/service/drivers/openconfig/templates/Tools.py      | 2 +-
 .../openconfig/templates/VPN/Interfaces_multivendor.py        | 2 +-
 .../openconfig/templates/VPN/Network_instance_multivendor.py  | 2 +-
 .../drivers/openconfig/templates/VPN/Routing_policy.py        | 2 +-
 .../service/drivers/openconfig/templates/VPN/__init__.py      | 2 +-
 src/device/service/drivers/openconfig/templates/__init__.py   | 2 +-
 src/device/service/drivers/optical_tfs/OpticalTfsDriver.py    | 2 +-
 src/device/service/drivers/optical_tfs/Tools.py               | 2 +-
 src/device/service/drivers/optical_tfs/__init__.py            | 2 +-
 src/device/service/drivers/p4/__init__.py                     | 2 +-
 src/device/service/drivers/p4/p4_client.py                    | 2 +-
 src/device/service/drivers/p4/p4_common.py                    | 2 +-
 src/device/service/drivers/p4/p4_context.py                   | 2 +-
 src/device/service/drivers/p4/p4_driver.py                    | 2 +-
 src/device/service/drivers/p4/p4_exception.py                 | 2 +-
 src/device/service/drivers/p4/p4_global_options.py            | 2 +-
 src/device/service/drivers/p4/p4_manager.py                   | 2 +-
 src/device/service/drivers/transport_api/Tools.py             | 2 +-
 .../service/drivers/transport_api/TransportApiDriver.py       | 2 +-
 src/device/service/drivers/transport_api/__init__.py          | 2 +-
 src/device/service/drivers/xr/XrDriver.py                     | 2 +-
 src/device/service/drivers/xr/__init__.py                     | 2 +-
 src/device/service/drivers/xr/cm-cli.py                       | 2 +-
 src/device/service/drivers/xr/cm/__init__.py                  | 2 +-
 src/device/service/drivers/xr/cm/cm_connection.py             | 2 +-
 src/device/service/drivers/xr/cm/connection.py                | 2 +-
 src/device/service/drivers/xr/cm/constellation.py             | 2 +-
 src/device/service/drivers/xr/cm/tests/__init__.py            | 2 +-
 src/device/service/drivers/xr/cm/tests/test_cm_connection.py  | 2 +-
 src/device/service/drivers/xr/cm/tests/test_connection.py     | 2 +-
 src/device/service/drivers/xr/cm/tests/test_constellation.py  | 2 +-
 .../service/drivers/xr/cm/tests/test_transport_capacitity.py  | 2 +-
 .../service/drivers/xr/cm/tests/test_xr_service_set_config.py | 2 +-
 src/device/service/drivers/xr/cm/tf.py                        | 2 +-
 src/device/service/drivers/xr/cm/tf_service.py                | 2 +-
 src/device/service/drivers/xr/cm/transport_capacity.py        | 2 +-
 src/device/service/drivers/xr/cm/utils.py                     | 2 +-
 src/device/service/drivers/xr/service-cli.py                  | 2 +-
 src/device/service/drivers/xr/setup_test_env.sh               | 2 +-
 src/device/service/monitoring/MonitoringLoop.py               | 2 +-
 src/device/service/monitoring/MonitoringLoops.py              | 2 +-
 src/device/service/monitoring/__init__.py                     | 2 +-
 src/device/tests/CommonObjects.py                             | 2 +-
 src/device/tests/Device_Emulated.py                           | 2 +-
 src/device/tests/Device_Microwave_Template.py                 | 2 +-
 src/device/tests/Device_OpenConfig_Template.py                | 2 +-
 src/device/tests/Device_Transport_Api_Template.py             | 2 +-
 src/device/tests/MockService_Dependencies.py                  | 2 +-
 src/device/tests/PrepareTestScenario.py                       | 2 +-
 src/device/tests/__init__.py                                  | 2 +-
 src/device/tests/device_p4.py                                 | 2 +-
 src/device/tests/mock_p4runtime_service.py                    | 2 +-
 src/device/tests/mock_p4runtime_servicer_impl.py              | 2 +-
 src/device/tests/test_gnmi.py                                 | 2 +-
 src/device/tests/test_internal_p4.py                          | 2 +-
 src/device/tests/test_netconf.py                              | 2 +-
 src/device/tests/test_unitary_emulated.py                     | 2 +-
 src/device/tests/test_unitary_ietf_actn.py                    | 2 +-
 src/device/tests/test_unitary_microwave.py                    | 2 +-
 src/device/tests/test_unitary_openconfig.py                   | 2 +-
 src/device/tests/test_unitary_p4.py                           | 2 +-
 src/device/tests/test_unitary_tapi.py                         | 2 +-
 src/dlt/.gitlab-ci.yml                                        | 2 +-
 src/dlt/__init__.py                                           | 2 +-
 src/dlt/connector/Config.py                                   | 2 +-
 src/dlt/connector/Dockerfile                                  | 2 +-
 src/dlt/connector/__init__.py                                 | 2 +-
 src/dlt/connector/client/DltConnectorClient.py                | 2 +-
 src/dlt/connector/client/DltEventsCollector.py                | 2 +-
 src/dlt/connector/client/DltGatewayClient.py                  | 2 +-
 src/dlt/connector/client/__init__.py                          | 2 +-
 src/dlt/connector/requirements.in                             | 2 +-
 src/dlt/connector/service/DltConnectorService.py              | 2 +-
 src/dlt/connector/service/DltConnectorServiceServicerImpl.py  | 2 +-
 src/dlt/connector/service/__init__.py                         | 2 +-
 src/dlt/connector/service/__main__.py                         | 2 +-
 .../connector/service/event_dispatcher/DltEventDispatcher.py  | 2 +-
 src/dlt/connector/service/event_dispatcher/__init__.py        | 2 +-
 src/dlt/connector/service/tools/Checkers.py                   | 2 +-
 src/dlt/connector/service/tools/__init__.py                   | 2 +-
 src/dlt/connector/tests/MockService_Dependencies.py           | 2 +-
 src/dlt/connector/tests/Objects.py                            | 2 +-
 src/dlt/connector/tests/PrepareTestScenario.py                | 2 +-
 src/dlt/connector/tests/__init__.py                           | 2 +-
 src/dlt/connector/tests/basic.py                              | 2 +-
 src/dlt/connector/tests/test_unitary.py                       | 2 +-
 src/dlt/gateway/Dockerfile                                    | 2 +-
 src/dlt/mock_blockchain/Dockerfile                            | 2 +-
 src/dlt/mock_blockchain/__init__.py                           | 2 +-
 src/dlt/mock_blockchain/requirements.in                       | 2 +-
 src/dlt/mock_blockchain/service/__init__.py                   | 2 +-
 src/dlt/mock_blockchain/service/__main__.py                   | 2 +-
 src/dlt/performance/__init__.py                               | 2 +-
 src/dlt/performance/__main__.py                               | 2 +-
 src/dlt/performance/play_ground/Dlt.py                        | 2 +-
 src/dlt/performance/play_ground/Enums.py                      | 2 +-
 src/dlt/performance/play_ground/PerfData.py                   | 2 +-
 src/dlt/performance/play_ground/PerfPoint.py                  | 2 +-
 src/dlt/performance/play_ground/Random.py                     | 2 +-
 src/dlt/performance/play_ground/Settings.py                   | 2 +-
 src/dlt/performance/play_ground/__init__.py                   | 2 +-
 src/dlt/performance/run_test.sh                               | 2 +-
 src/e2e_orchestrator/.gitlab-ci.yml                           | 2 +-
 src/e2e_orchestrator/Config.py                                | 2 +-
 src/e2e_orchestrator/Dockerfile                               | 2 +-
 src/e2e_orchestrator/__init__.py                              | 2 +-
 src/e2e_orchestrator/client/E2EOrchestratorClient.py          | 2 +-
 src/e2e_orchestrator/client/__init__.py                       | 2 +-
 src/e2e_orchestrator/requirements.in                          | 2 +-
 src/e2e_orchestrator/service/E2EOrchestratorService.py        | 2 +-
 .../service/E2EOrchestratorServiceServicerImpl.py             | 2 +-
 src/e2e_orchestrator/service/__init__.py                      | 2 +-
 src/e2e_orchestrator/service/__main__.py                      | 2 +-
 src/e2e_orchestrator/tests/__init__.py                        | 2 +-
 src/e2e_orchestrator/tests/deploy_specs.sh                    | 2 +-
 src/e2e_orchestrator/tests/functional_tests/Fixtures.py       | 2 +-
 src/e2e_orchestrator/tests/functional_tests/Objects.py        | 2 +-
 src/e2e_orchestrator/tests/functional_tests/__init__.py       | 2 +-
 .../tests/functional_tests/test_functional_bootstrap.py       | 2 +-
 .../tests/functional_tests/test_functional_cleanup.py         | 2 +-
 .../tests/functional_tests/test_functional_compute_path.py    | 2 +-
 src/e2e_orchestrator/tests/redeploy.sh                        | 2 +-
 src/e2e_orchestrator/tests/run_test_01_bootstrap.sh           | 2 +-
 src/e2e_orchestrator/tests/run_test_02_compute_path.sh        | 2 +-
 src/e2e_orchestrator/tests/run_test_03_cleanup.sh             | 2 +-
 src/e2e_orchestrator/tests/run_tests.sh                       | 2 +-
 src/forecaster/.gitlab-ci.yml                                 | 2 +-
 src/forecaster/Config.py                                      | 2 +-
 src/forecaster/Dockerfile                                     | 2 +-
 src/forecaster/__init__.py                                    | 2 +-
 src/forecaster/client/ForecasterClient.py                     | 2 +-
 src/forecaster/client/__init__.py                             | 2 +-
 src/forecaster/requirements.in                                | 2 +-
 src/forecaster/service/Forecaster.py                          | 2 +-
 src/forecaster/service/ForecasterService.py                   | 2 +-
 src/forecaster/service/ForecasterServiceServicerImpl.py       | 2 +-
 src/forecaster/service/KpiManager.py                          | 2 +-
 src/forecaster/service/__init__.py                            | 2 +-
 src/forecaster/service/__main__.py                            | 2 +-
 src/forecaster/tests/MockService_Dependencies.py              | 2 +-
 src/forecaster/tests/PrepareTestScenario.py                   | 2 +-
 src/forecaster/tests/Tools.py                                 | 2 +-
 src/forecaster/tests/__init__.py                              | 2 +-
 src/forecaster/tests/data/inject_samples.py                   | 2 +-
 src/forecaster/tests/test_unitary.py                          | 2 +-
 src/gitlab-ci.yml_generator.py                                | 2 +-
 src/interdomain/.gitlab-ci.yml                                | 2 +-
 src/interdomain/Config.py                                     | 2 +-
 src/interdomain/Dockerfile                                    | 2 +-
 src/interdomain/__init__.py                                   | 2 +-
 src/interdomain/client/InterdomainClient.py                   | 2 +-
 src/interdomain/client/__init__.py                            | 2 +-
 src/interdomain/requirements.in                               | 2 +-
 src/interdomain/service/InterdomainService.py                 | 2 +-
 src/interdomain/service/InterdomainServiceServicerImpl.py     | 2 +-
 src/interdomain/service/RemoteDomainClients.py                | 2 +-
 src/interdomain/service/Tools.py                              | 2 +-
 src/interdomain/service/__init__.py                           | 2 +-
 src/interdomain/service/__main__.py                           | 2 +-
 .../service/_old_code/InterdomainServiceServicerImpl.py       | 2 +-
 src/interdomain/service/topology_abstractor/AbstractDevice.py | 2 +-
 src/interdomain/service/topology_abstractor/AbstractLink.py   | 2 +-
 .../service/topology_abstractor/DltRecordSender.py            | 2 +-
 .../service/topology_abstractor/TopologyAbstractor.py         | 2 +-
 src/interdomain/service/topology_abstractor/Types.py          | 2 +-
 src/interdomain/service/topology_abstractor/__init__.py       | 2 +-
 src/interdomain/tests/__init__.py                             | 2 +-
 src/interdomain/tests/old_tests.py                            | 2 +-
 src/interdomain/tests/test_compute_domains.py                 | 2 +-
 src/interdomain/tests/test_topology_abstractor.py             | 2 +-
 src/l3_attackmitigator/.gitlab-ci.yml                         | 2 +-
 src/l3_attackmitigator/Config.py                              | 2 +-
 src/l3_attackmitigator/Dockerfile                             | 2 +-
 src/l3_attackmitigator/__init__.py                            | 2 +-
 src/l3_attackmitigator/client/__init__.py                     | 2 +-
 src/l3_attackmitigator/client/l3_attackmitigatorClient.py     | 2 +-
 src/l3_attackmitigator/requirements.in                        | 2 +-
 src/l3_attackmitigator/service/__init__.py                    | 2 +-
 src/l3_attackmitigator/service/__main__.py                    | 2 +-
 src/l3_attackmitigator/service/l3_attackmitigatorService.py   | 2 +-
 .../service/l3_attackmitigatorServiceServicerImpl.py          | 2 +-
 src/l3_attackmitigator/tests/__init__.py                      | 2 +-
 src/l3_attackmitigator/tests/test_unitary.py                  | 2 +-
 src/l3_centralizedattackdetector/.gitlab-ci.yml               | 2 +-
 src/l3_centralizedattackdetector/Config.py                    | 2 +-
 src/l3_centralizedattackdetector/Dockerfile                   | 2 +-
 src/l3_centralizedattackdetector/__init__.py                  | 2 +-
 src/l3_centralizedattackdetector/client/__init__.py           | 2 +-
 .../client/l3_centralizedattackdetectorClient.py              | 2 +-
 src/l3_centralizedattackdetector/requirements.in              | 2 +-
 src/l3_centralizedattackdetector/service/__init__.py          | 2 +-
 src/l3_centralizedattackdetector/service/__main__.py          | 2 +-
 .../service/l3_centralizedattackdetectorService.py            | 2 +-
 .../l3_centralizedattackdetectorServiceServicerImpl.py        | 2 +-
 src/l3_centralizedattackdetector/tests/__init__.py            | 2 +-
 src/l3_centralizedattackdetector/tests/test_unitary.py        | 2 +-
 src/l3_distributedattackdetector/.gitlab-ci.yml               | 2 +-
 src/l3_distributedattackdetector/Config.py                    | 2 +-
 src/l3_distributedattackdetector/Dockerfile                   | 2 +-
 src/l3_distributedattackdetector/__init__.py                  | 2 +-
 src/l3_distributedattackdetector/requirements.in              | 2 +-
 src/l3_distributedattackdetector/service/__init__.py          | 2 +-
 src/l3_distributedattackdetector/service/__main__.py          | 2 +-
 .../service/l3_distributedattackdetector.py                   | 2 +-
 src/l3_distributedattackdetector/tests/__init__.py            | 2 +-
 src/l3_distributedattackdetector/tests/data_generator.py      | 2 +-
 src/l3_distributedattackdetector/tests/test_unitary.py        | 2 +-
 src/load_generator/.gitlab-ci.yml                             | 2 +-
 src/load_generator/Config.py                                  | 2 +-
 src/load_generator/Dockerfile                                 | 2 +-
 src/load_generator/__init__.py                                | 2 +-
 src/load_generator/client/LoadGeneratorClient.py              | 2 +-
 src/load_generator/client/__init__.py                         | 2 +-
 src/load_generator/command/__init__.py                        | 2 +-
 src/load_generator/command/__main__.py                        | 2 +-
 src/load_generator/load_gen/Constants.py                      | 2 +-
 src/load_generator/load_gen/DltTools.py                       | 2 +-
 src/load_generator/load_gen/Parameters.py                     | 2 +-
 src/load_generator/load_gen/RequestGenerator.py               | 2 +-
 src/load_generator/load_gen/RequestScheduler.py               | 2 +-
 src/load_generator/load_gen/__init__.py                       | 2 +-
 src/load_generator/requirements.in                            | 2 +-
 src/load_generator/run.sh                                     | 2 +-
 src/load_generator/service/Constants.py                       | 2 +-
 src/load_generator/service/LoadGeneratorService.py            | 2 +-
 .../service/LoadGeneratorServiceServicerImpl.py               | 2 +-
 src/load_generator/service/__init__.py                        | 2 +-
 src/load_generator/service/__main__.py                        | 2 +-
 src/load_generator/tests/__init__.py                          | 2 +-
 src/load_generator/tests/deploy_specs.sh                      | 2 +-
 src/load_generator/tests/test_dlt_functional.py               | 2 +-
 src/load_generator/tools/ListScalarRange.py                   | 2 +-
 src/load_generator/tools/__init__.py                          | 2 +-
 src/monitoring/.gitlab-ci.yml                                 | 2 +-
 src/monitoring/Dockerfile                                     | 2 +-
 src/monitoring/__init__.py                                    | 2 +-
 src/monitoring/client/MonitoringClient.py                     | 2 +-
 src/monitoring/client/__init__.py                             | 2 +-
 src/monitoring/requirements.in                                | 2 +-
 src/monitoring/service/AlarmManager.py                        | 2 +-
 src/monitoring/service/EventTools.py                          | 2 +-
 src/monitoring/service/InfluxTools.py                         | 2 +-
 src/monitoring/service/ManagementDBTools.py                   | 2 +-
 src/monitoring/service/MetricsDBTools.py                      | 2 +-
 src/monitoring/service/MonitoringService.py                   | 2 +-
 src/monitoring/service/MonitoringServiceServicerImpl.py       | 2 +-
 src/monitoring/service/NameMapping.py                         | 2 +-
 src/monitoring/service/SubscriptionManager.py                 | 2 +-
 src/monitoring/service/__init__.py                            | 2 +-
 src/monitoring/service/__main__.py                            | 2 +-
 src/monitoring/tests/Messages.py                              | 2 +-
 src/monitoring/tests/Objects.py                               | 2 +-
 src/monitoring/tests/__init__.py                              | 2 +-
 src/monitoring/tests/test_unitary.py                          | 2 +-
 src/nbi/.gitlab-ci.yml                                        | 2 +-
 src/nbi/Config.py                                             | 2 +-
 src/nbi/Dockerfile                                            | 2 +-
 src/nbi/__init__.py                                           | 2 +-
 src/nbi/client/NbiClient.py                                   | 2 +-
 src/nbi/client/__init__.py                                    | 2 +-
 src/nbi/requirements.in                                       | 2 +-
 src/nbi/service/NbiService.py                                 | 2 +-
 src/nbi/service/NbiServiceServicerImpl.py                     | 2 +-
 src/nbi/service/__init__.py                                   | 2 +-
 src/nbi/service/__main__.py                                   | 2 +-
 src/nbi/service/rest_server/RestServer.py                     | 2 +-
 src/nbi/service/rest_server/__init__.py                       | 2 +-
 src/nbi/service/rest_server/nbi_plugins/__init__.py           | 2 +-
 src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Resources.py | 2 +-
 src/nbi/service/rest_server/nbi_plugins/etsi_bwm/Tools.py     | 2 +-
 src/nbi/service/rest_server/nbi_plugins/etsi_bwm/__init__.py  | 2 +-
 .../service/rest_server/nbi_plugins/ietf_l2vpn/Constants.py   | 2 +-
 .../rest_server/nbi_plugins/ietf_l2vpn/L2VPN_Service.py       | 2 +-
 .../rest_server/nbi_plugins/ietf_l2vpn/L2VPN_Services.py      | 2 +-
 .../nbi_plugins/ietf_l2vpn/L2VPN_SiteNetworkAccesses.py       | 2 +-
 .../service/rest_server/nbi_plugins/ietf_l2vpn/__init__.py    | 2 +-
 .../rest_server/nbi_plugins/ietf_l2vpn/schemas/Common.py      | 2 +-
 .../rest_server/nbi_plugins/ietf_l2vpn/schemas/__init__.py    | 2 +-
 .../nbi_plugins/ietf_l2vpn/schemas/site_network_access.py     | 2 +-
 .../rest_server/nbi_plugins/ietf_l2vpn/schemas/vpn_service.py | 2 +-
 .../service/rest_server/nbi_plugins/ietf_l3vpn/Handlers.py    | 2 +-
 .../rest_server/nbi_plugins/ietf_l3vpn/L3VPN_Service.py       | 2 +-
 .../rest_server/nbi_plugins/ietf_l3vpn/L3VPN_Services.py      | 2 +-
 .../nbi_plugins/ietf_l3vpn/L3VPN_SiteNetworkAccesses.py       | 2 +-
 .../rest_server/nbi_plugins/ietf_l3vpn/YangValidator.py       | 2 +-
 .../service/rest_server/nbi_plugins/ietf_l3vpn/__init__.py    | 2 +-
 .../rest_server/nbi_plugins/ietf_network/ComposeLink.py       | 2 +-
 .../rest_server/nbi_plugins/ietf_network/ComposeNetwork.py    | 2 +-
 .../rest_server/nbi_plugins/ietf_network/ComposeNode.py       | 2 +-
 .../rest_server/nbi_plugins/ietf_network/ComposeTermPoint.py  | 2 +-
 .../rest_server/nbi_plugins/ietf_network/ManualFixes.py       | 2 +-
 .../rest_server/nbi_plugins/ietf_network/NameMapping.py       | 2 +-
 .../rest_server/nbi_plugins/ietf_network/NetworkTypeEnum.py   | 2 +-
 .../service/rest_server/nbi_plugins/ietf_network/Networks.py  | 2 +-
 .../service/rest_server/nbi_plugins/ietf_network/__init__.py  | 2 +-
 .../nbi_plugins/ietf_network/build-yang-bindings.sh           | 2 +-
 .../rest_server/nbi_plugins/ietf_network_slice/NSS_Service.py | 2 +-
 .../nbi_plugins/ietf_network_slice/NSS_Services.py            | 2 +-
 .../rest_server/nbi_plugins/ietf_network_slice/__init__.py    | 2 +-
 .../nbi_plugins/ietf_network_slice/bindings/__init__.py       | 2 +-
 .../nbi_plugins/ietf_network_slice/bindings/nacm/__init__.py  | 2 +-
 .../ietf_network_slice/bindings/nacm/groups/__init__.py       | 2 +-
 .../ietf_network_slice/bindings/nacm/groups/group/__init__.py | 2 +-
 .../ietf_network_slice/bindings/nacm/rule_list/__init__.py    | 2 +-
 .../bindings/nacm/rule_list/rule/__init__.py                  | 2 +-
 .../bindings/nacm/rule_list/rule/rule_type/__init__.py        | 2 +-
 .../nacm/rule_list/rule/rule_type/data_node/__init__.py       | 2 +-
 .../nacm/rule_list/rule/rule_type/notification/__init__.py    | 2 +-
 .../rule_list/rule/rule_type/protocol_operation/__init__.py   | 2 +-
 .../bindings/network_slice_services/__init__.py               | 2 +-
 .../bindings/network_slice_services/slice_service/__init__.py | 2 +-
 .../slice_service/connection_groups/__init__.py               | 2 +-
 .../connection_groups/connection_group/__init__.py            | 2 +-
 .../connection_group/connection_group_monitoring/__init__.py  | 2 +-
 .../connection_group/connectivity_construct/__init__.py       | 2 +-
 .../connectivity_construct_monitoring/__init__.py             | 2 +-
 .../connectivity_construct_type/__init__.py                   | 2 +-
 .../connectivity_construct_type/a2a/__init__.py               | 2 +-
 .../connectivity_construct_type/a2a/a2a_sdp/__init__.py       | 2 +-
 .../a2a/a2a_sdp/slo_sle_policy/__init__.py                    | 2 +-
 .../a2a/a2a_sdp/slo_sle_policy/custom/__init__.py             | 2 +-
 .../slo_sle_policy/custom/service_slo_sle_policy/__init__.py  | 2 +-
 .../custom/service_slo_sle_policy/metric_bounds/__init__.py   | 2 +-
 .../metric_bounds/metric_bound/__init__.py                    | 2 +-
 .../service_slo_sle_policy/steering_constraints/__init__.py   | 2 +-
 .../steering_constraints/path_constraints/__init__.py         | 2 +-
 .../steering_constraints/service_function/__init__.py         | 2 +-
 .../a2a/a2a_sdp/slo_sle_policy/standard/__init__.py           | 2 +-
 .../connectivity_construct_type/p2mp/__init__.py              | 2 +-
 .../connectivity_construct_type/p2p/__init__.py               | 2 +-
 .../connectivity_construct/slo_sle_policy/__init__.py         | 2 +-
 .../connectivity_construct/slo_sle_policy/custom/__init__.py  | 2 +-
 .../slo_sle_policy/custom/service_slo_sle_policy/__init__.py  | 2 +-
 .../custom/service_slo_sle_policy/metric_bounds/__init__.py   | 2 +-
 .../metric_bounds/metric_bound/__init__.py                    | 2 +-
 .../service_slo_sle_policy/steering_constraints/__init__.py   | 2 +-
 .../steering_constraints/path_constraints/__init__.py         | 2 +-
 .../steering_constraints/service_function/__init__.py         | 2 +-
 .../slo_sle_policy/standard/__init__.py                       | 2 +-
 .../connection_group/slo_sle_policy/__init__.py               | 2 +-
 .../connection_group/slo_sle_policy/custom/__init__.py        | 2 +-
 .../slo_sle_policy/custom/service_slo_sle_policy/__init__.py  | 2 +-
 .../custom/service_slo_sle_policy/metric_bounds/__init__.py   | 2 +-
 .../metric_bounds/metric_bound/__init__.py                    | 2 +-
 .../service_slo_sle_policy/steering_constraints/__init__.py   | 2 +-
 .../steering_constraints/path_constraints/__init__.py         | 2 +-
 .../steering_constraints/service_function/__init__.py         | 2 +-
 .../connection_group/slo_sle_policy/standard/__init__.py      | 2 +-
 .../network_slice_services/slice_service/sdps/__init__.py     | 2 +-
 .../network_slice_services/slice_service/sdps/sdp/__init__.py | 2 +-
 .../slice_service/sdps/sdp/attachment_circuits/__init__.py    | 2 +-
 .../sdp/attachment_circuits/attachment_circuit/__init__.py    | 2 +-
 .../attachment_circuit/ac_tags/__init__.py                    | 2 +-
 .../attachment_circuit/ac_tags/ac_tag_opaque/__init__.py      | 2 +-
 .../attachment_circuit/ac_tags/ac_tags/__init__.py            | 2 +-
 .../attachment_circuit/incoming_qos_policy/__init__.py        | 2 +-
 .../incoming_qos_policy/rate_limits/__init__.py               | 2 +-
 .../attachment_circuit/outgoing_qos_policy/__init__.py        | 2 +-
 .../outgoing_qos_policy/rate_limits/__init__.py               | 2 +-
 .../attachment_circuit/sdp_peering/__init__.py                | 2 +-
 .../attachment_circuit/sdp_peering/opaque/__init__.py         | 2 +-
 .../attachment_circuit/sdp_peering/protocol/__init__.py       | 2 +-
 .../sdp_peering/protocol/attribute/__init__.py                | 2 +-
 .../slice_service/sdps/sdp/incoming_qos_policy/__init__.py    | 2 +-
 .../sdps/sdp/incoming_qos_policy/rate_limits/__init__.py      | 2 +-
 .../slice_service/sdps/sdp/location/__init__.py               | 2 +-
 .../slice_service/sdps/sdp/outgoing_qos_policy/__init__.py    | 2 +-
 .../sdps/sdp/outgoing_qos_policy/rate_limits/__init__.py      | 2 +-
 .../slice_service/sdps/sdp/sdp_monitoring/__init__.py         | 2 +-
 .../slice_service/sdps/sdp/sdp_peering/__init__.py            | 2 +-
 .../slice_service/sdps/sdp/sdp_peering/opaque/__init__.py     | 2 +-
 .../slice_service/sdps/sdp/sdp_peering/protocol/__init__.py   | 2 +-
 .../sdps/sdp/sdp_peering/protocol/attribute/__init__.py       | 2 +-
 .../slice_service/sdps/sdp/service_match_criteria/__init__.py | 2 +-
 .../sdp/service_match_criteria/match_criterion/__init__.py    | 2 +-
 .../slice_service/sdps/sdp/status/__init__.py                 | 2 +-
 .../slice_service/sdps/sdp/status/admin_status/__init__.py    | 2 +-
 .../slice_service/sdps/sdp/status/oper_status/__init__.py     | 2 +-
 .../slice_service/service_tags/__init__.py                    | 2 +-
 .../slice_service/service_tags/tag_opaque/__init__.py         | 2 +-
 .../slice_service/service_tags/tag_type/__init__.py           | 2 +-
 .../slice_service/slo_sle_policy/__init__.py                  | 2 +-
 .../slice_service/slo_sle_policy/custom/__init__.py           | 2 +-
 .../slo_sle_policy/custom/service_slo_sle_policy/__init__.py  | 2 +-
 .../custom/service_slo_sle_policy/metric_bounds/__init__.py   | 2 +-
 .../metric_bounds/metric_bound/__init__.py                    | 2 +-
 .../service_slo_sle_policy/steering_constraints/__init__.py   | 2 +-
 .../steering_constraints/path_constraints/__init__.py         | 2 +-
 .../steering_constraints/service_function/__init__.py         | 2 +-
 .../slice_service/slo_sle_policy/standard/__init__.py         | 2 +-
 .../network_slice_services/slice_service/status/__init__.py   | 2 +-
 .../slice_service/status/admin_status/__init__.py             | 2 +-
 .../slice_service/status/oper_status/__init__.py              | 2 +-
 .../slice_service/te_topology_identifier/__init__.py          | 2 +-
 .../network_slice_services/slo_sle_templates/__init__.py      | 2 +-
 .../slo_sle_templates/slo_sle_template/__init__.py            | 2 +-
 .../slo_sle_template/service_slo_sle_policy/__init__.py       | 2 +-
 .../service_slo_sle_policy/metric_bounds/__init__.py          | 2 +-
 .../metric_bounds/metric_bound/__init__.py                    | 2 +-
 .../service_slo_sle_policy/steering_constraints/__init__.py   | 2 +-
 .../steering_constraints/path_constraints/__init__.py         | 2 +-
 .../steering_constraints/service_function/__init__.py         | 2 +-
 .../ietf_network_slice/bindings/networks/__init__.py          | 2 +-
 .../ietf_network_slice/bindings/networks/network/__init__.py  | 2 +-
 .../bindings/networks/network/link/__init__.py                | 2 +-
 .../bindings/networks/network/link/destination/__init__.py    | 2 +-
 .../bindings/networks/network/link/source/__init__.py         | 2 +-
 .../networks/network/link/supporting_link/__init__.py         | 2 +-
 .../bindings/networks/network/link/te/__init__.py             | 2 +-
 .../networks/network/link/te/bundle_stack_level/__init__.py   | 2 +-
 .../network/link/te/bundle_stack_level/bundle/__init__.py     | 2 +-
 .../te/bundle_stack_level/bundle/bundled_links/__init__.py    | 2 +-
 .../bundle/bundled_links/bundled_link/__init__.py             | 2 +-
 .../network/link/te/bundle_stack_level/component/__init__.py  | 2 +-
 .../bundle_stack_level/component/component_links/__init__.py  | 2 +-
 .../component/component_links/component_link/__init__.py      | 2 +-
 .../network/link/te/information_source_entry/__init__.py      | 2 +-
 .../information_source_state/__init__.py                      | 2 +-
 .../information_source_state/topology/__init__.py             | 2 +-
 .../interface_switching_capability/__init__.py                | 2 +-
 .../max_lsp_bandwidth/__init__.py                             | 2 +-
 .../max_lsp_bandwidth/te_bandwidth/__init__.py                | 2 +-
 .../max_lsp_bandwidth/te_bandwidth/technology/__init__.py     | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../information_source_entry/label_restrictions/__init__.py   | 2 +-
 .../label_restrictions/label_restriction/__init__.py          | 2 +-
 .../label_restriction/label_end/__init__.py                   | 2 +-
 .../label_restriction/label_end/te_label/__init__.py          | 2 +-
 .../label_end/te_label/technology/__init__.py                 | 2 +-
 .../label_end/te_label/technology/generic/__init__.py         | 2 +-
 .../label_restriction/label_start/__init__.py                 | 2 +-
 .../label_restriction/label_start/te_label/__init__.py        | 2 +-
 .../label_start/te_label/technology/__init__.py               | 2 +-
 .../label_start/te_label/technology/generic/__init__.py       | 2 +-
 .../label_restriction/label_step/__init__.py                  | 2 +-
 .../label_restriction/label_step/technology/__init__.py       | 2 +-
 .../label_step/technology/generic/__init__.py                 | 2 +-
 .../information_source_entry/max_link_bandwidth/__init__.py   | 2 +-
 .../max_link_bandwidth/te_bandwidth/__init__.py               | 2 +-
 .../max_link_bandwidth/te_bandwidth/technology/__init__.py    | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../max_resv_link_bandwidth/__init__.py                       | 2 +-
 .../max_resv_link_bandwidth/te_bandwidth/__init__.py          | 2 +-
 .../te_bandwidth/technology/__init__.py                       | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../link/te/information_source_entry/te_nsrlgs/__init__.py    | 2 +-
 .../link/te/information_source_entry/te_srlgs/__init__.py     | 2 +-
 .../information_source_entry/unreserved_bandwidth/__init__.py | 2 +-
 .../unreserved_bandwidth/te_bandwidth/__init__.py             | 2 +-
 .../unreserved_bandwidth/te_bandwidth/technology/__init__.py  | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../network/link/te/information_source_state/__init__.py      | 2 +-
 .../link/te/information_source_state/topology/__init__.py     | 2 +-
 .../bindings/networks/network/link/te/recovery/__init__.py    | 2 +-
 .../bindings/networks/network/link/te/statistics/__init__.py  | 2 +-
 .../networks/network/link/te/te_link_attributes/__init__.py   | 2 +-
 .../link/te/te_link_attributes/external_domain/__init__.py    | 2 +-
 .../interface_switching_capability/__init__.py                | 2 +-
 .../max_lsp_bandwidth/__init__.py                             | 2 +-
 .../max_lsp_bandwidth/te_bandwidth/__init__.py                | 2 +-
 .../max_lsp_bandwidth/te_bandwidth/technology/__init__.py     | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../link/te/te_link_attributes/label_restrictions/__init__.py | 2 +-
 .../label_restrictions/label_restriction/__init__.py          | 2 +-
 .../label_restriction/label_end/__init__.py                   | 2 +-
 .../label_restriction/label_end/te_label/__init__.py          | 2 +-
 .../label_end/te_label/technology/__init__.py                 | 2 +-
 .../label_end/te_label/technology/generic/__init__.py         | 2 +-
 .../label_restriction/label_start/__init__.py                 | 2 +-
 .../label_restriction/label_start/te_label/__init__.py        | 2 +-
 .../label_start/te_label/technology/__init__.py               | 2 +-
 .../label_start/te_label/technology/generic/__init__.py       | 2 +-
 .../label_restriction/label_step/__init__.py                  | 2 +-
 .../label_restriction/label_step/technology/__init__.py       | 2 +-
 .../label_step/technology/generic/__init__.py                 | 2 +-
 .../link/te/te_link_attributes/max_link_bandwidth/__init__.py | 2 +-
 .../max_link_bandwidth/te_bandwidth/__init__.py               | 2 +-
 .../max_link_bandwidth/te_bandwidth/technology/__init__.py    | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../te/te_link_attributes/max_resv_link_bandwidth/__init__.py | 2 +-
 .../max_resv_link_bandwidth/te_bandwidth/__init__.py          | 2 +-
 .../te_bandwidth/technology/__init__.py                       | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../network/link/te/te_link_attributes/te_nsrlgs/__init__.py  | 2 +-
 .../network/link/te/te_link_attributes/te_srlgs/__init__.py   | 2 +-
 .../network/link/te/te_link_attributes/underlay/__init__.py   | 2 +-
 .../te/te_link_attributes/underlay/backup_path/__init__.py    | 2 +-
 .../underlay/backup_path/path_element/__init__.py             | 2 +-
 .../underlay/backup_path/path_element/type/__init__.py        | 2 +-
 .../backup_path/path_element/type/as_number/__init__.py       | 2 +-
 .../path_element/type/as_number/as_number_hop/__init__.py     | 2 +-
 .../underlay/backup_path/path_element/type/label/__init__.py  | 2 +-
 .../backup_path/path_element/type/label/label_hop/__init__.py | 2 +-
 .../path_element/type/label/label_hop/te_label/__init__.py    | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_element/type/numbered_link_hop/__init__.py           | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_element/type/numbered_node_hop/__init__.py           | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_element/type/unnumbered_link_hop/__init__.py         | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../te/te_link_attributes/underlay/primary_path/__init__.py   | 2 +-
 .../underlay/primary_path/path_element/__init__.py            | 2 +-
 .../underlay/primary_path/path_element/type/__init__.py       | 2 +-
 .../primary_path/path_element/type/as_number/__init__.py      | 2 +-
 .../path_element/type/as_number/as_number_hop/__init__.py     | 2 +-
 .../underlay/primary_path/path_element/type/label/__init__.py | 2 +-
 .../path_element/type/label/label_hop/__init__.py             | 2 +-
 .../path_element/type/label/label_hop/te_label/__init__.py    | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_element/type/numbered_link_hop/__init__.py           | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_element/type/numbered_node_hop/__init__.py           | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_element/type/unnumbered_link_hop/__init__.py         | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../underlay/tunnel_termination_points/__init__.py            | 2 +-
 .../link/te/te_link_attributes/underlay/tunnels/__init__.py   | 2 +-
 .../te/te_link_attributes/underlay/tunnels/tunnel/__init__.py | 2 +-
 .../te/te_link_attributes/unreserved_bandwidth/__init__.py    | 2 +-
 .../unreserved_bandwidth/te_bandwidth/__init__.py             | 2 +-
 .../unreserved_bandwidth/te_bandwidth/technology/__init__.py  | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../bindings/networks/network/link/te/underlay/__init__.py    | 2 +-
 .../bindings/networks/network/network_types/__init__.py       | 2 +-
 .../networks/network/network_types/te_topology/__init__.py    | 2 +-
 .../bindings/networks/network/node/__init__.py                | 2 +-
 .../networks/network/node/supporting_node/__init__.py         | 2 +-
 .../bindings/networks/network/node/te/__init__.py             | 2 +-
 .../bindings/networks/network/node/te/geolocation/__init__.py | 2 +-
 .../network/node/te/information_source_entry/__init__.py      | 2 +-
 .../connectivity_matrices/__init__.py                         | 2 +-
 .../connectivity_matrices/connectivity_matrix/__init__.py     | 2 +-
 .../connectivity_matrix/from/__init__.py                      | 2 +-
 .../connectivity_matrix/from/label_restrictions/__init__.py   | 2 +-
 .../from/label_restrictions/label_restriction/__init__.py     | 2 +-
 .../label_restriction/label_end/__init__.py                   | 2 +-
 .../label_restriction/label_end/te_label/__init__.py          | 2 +-
 .../label_end/te_label/technology/__init__.py                 | 2 +-
 .../label_end/te_label/technology/generic/__init__.py         | 2 +-
 .../label_restriction/label_start/__init__.py                 | 2 +-
 .../label_restriction/label_start/te_label/__init__.py        | 2 +-
 .../label_start/te_label/technology/__init__.py               | 2 +-
 .../label_start/te_label/technology/generic/__init__.py       | 2 +-
 .../label_restriction/label_step/__init__.py                  | 2 +-
 .../label_restriction/label_step/technology/__init__.py       | 2 +-
 .../label_step/technology/generic/__init__.py                 | 2 +-
 .../connectivity_matrix/optimizations/__init__.py             | 2 +-
 .../connectivity_matrix/optimizations/algorithm/__init__.py   | 2 +-
 .../optimizations/algorithm/metric/__init__.py                | 2 +-
 .../algorithm/metric/optimization_metric/__init__.py          | 2 +-
 .../explicit_route_exclude_objects/__init__.py                | 2 +-
 .../route_object_exclude_object/__init__.py                   | 2 +-
 .../route_object_exclude_object/type/__init__.py              | 2 +-
 .../route_object_exclude_object/type/as_number/__init__.py    | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../route_object_exclude_object/type/label/__init__.py        | 2 +-
 .../type/label/label_hop/__init__.py                          | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../type/numbered_link_hop/__init__.py                        | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/__init__.py                        | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../route_object_exclude_object/type/srlg/__init__.py         | 2 +-
 .../route_object_exclude_object/type/srlg/srlg/__init__.py    | 2 +-
 .../type/unnumbered_link_hop/__init__.py                      | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../explicit_route_include_objects/__init__.py                | 2 +-
 .../route_object_include_object/__init__.py                   | 2 +-
 .../route_object_include_object/type/__init__.py              | 2 +-
 .../route_object_include_object/type/as_number/__init__.py    | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../route_object_include_object/type/label/__init__.py        | 2 +-
 .../type/label/label_hop/__init__.py                          | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../type/numbered_link_hop/__init__.py                        | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/__init__.py                        | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../type/unnumbered_link_hop/__init__.py                      | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../optimizations/algorithm/metric/tiebreakers/__init__.py    | 2 +-
 .../algorithm/metric/tiebreakers/tiebreaker/__init__.py       | 2 +-
 .../optimizations/algorithm/objective_function/__init__.py    | 2 +-
 .../objective_function/objective_function/__init__.py         | 2 +-
 .../connectivity_matrix/path_constraints/__init__.py          | 2 +-
 .../path_constraints/path_affinities_values/__init__.py       | 2 +-
 .../path_affinities_values/path_affinities_value/__init__.py  | 2 +-
 .../path_constraints/path_affinity_names/__init__.py          | 2 +-
 .../path_affinity_names/path_affinity_name/__init__.py        | 2 +-
 .../path_affinity_name/affinity_name/__init__.py              | 2 +-
 .../path_constraints/path_metric_bounds/__init__.py           | 2 +-
 .../path_metric_bounds/path_metric_bound/__init__.py          | 2 +-
 .../path_constraints/path_srlgs_lists/__init__.py             | 2 +-
 .../path_srlgs_lists/path_srlgs_list/__init__.py              | 2 +-
 .../path_constraints/path_srlgs_names/__init__.py             | 2 +-
 .../path_srlgs_names/path_srlgs_name/__init__.py              | 2 +-
 .../path_constraints/te_bandwidth/__init__.py                 | 2 +-
 .../path_constraints/te_bandwidth/technology/__init__.py      | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../connectivity_matrix/path_properties/__init__.py           | 2 +-
 .../path_properties/path_affinities_values/__init__.py        | 2 +-
 .../path_affinities_values/path_affinities_value/__init__.py  | 2 +-
 .../path_properties/path_affinity_names/__init__.py           | 2 +-
 .../path_affinity_names/path_affinity_name/__init__.py        | 2 +-
 .../path_affinity_name/affinity_name/__init__.py              | 2 +-
 .../path_properties/path_metric/__init__.py                   | 2 +-
 .../path_properties/path_route_objects/__init__.py            | 2 +-
 .../path_route_objects/path_route_object/__init__.py          | 2 +-
 .../path_route_objects/path_route_object/type/__init__.py     | 2 +-
 .../path_route_object/type/as_number/__init__.py              | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../path_route_object/type/label/__init__.py                  | 2 +-
 .../path_route_object/type/label/label_hop/__init__.py        | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_route_object/type/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_route_object/type/numbered_node_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_route_object/type/unnumbered_link_hop/__init__.py    | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../path_properties/path_srlgs_lists/__init__.py              | 2 +-
 .../path_srlgs_lists/path_srlgs_list/__init__.py              | 2 +-
 .../path_properties/path_srlgs_names/__init__.py              | 2 +-
 .../path_srlgs_names/path_srlgs_name/__init__.py              | 2 +-
 .../connectivity_matrices/connectivity_matrix/to/__init__.py  | 2 +-
 .../connectivity_matrix/to/label_restrictions/__init__.py     | 2 +-
 .../to/label_restrictions/label_restriction/__init__.py       | 2 +-
 .../label_restriction/label_end/__init__.py                   | 2 +-
 .../label_restriction/label_end/te_label/__init__.py          | 2 +-
 .../label_end/te_label/technology/__init__.py                 | 2 +-
 .../label_end/te_label/technology/generic/__init__.py         | 2 +-
 .../label_restriction/label_start/__init__.py                 | 2 +-
 .../label_restriction/label_start/te_label/__init__.py        | 2 +-
 .../label_start/te_label/technology/__init__.py               | 2 +-
 .../label_start/te_label/technology/generic/__init__.py       | 2 +-
 .../label_restriction/label_step/__init__.py                  | 2 +-
 .../label_restriction/label_step/technology/__init__.py       | 2 +-
 .../label_step/technology/generic/__init__.py                 | 2 +-
 .../connectivity_matrix/underlay/__init__.py                  | 2 +-
 .../connectivity_matrix/underlay/backup_path/__init__.py      | 2 +-
 .../underlay/backup_path/path_element/__init__.py             | 2 +-
 .../underlay/backup_path/path_element/type/__init__.py        | 2 +-
 .../backup_path/path_element/type/as_number/__init__.py       | 2 +-
 .../path_element/type/as_number/as_number_hop/__init__.py     | 2 +-
 .../underlay/backup_path/path_element/type/label/__init__.py  | 2 +-
 .../backup_path/path_element/type/label/label_hop/__init__.py | 2 +-
 .../path_element/type/label/label_hop/te_label/__init__.py    | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_element/type/numbered_link_hop/__init__.py           | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_element/type/numbered_node_hop/__init__.py           | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_element/type/unnumbered_link_hop/__init__.py         | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../connectivity_matrix/underlay/primary_path/__init__.py     | 2 +-
 .../underlay/primary_path/path_element/__init__.py            | 2 +-
 .../underlay/primary_path/path_element/type/__init__.py       | 2 +-
 .../primary_path/path_element/type/as_number/__init__.py      | 2 +-
 .../path_element/type/as_number/as_number_hop/__init__.py     | 2 +-
 .../underlay/primary_path/path_element/type/label/__init__.py | 2 +-
 .../path_element/type/label/label_hop/__init__.py             | 2 +-
 .../path_element/type/label/label_hop/te_label/__init__.py    | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_element/type/numbered_link_hop/__init__.py           | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_element/type/numbered_node_hop/__init__.py           | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_element/type/unnumbered_link_hop/__init__.py         | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../underlay/tunnel_termination_points/__init__.py            | 2 +-
 .../connectivity_matrix/underlay/tunnels/__init__.py          | 2 +-
 .../connectivity_matrix/underlay/tunnels/tunnel/__init__.py   | 2 +-
 .../connectivity_matrices/label_restrictions/__init__.py      | 2 +-
 .../label_restrictions/label_restriction/__init__.py          | 2 +-
 .../label_restriction/label_end/__init__.py                   | 2 +-
 .../label_restriction/label_end/te_label/__init__.py          | 2 +-
 .../label_end/te_label/technology/__init__.py                 | 2 +-
 .../label_end/te_label/technology/generic/__init__.py         | 2 +-
 .../label_restriction/label_start/__init__.py                 | 2 +-
 .../label_restriction/label_start/te_label/__init__.py        | 2 +-
 .../label_start/te_label/technology/__init__.py               | 2 +-
 .../label_start/te_label/technology/generic/__init__.py       | 2 +-
 .../label_restriction/label_step/__init__.py                  | 2 +-
 .../label_restriction/label_step/technology/__init__.py       | 2 +-
 .../label_step/technology/generic/__init__.py                 | 2 +-
 .../connectivity_matrices/optimizations/__init__.py           | 2 +-
 .../connectivity_matrices/optimizations/algorithm/__init__.py | 2 +-
 .../optimizations/algorithm/metric/__init__.py                | 2 +-
 .../algorithm/metric/optimization_metric/__init__.py          | 2 +-
 .../explicit_route_exclude_objects/__init__.py                | 2 +-
 .../route_object_exclude_object/__init__.py                   | 2 +-
 .../route_object_exclude_object/type/__init__.py              | 2 +-
 .../route_object_exclude_object/type/as_number/__init__.py    | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../route_object_exclude_object/type/label/__init__.py        | 2 +-
 .../type/label/label_hop/__init__.py                          | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../type/numbered_link_hop/__init__.py                        | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/__init__.py                        | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../route_object_exclude_object/type/srlg/__init__.py         | 2 +-
 .../route_object_exclude_object/type/srlg/srlg/__init__.py    | 2 +-
 .../type/unnumbered_link_hop/__init__.py                      | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../explicit_route_include_objects/__init__.py                | 2 +-
 .../route_object_include_object/__init__.py                   | 2 +-
 .../route_object_include_object/type/__init__.py              | 2 +-
 .../route_object_include_object/type/as_number/__init__.py    | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../route_object_include_object/type/label/__init__.py        | 2 +-
 .../type/label/label_hop/__init__.py                          | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../type/numbered_link_hop/__init__.py                        | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/__init__.py                        | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../type/unnumbered_link_hop/__init__.py                      | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../optimizations/algorithm/metric/tiebreakers/__init__.py    | 2 +-
 .../algorithm/metric/tiebreakers/tiebreaker/__init__.py       | 2 +-
 .../optimizations/algorithm/objective_function/__init__.py    | 2 +-
 .../objective_function/objective_function/__init__.py         | 2 +-
 .../connectivity_matrices/path_constraints/__init__.py        | 2 +-
 .../path_constraints/path_affinities_values/__init__.py       | 2 +-
 .../path_affinities_values/path_affinities_value/__init__.py  | 2 +-
 .../path_constraints/path_affinity_names/__init__.py          | 2 +-
 .../path_affinity_names/path_affinity_name/__init__.py        | 2 +-
 .../path_affinity_name/affinity_name/__init__.py              | 2 +-
 .../path_constraints/path_metric_bounds/__init__.py           | 2 +-
 .../path_metric_bounds/path_metric_bound/__init__.py          | 2 +-
 .../path_constraints/path_srlgs_lists/__init__.py             | 2 +-
 .../path_srlgs_lists/path_srlgs_list/__init__.py              | 2 +-
 .../path_constraints/path_srlgs_names/__init__.py             | 2 +-
 .../path_srlgs_names/path_srlgs_name/__init__.py              | 2 +-
 .../path_constraints/te_bandwidth/__init__.py                 | 2 +-
 .../path_constraints/te_bandwidth/technology/__init__.py      | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../connectivity_matrices/path_properties/__init__.py         | 2 +-
 .../path_properties/path_affinities_values/__init__.py        | 2 +-
 .../path_affinities_values/path_affinities_value/__init__.py  | 2 +-
 .../path_properties/path_affinity_names/__init__.py           | 2 +-
 .../path_affinity_names/path_affinity_name/__init__.py        | 2 +-
 .../path_affinity_name/affinity_name/__init__.py              | 2 +-
 .../path_properties/path_metric/__init__.py                   | 2 +-
 .../path_properties/path_route_objects/__init__.py            | 2 +-
 .../path_route_objects/path_route_object/__init__.py          | 2 +-
 .../path_route_objects/path_route_object/type/__init__.py     | 2 +-
 .../path_route_object/type/as_number/__init__.py              | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../path_route_object/type/label/__init__.py                  | 2 +-
 .../path_route_object/type/label/label_hop/__init__.py        | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_route_object/type/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_route_object/type/numbered_node_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_route_object/type/unnumbered_link_hop/__init__.py    | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../path_properties/path_srlgs_lists/__init__.py              | 2 +-
 .../path_srlgs_lists/path_srlgs_list/__init__.py              | 2 +-
 .../path_properties/path_srlgs_names/__init__.py              | 2 +-
 .../path_srlgs_names/path_srlgs_name/__init__.py              | 2 +-
 .../connectivity_matrices/underlay/__init__.py                | 2 +-
 .../connectivity_matrices/underlay/backup_path/__init__.py    | 2 +-
 .../underlay/backup_path/path_element/__init__.py             | 2 +-
 .../underlay/backup_path/path_element/type/__init__.py        | 2 +-
 .../backup_path/path_element/type/as_number/__init__.py       | 2 +-
 .../path_element/type/as_number/as_number_hop/__init__.py     | 2 +-
 .../underlay/backup_path/path_element/type/label/__init__.py  | 2 +-
 .../backup_path/path_element/type/label/label_hop/__init__.py | 2 +-
 .../path_element/type/label/label_hop/te_label/__init__.py    | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_element/type/numbered_link_hop/__init__.py           | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_element/type/numbered_node_hop/__init__.py           | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_element/type/unnumbered_link_hop/__init__.py         | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../connectivity_matrices/underlay/primary_path/__init__.py   | 2 +-
 .../underlay/primary_path/path_element/__init__.py            | 2 +-
 .../underlay/primary_path/path_element/type/__init__.py       | 2 +-
 .../primary_path/path_element/type/as_number/__init__.py      | 2 +-
 .../path_element/type/as_number/as_number_hop/__init__.py     | 2 +-
 .../underlay/primary_path/path_element/type/label/__init__.py | 2 +-
 .../path_element/type/label/label_hop/__init__.py             | 2 +-
 .../path_element/type/label/label_hop/te_label/__init__.py    | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_element/type/numbered_link_hop/__init__.py           | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_element/type/numbered_node_hop/__init__.py           | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_element/type/unnumbered_link_hop/__init__.py         | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../underlay/tunnel_termination_points/__init__.py            | 2 +-
 .../connectivity_matrices/underlay/tunnels/__init__.py        | 2 +-
 .../connectivity_matrices/underlay/tunnels/tunnel/__init__.py | 2 +-
 .../information_source_state/__init__.py                      | 2 +-
 .../information_source_state/topology/__init__.py             | 2 +-
 .../te/information_source_entry/underlay_topology/__init__.py | 2 +-
 .../network/node/te/information_source_state/__init__.py      | 2 +-
 .../node/te/information_source_state/topology/__init__.py     | 2 +-
 .../bindings/networks/network/node/te/statistics/__init__.py  | 2 +-
 .../node/te/statistics/connectivity_matrix_entry/__init__.py  | 2 +-
 .../networks/network/node/te/statistics/node/__init__.py      | 2 +-
 .../networks/network/node/te/te_node_attributes/__init__.py   | 2 +-
 .../te/te_node_attributes/connectivity_matrices/__init__.py   | 2 +-
 .../connectivity_matrices/connectivity_matrix/__init__.py     | 2 +-
 .../connectivity_matrix/from/__init__.py                      | 2 +-
 .../connectivity_matrix/from/label_restrictions/__init__.py   | 2 +-
 .../from/label_restrictions/label_restriction/__init__.py     | 2 +-
 .../label_restriction/label_end/__init__.py                   | 2 +-
 .../label_restriction/label_end/te_label/__init__.py          | 2 +-
 .../label_end/te_label/technology/__init__.py                 | 2 +-
 .../label_end/te_label/technology/generic/__init__.py         | 2 +-
 .../label_restriction/label_start/__init__.py                 | 2 +-
 .../label_restriction/label_start/te_label/__init__.py        | 2 +-
 .../label_start/te_label/technology/__init__.py               | 2 +-
 .../label_start/te_label/technology/generic/__init__.py       | 2 +-
 .../label_restriction/label_step/__init__.py                  | 2 +-
 .../label_restriction/label_step/technology/__init__.py       | 2 +-
 .../label_step/technology/generic/__init__.py                 | 2 +-
 .../connectivity_matrix/optimizations/__init__.py             | 2 +-
 .../connectivity_matrix/optimizations/algorithm/__init__.py   | 2 +-
 .../optimizations/algorithm/metric/__init__.py                | 2 +-
 .../algorithm/metric/optimization_metric/__init__.py          | 2 +-
 .../explicit_route_exclude_objects/__init__.py                | 2 +-
 .../route_object_exclude_object/__init__.py                   | 2 +-
 .../route_object_exclude_object/type/__init__.py              | 2 +-
 .../route_object_exclude_object/type/as_number/__init__.py    | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../route_object_exclude_object/type/label/__init__.py        | 2 +-
 .../type/label/label_hop/__init__.py                          | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../type/numbered_link_hop/__init__.py                        | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/__init__.py                        | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../route_object_exclude_object/type/srlg/__init__.py         | 2 +-
 .../route_object_exclude_object/type/srlg/srlg/__init__.py    | 2 +-
 .../type/unnumbered_link_hop/__init__.py                      | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../explicit_route_include_objects/__init__.py                | 2 +-
 .../route_object_include_object/__init__.py                   | 2 +-
 .../route_object_include_object/type/__init__.py              | 2 +-
 .../route_object_include_object/type/as_number/__init__.py    | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../route_object_include_object/type/label/__init__.py        | 2 +-
 .../type/label/label_hop/__init__.py                          | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../type/numbered_link_hop/__init__.py                        | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/__init__.py                        | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../type/unnumbered_link_hop/__init__.py                      | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../optimizations/algorithm/metric/tiebreakers/__init__.py    | 2 +-
 .../algorithm/metric/tiebreakers/tiebreaker/__init__.py       | 2 +-
 .../optimizations/algorithm/objective_function/__init__.py    | 2 +-
 .../objective_function/objective_function/__init__.py         | 2 +-
 .../connectivity_matrix/path_constraints/__init__.py          | 2 +-
 .../path_constraints/path_affinities_values/__init__.py       | 2 +-
 .../path_affinities_values/path_affinities_value/__init__.py  | 2 +-
 .../path_constraints/path_affinity_names/__init__.py          | 2 +-
 .../path_affinity_names/path_affinity_name/__init__.py        | 2 +-
 .../path_affinity_name/affinity_name/__init__.py              | 2 +-
 .../path_constraints/path_metric_bounds/__init__.py           | 2 +-
 .../path_metric_bounds/path_metric_bound/__init__.py          | 2 +-
 .../path_constraints/path_srlgs_lists/__init__.py             | 2 +-
 .../path_srlgs_lists/path_srlgs_list/__init__.py              | 2 +-
 .../path_constraints/path_srlgs_names/__init__.py             | 2 +-
 .../path_srlgs_names/path_srlgs_name/__init__.py              | 2 +-
 .../path_constraints/te_bandwidth/__init__.py                 | 2 +-
 .../path_constraints/te_bandwidth/technology/__init__.py      | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../connectivity_matrix/path_properties/__init__.py           | 2 +-
 .../path_properties/path_affinities_values/__init__.py        | 2 +-
 .../path_affinities_values/path_affinities_value/__init__.py  | 2 +-
 .../path_properties/path_affinity_names/__init__.py           | 2 +-
 .../path_affinity_names/path_affinity_name/__init__.py        | 2 +-
 .../path_affinity_name/affinity_name/__init__.py              | 2 +-
 .../path_properties/path_metric/__init__.py                   | 2 +-
 .../path_properties/path_route_objects/__init__.py            | 2 +-
 .../path_route_objects/path_route_object/__init__.py          | 2 +-
 .../path_route_objects/path_route_object/type/__init__.py     | 2 +-
 .../path_route_object/type/as_number/__init__.py              | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../path_route_object/type/label/__init__.py                  | 2 +-
 .../path_route_object/type/label/label_hop/__init__.py        | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_route_object/type/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_route_object/type/numbered_node_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_route_object/type/unnumbered_link_hop/__init__.py    | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../path_properties/path_srlgs_lists/__init__.py              | 2 +-
 .../path_srlgs_lists/path_srlgs_list/__init__.py              | 2 +-
 .../path_properties/path_srlgs_names/__init__.py              | 2 +-
 .../path_srlgs_names/path_srlgs_name/__init__.py              | 2 +-
 .../connectivity_matrices/connectivity_matrix/to/__init__.py  | 2 +-
 .../connectivity_matrix/to/label_restrictions/__init__.py     | 2 +-
 .../to/label_restrictions/label_restriction/__init__.py       | 2 +-
 .../label_restriction/label_end/__init__.py                   | 2 +-
 .../label_restriction/label_end/te_label/__init__.py          | 2 +-
 .../label_end/te_label/technology/__init__.py                 | 2 +-
 .../label_end/te_label/technology/generic/__init__.py         | 2 +-
 .../label_restriction/label_start/__init__.py                 | 2 +-
 .../label_restriction/label_start/te_label/__init__.py        | 2 +-
 .../label_start/te_label/technology/__init__.py               | 2 +-
 .../label_start/te_label/technology/generic/__init__.py       | 2 +-
 .../label_restriction/label_step/__init__.py                  | 2 +-
 .../label_restriction/label_step/technology/__init__.py       | 2 +-
 .../label_step/technology/generic/__init__.py                 | 2 +-
 .../connectivity_matrix/underlay/__init__.py                  | 2 +-
 .../connectivity_matrix/underlay/backup_path/__init__.py      | 2 +-
 .../underlay/backup_path/path_element/__init__.py             | 2 +-
 .../underlay/backup_path/path_element/type/__init__.py        | 2 +-
 .../backup_path/path_element/type/as_number/__init__.py       | 2 +-
 .../path_element/type/as_number/as_number_hop/__init__.py     | 2 +-
 .../underlay/backup_path/path_element/type/label/__init__.py  | 2 +-
 .../backup_path/path_element/type/label/label_hop/__init__.py | 2 +-
 .../path_element/type/label/label_hop/te_label/__init__.py    | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_element/type/numbered_link_hop/__init__.py           | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_element/type/numbered_node_hop/__init__.py           | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_element/type/unnumbered_link_hop/__init__.py         | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../connectivity_matrix/underlay/primary_path/__init__.py     | 2 +-
 .../underlay/primary_path/path_element/__init__.py            | 2 +-
 .../underlay/primary_path/path_element/type/__init__.py       | 2 +-
 .../primary_path/path_element/type/as_number/__init__.py      | 2 +-
 .../path_element/type/as_number/as_number_hop/__init__.py     | 2 +-
 .../underlay/primary_path/path_element/type/label/__init__.py | 2 +-
 .../path_element/type/label/label_hop/__init__.py             | 2 +-
 .../path_element/type/label/label_hop/te_label/__init__.py    | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_element/type/numbered_link_hop/__init__.py           | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_element/type/numbered_node_hop/__init__.py           | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_element/type/unnumbered_link_hop/__init__.py         | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../underlay/tunnel_termination_points/__init__.py            | 2 +-
 .../connectivity_matrix/underlay/tunnels/__init__.py          | 2 +-
 .../connectivity_matrix/underlay/tunnels/tunnel/__init__.py   | 2 +-
 .../connectivity_matrices/label_restrictions/__init__.py      | 2 +-
 .../label_restrictions/label_restriction/__init__.py          | 2 +-
 .../label_restriction/label_end/__init__.py                   | 2 +-
 .../label_restriction/label_end/te_label/__init__.py          | 2 +-
 .../label_end/te_label/technology/__init__.py                 | 2 +-
 .../label_end/te_label/technology/generic/__init__.py         | 2 +-
 .../label_restriction/label_start/__init__.py                 | 2 +-
 .../label_restriction/label_start/te_label/__init__.py        | 2 +-
 .../label_start/te_label/technology/__init__.py               | 2 +-
 .../label_start/te_label/technology/generic/__init__.py       | 2 +-
 .../label_restriction/label_step/__init__.py                  | 2 +-
 .../label_restriction/label_step/technology/__init__.py       | 2 +-
 .../label_step/technology/generic/__init__.py                 | 2 +-
 .../connectivity_matrices/optimizations/__init__.py           | 2 +-
 .../connectivity_matrices/optimizations/algorithm/__init__.py | 2 +-
 .../optimizations/algorithm/metric/__init__.py                | 2 +-
 .../algorithm/metric/optimization_metric/__init__.py          | 2 +-
 .../explicit_route_exclude_objects/__init__.py                | 2 +-
 .../route_object_exclude_object/__init__.py                   | 2 +-
 .../route_object_exclude_object/type/__init__.py              | 2 +-
 .../route_object_exclude_object/type/as_number/__init__.py    | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../route_object_exclude_object/type/label/__init__.py        | 2 +-
 .../type/label/label_hop/__init__.py                          | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../type/numbered_link_hop/__init__.py                        | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/__init__.py                        | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../route_object_exclude_object/type/srlg/__init__.py         | 2 +-
 .../route_object_exclude_object/type/srlg/srlg/__init__.py    | 2 +-
 .../type/unnumbered_link_hop/__init__.py                      | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../explicit_route_include_objects/__init__.py                | 2 +-
 .../route_object_include_object/__init__.py                   | 2 +-
 .../route_object_include_object/type/__init__.py              | 2 +-
 .../route_object_include_object/type/as_number/__init__.py    | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../route_object_include_object/type/label/__init__.py        | 2 +-
 .../type/label/label_hop/__init__.py                          | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../type/numbered_link_hop/__init__.py                        | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/__init__.py                        | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../type/unnumbered_link_hop/__init__.py                      | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../optimizations/algorithm/metric/tiebreakers/__init__.py    | 2 +-
 .../algorithm/metric/tiebreakers/tiebreaker/__init__.py       | 2 +-
 .../optimizations/algorithm/objective_function/__init__.py    | 2 +-
 .../objective_function/objective_function/__init__.py         | 2 +-
 .../connectivity_matrices/path_constraints/__init__.py        | 2 +-
 .../path_constraints/path_affinities_values/__init__.py       | 2 +-
 .../path_affinities_values/path_affinities_value/__init__.py  | 2 +-
 .../path_constraints/path_affinity_names/__init__.py          | 2 +-
 .../path_affinity_names/path_affinity_name/__init__.py        | 2 +-
 .../path_affinity_name/affinity_name/__init__.py              | 2 +-
 .../path_constraints/path_metric_bounds/__init__.py           | 2 +-
 .../path_metric_bounds/path_metric_bound/__init__.py          | 2 +-
 .../path_constraints/path_srlgs_lists/__init__.py             | 2 +-
 .../path_srlgs_lists/path_srlgs_list/__init__.py              | 2 +-
 .../path_constraints/path_srlgs_names/__init__.py             | 2 +-
 .../path_srlgs_names/path_srlgs_name/__init__.py              | 2 +-
 .../path_constraints/te_bandwidth/__init__.py                 | 2 +-
 .../path_constraints/te_bandwidth/technology/__init__.py      | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../connectivity_matrices/path_properties/__init__.py         | 2 +-
 .../path_properties/path_affinities_values/__init__.py        | 2 +-
 .../path_affinities_values/path_affinities_value/__init__.py  | 2 +-
 .../path_properties/path_affinity_names/__init__.py           | 2 +-
 .../path_affinity_names/path_affinity_name/__init__.py        | 2 +-
 .../path_affinity_name/affinity_name/__init__.py              | 2 +-
 .../path_properties/path_metric/__init__.py                   | 2 +-
 .../path_properties/path_route_objects/__init__.py            | 2 +-
 .../path_route_objects/path_route_object/__init__.py          | 2 +-
 .../path_route_objects/path_route_object/type/__init__.py     | 2 +-
 .../path_route_object/type/as_number/__init__.py              | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../path_route_object/type/label/__init__.py                  | 2 +-
 .../path_route_object/type/label/label_hop/__init__.py        | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_route_object/type/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_route_object/type/numbered_node_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_route_object/type/unnumbered_link_hop/__init__.py    | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../path_properties/path_srlgs_lists/__init__.py              | 2 +-
 .../path_srlgs_lists/path_srlgs_list/__init__.py              | 2 +-
 .../path_properties/path_srlgs_names/__init__.py              | 2 +-
 .../path_srlgs_names/path_srlgs_name/__init__.py              | 2 +-
 .../connectivity_matrices/underlay/__init__.py                | 2 +-
 .../connectivity_matrices/underlay/backup_path/__init__.py    | 2 +-
 .../underlay/backup_path/path_element/__init__.py             | 2 +-
 .../underlay/backup_path/path_element/type/__init__.py        | 2 +-
 .../backup_path/path_element/type/as_number/__init__.py       | 2 +-
 .../path_element/type/as_number/as_number_hop/__init__.py     | 2 +-
 .../underlay/backup_path/path_element/type/label/__init__.py  | 2 +-
 .../backup_path/path_element/type/label/label_hop/__init__.py | 2 +-
 .../path_element/type/label/label_hop/te_label/__init__.py    | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_element/type/numbered_link_hop/__init__.py           | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_element/type/numbered_node_hop/__init__.py           | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_element/type/unnumbered_link_hop/__init__.py         | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../connectivity_matrices/underlay/primary_path/__init__.py   | 2 +-
 .../underlay/primary_path/path_element/__init__.py            | 2 +-
 .../underlay/primary_path/path_element/type/__init__.py       | 2 +-
 .../primary_path/path_element/type/as_number/__init__.py      | 2 +-
 .../path_element/type/as_number/as_number_hop/__init__.py     | 2 +-
 .../underlay/primary_path/path_element/type/label/__init__.py | 2 +-
 .../path_element/type/label/label_hop/__init__.py             | 2 +-
 .../path_element/type/label/label_hop/te_label/__init__.py    | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_element/type/numbered_link_hop/__init__.py           | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_element/type/numbered_node_hop/__init__.py           | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_element/type/unnumbered_link_hop/__init__.py         | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../underlay/tunnel_termination_points/__init__.py            | 2 +-
 .../connectivity_matrices/underlay/tunnels/__init__.py        | 2 +-
 .../connectivity_matrices/underlay/tunnels/tunnel/__init__.py | 2 +-
 .../node/te/te_node_attributes/underlay_topology/__init__.py  | 2 +-
 .../network/node/te/tunnel_termination_point/__init__.py      | 2 +-
 .../client_layer_adaptation/__init__.py                       | 2 +-
 .../client_layer_adaptation/switching_capability/__init__.py  | 2 +-
 .../switching_capability/te_bandwidth/__init__.py             | 2 +-
 .../switching_capability/te_bandwidth/technology/__init__.py  | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../node/te/tunnel_termination_point/geolocation/__init__.py  | 2 +-
 .../local_link_connectivities/__init__.py                     | 2 +-
 .../local_link_connectivities/label_restrictions/__init__.py  | 2 +-
 .../label_restrictions/label_restriction/__init__.py          | 2 +-
 .../label_restriction/label_end/__init__.py                   | 2 +-
 .../label_restriction/label_end/te_label/__init__.py          | 2 +-
 .../label_end/te_label/technology/__init__.py                 | 2 +-
 .../label_end/te_label/technology/generic/__init__.py         | 2 +-
 .../label_restriction/label_start/__init__.py                 | 2 +-
 .../label_restriction/label_start/te_label/__init__.py        | 2 +-
 .../label_start/te_label/technology/__init__.py               | 2 +-
 .../label_start/te_label/technology/generic/__init__.py       | 2 +-
 .../label_restriction/label_step/__init__.py                  | 2 +-
 .../label_restriction/label_step/technology/__init__.py       | 2 +-
 .../label_step/technology/generic/__init__.py                 | 2 +-
 .../local_link_connectivity/__init__.py                       | 2 +-
 .../local_link_connectivity/label_restrictions/__init__.py    | 2 +-
 .../label_restrictions/label_restriction/__init__.py          | 2 +-
 .../label_restriction/label_end/__init__.py                   | 2 +-
 .../label_restriction/label_end/te_label/__init__.py          | 2 +-
 .../label_end/te_label/technology/__init__.py                 | 2 +-
 .../label_end/te_label/technology/generic/__init__.py         | 2 +-
 .../label_restriction/label_start/__init__.py                 | 2 +-
 .../label_restriction/label_start/te_label/__init__.py        | 2 +-
 .../label_start/te_label/technology/__init__.py               | 2 +-
 .../label_start/te_label/technology/generic/__init__.py       | 2 +-
 .../label_restriction/label_step/__init__.py                  | 2 +-
 .../label_restriction/label_step/technology/__init__.py       | 2 +-
 .../label_step/technology/generic/__init__.py                 | 2 +-
 .../local_link_connectivity/optimizations/__init__.py         | 2 +-
 .../optimizations/algorithm/__init__.py                       | 2 +-
 .../optimizations/algorithm/metric/__init__.py                | 2 +-
 .../algorithm/metric/optimization_metric/__init__.py          | 2 +-
 .../explicit_route_exclude_objects/__init__.py                | 2 +-
 .../route_object_exclude_object/__init__.py                   | 2 +-
 .../route_object_exclude_object/type/__init__.py              | 2 +-
 .../route_object_exclude_object/type/as_number/__init__.py    | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../route_object_exclude_object/type/label/__init__.py        | 2 +-
 .../type/label/label_hop/__init__.py                          | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../type/numbered_link_hop/__init__.py                        | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/__init__.py                        | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../route_object_exclude_object/type/srlg/__init__.py         | 2 +-
 .../route_object_exclude_object/type/srlg/srlg/__init__.py    | 2 +-
 .../type/unnumbered_link_hop/__init__.py                      | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../explicit_route_include_objects/__init__.py                | 2 +-
 .../route_object_include_object/__init__.py                   | 2 +-
 .../route_object_include_object/type/__init__.py              | 2 +-
 .../route_object_include_object/type/as_number/__init__.py    | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../route_object_include_object/type/label/__init__.py        | 2 +-
 .../type/label/label_hop/__init__.py                          | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../type/numbered_link_hop/__init__.py                        | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/__init__.py                        | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../type/unnumbered_link_hop/__init__.py                      | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../optimizations/algorithm/metric/tiebreakers/__init__.py    | 2 +-
 .../algorithm/metric/tiebreakers/tiebreaker/__init__.py       | 2 +-
 .../optimizations/algorithm/objective_function/__init__.py    | 2 +-
 .../objective_function/objective_function/__init__.py         | 2 +-
 .../local_link_connectivity/path_constraints/__init__.py      | 2 +-
 .../path_constraints/path_affinities_values/__init__.py       | 2 +-
 .../path_affinities_values/path_affinities_value/__init__.py  | 2 +-
 .../path_constraints/path_affinity_names/__init__.py          | 2 +-
 .../path_affinity_names/path_affinity_name/__init__.py        | 2 +-
 .../path_affinity_name/affinity_name/__init__.py              | 2 +-
 .../path_constraints/path_metric_bounds/__init__.py           | 2 +-
 .../path_metric_bounds/path_metric_bound/__init__.py          | 2 +-
 .../path_constraints/path_srlgs_lists/__init__.py             | 2 +-
 .../path_srlgs_lists/path_srlgs_list/__init__.py              | 2 +-
 .../path_constraints/path_srlgs_names/__init__.py             | 2 +-
 .../path_srlgs_names/path_srlgs_name/__init__.py              | 2 +-
 .../path_constraints/te_bandwidth/__init__.py                 | 2 +-
 .../path_constraints/te_bandwidth/technology/__init__.py      | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../local_link_connectivity/path_properties/__init__.py       | 2 +-
 .../path_properties/path_affinities_values/__init__.py        | 2 +-
 .../path_affinities_values/path_affinities_value/__init__.py  | 2 +-
 .../path_properties/path_affinity_names/__init__.py           | 2 +-
 .../path_affinity_names/path_affinity_name/__init__.py        | 2 +-
 .../path_affinity_name/affinity_name/__init__.py              | 2 +-
 .../path_properties/path_metric/__init__.py                   | 2 +-
 .../path_properties/path_route_objects/__init__.py            | 2 +-
 .../path_route_objects/path_route_object/__init__.py          | 2 +-
 .../path_route_objects/path_route_object/type/__init__.py     | 2 +-
 .../path_route_object/type/as_number/__init__.py              | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../path_route_object/type/label/__init__.py                  | 2 +-
 .../path_route_object/type/label/label_hop/__init__.py        | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_route_object/type/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_route_object/type/numbered_node_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_route_object/type/unnumbered_link_hop/__init__.py    | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../path_properties/path_srlgs_lists/__init__.py              | 2 +-
 .../path_srlgs_lists/path_srlgs_list/__init__.py              | 2 +-
 .../path_properties/path_srlgs_names/__init__.py              | 2 +-
 .../path_srlgs_names/path_srlgs_name/__init__.py              | 2 +-
 .../local_link_connectivity/underlay/__init__.py              | 2 +-
 .../local_link_connectivity/underlay/backup_path/__init__.py  | 2 +-
 .../underlay/backup_path/path_element/__init__.py             | 2 +-
 .../underlay/backup_path/path_element/type/__init__.py        | 2 +-
 .../backup_path/path_element/type/as_number/__init__.py       | 2 +-
 .../path_element/type/as_number/as_number_hop/__init__.py     | 2 +-
 .../underlay/backup_path/path_element/type/label/__init__.py  | 2 +-
 .../backup_path/path_element/type/label/label_hop/__init__.py | 2 +-
 .../path_element/type/label/label_hop/te_label/__init__.py    | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_element/type/numbered_link_hop/__init__.py           | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_element/type/numbered_node_hop/__init__.py           | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_element/type/unnumbered_link_hop/__init__.py         | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../local_link_connectivity/underlay/primary_path/__init__.py | 2 +-
 .../underlay/primary_path/path_element/__init__.py            | 2 +-
 .../underlay/primary_path/path_element/type/__init__.py       | 2 +-
 .../primary_path/path_element/type/as_number/__init__.py      | 2 +-
 .../path_element/type/as_number/as_number_hop/__init__.py     | 2 +-
 .../underlay/primary_path/path_element/type/label/__init__.py | 2 +-
 .../path_element/type/label/label_hop/__init__.py             | 2 +-
 .../path_element/type/label/label_hop/te_label/__init__.py    | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_element/type/numbered_link_hop/__init__.py           | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_element/type/numbered_node_hop/__init__.py           | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_element/type/unnumbered_link_hop/__init__.py         | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../underlay/tunnel_termination_points/__init__.py            | 2 +-
 .../local_link_connectivity/underlay/tunnels/__init__.py      | 2 +-
 .../underlay/tunnels/tunnel/__init__.py                       | 2 +-
 .../local_link_connectivities/optimizations/__init__.py       | 2 +-
 .../optimizations/algorithm/__init__.py                       | 2 +-
 .../optimizations/algorithm/metric/__init__.py                | 2 +-
 .../algorithm/metric/optimization_metric/__init__.py          | 2 +-
 .../explicit_route_exclude_objects/__init__.py                | 2 +-
 .../route_object_exclude_object/__init__.py                   | 2 +-
 .../route_object_exclude_object/type/__init__.py              | 2 +-
 .../route_object_exclude_object/type/as_number/__init__.py    | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../route_object_exclude_object/type/label/__init__.py        | 2 +-
 .../type/label/label_hop/__init__.py                          | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../type/numbered_link_hop/__init__.py                        | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/__init__.py                        | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../route_object_exclude_object/type/srlg/__init__.py         | 2 +-
 .../route_object_exclude_object/type/srlg/srlg/__init__.py    | 2 +-
 .../type/unnumbered_link_hop/__init__.py                      | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../explicit_route_include_objects/__init__.py                | 2 +-
 .../route_object_include_object/__init__.py                   | 2 +-
 .../route_object_include_object/type/__init__.py              | 2 +-
 .../route_object_include_object/type/as_number/__init__.py    | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../route_object_include_object/type/label/__init__.py        | 2 +-
 .../type/label/label_hop/__init__.py                          | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../type/numbered_link_hop/__init__.py                        | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/__init__.py                        | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../type/unnumbered_link_hop/__init__.py                      | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../optimizations/algorithm/metric/tiebreakers/__init__.py    | 2 +-
 .../algorithm/metric/tiebreakers/tiebreaker/__init__.py       | 2 +-
 .../optimizations/algorithm/objective_function/__init__.py    | 2 +-
 .../objective_function/objective_function/__init__.py         | 2 +-
 .../local_link_connectivities/path_constraints/__init__.py    | 2 +-
 .../path_constraints/path_affinities_values/__init__.py       | 2 +-
 .../path_affinities_values/path_affinities_value/__init__.py  | 2 +-
 .../path_constraints/path_affinity_names/__init__.py          | 2 +-
 .../path_affinity_names/path_affinity_name/__init__.py        | 2 +-
 .../path_affinity_name/affinity_name/__init__.py              | 2 +-
 .../path_constraints/path_metric_bounds/__init__.py           | 2 +-
 .../path_metric_bounds/path_metric_bound/__init__.py          | 2 +-
 .../path_constraints/path_srlgs_lists/__init__.py             | 2 +-
 .../path_srlgs_lists/path_srlgs_list/__init__.py              | 2 +-
 .../path_constraints/path_srlgs_names/__init__.py             | 2 +-
 .../path_srlgs_names/path_srlgs_name/__init__.py              | 2 +-
 .../path_constraints/te_bandwidth/__init__.py                 | 2 +-
 .../path_constraints/te_bandwidth/technology/__init__.py      | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../local_link_connectivities/path_properties/__init__.py     | 2 +-
 .../path_properties/path_affinities_values/__init__.py        | 2 +-
 .../path_affinities_values/path_affinities_value/__init__.py  | 2 +-
 .../path_properties/path_affinity_names/__init__.py           | 2 +-
 .../path_affinity_names/path_affinity_name/__init__.py        | 2 +-
 .../path_affinity_name/affinity_name/__init__.py              | 2 +-
 .../path_properties/path_metric/__init__.py                   | 2 +-
 .../path_properties/path_route_objects/__init__.py            | 2 +-
 .../path_route_objects/path_route_object/__init__.py          | 2 +-
 .../path_route_objects/path_route_object/type/__init__.py     | 2 +-
 .../path_route_object/type/as_number/__init__.py              | 2 +-
 .../type/as_number/as_number_hop/__init__.py                  | 2 +-
 .../path_route_object/type/label/__init__.py                  | 2 +-
 .../path_route_object/type/label/label_hop/__init__.py        | 2 +-
 .../type/label/label_hop/te_label/__init__.py                 | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_route_object/type/numbered_link_hop/__init__.py      | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_route_object/type/numbered_node_hop/__init__.py      | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_route_object/type/unnumbered_link_hop/__init__.py    | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../path_properties/path_srlgs_lists/__init__.py              | 2 +-
 .../path_srlgs_lists/path_srlgs_list/__init__.py              | 2 +-
 .../path_properties/path_srlgs_names/__init__.py              | 2 +-
 .../path_srlgs_names/path_srlgs_name/__init__.py              | 2 +-
 .../local_link_connectivities/underlay/__init__.py            | 2 +-
 .../underlay/backup_path/__init__.py                          | 2 +-
 .../underlay/backup_path/path_element/__init__.py             | 2 +-
 .../underlay/backup_path/path_element/type/__init__.py        | 2 +-
 .../backup_path/path_element/type/as_number/__init__.py       | 2 +-
 .../path_element/type/as_number/as_number_hop/__init__.py     | 2 +-
 .../underlay/backup_path/path_element/type/label/__init__.py  | 2 +-
 .../backup_path/path_element/type/label/label_hop/__init__.py | 2 +-
 .../path_element/type/label/label_hop/te_label/__init__.py    | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_element/type/numbered_link_hop/__init__.py           | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_element/type/numbered_node_hop/__init__.py           | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_element/type/unnumbered_link_hop/__init__.py         | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../underlay/primary_path/__init__.py                         | 2 +-
 .../underlay/primary_path/path_element/__init__.py            | 2 +-
 .../underlay/primary_path/path_element/type/__init__.py       | 2 +-
 .../primary_path/path_element/type/as_number/__init__.py      | 2 +-
 .../path_element/type/as_number/as_number_hop/__init__.py     | 2 +-
 .../underlay/primary_path/path_element/type/label/__init__.py | 2 +-
 .../path_element/type/label/label_hop/__init__.py             | 2 +-
 .../path_element/type/label/label_hop/te_label/__init__.py    | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_element/type/numbered_link_hop/__init__.py           | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_element/type/numbered_node_hop/__init__.py           | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_element/type/unnumbered_link_hop/__init__.py         | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../underlay/tunnel_termination_points/__init__.py            | 2 +-
 .../local_link_connectivities/underlay/tunnels/__init__.py    | 2 +-
 .../underlay/tunnels/tunnel/__init__.py                       | 2 +-
 .../node/te/tunnel_termination_point/statistics/__init__.py   | 2 +-
 .../statistics/local_link_connectivity/__init__.py            | 2 +-
 .../statistics/tunnel_termination_point/__init__.py           | 2 +-
 .../supporting_tunnel_termination_point/__init__.py           | 2 +-
 .../networks/network/node/termination_point/__init__.py       | 2 +-
 .../supporting_termination_point/__init__.py                  | 2 +-
 .../networks/network/node/termination_point/te/__init__.py    | 2 +-
 .../network/node/termination_point/te/geolocation/__init__.py | 2 +-
 .../te/interface_switching_capability/__init__.py             | 2 +-
 .../max_lsp_bandwidth/__init__.py                             | 2 +-
 .../max_lsp_bandwidth/te_bandwidth/__init__.py                | 2 +-
 .../max_lsp_bandwidth/te_bandwidth/technology/__init__.py     | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../bindings/networks/network/supporting_network/__init__.py  | 2 +-
 .../bindings/networks/network/te/__init__.py                  | 2 +-
 .../bindings/networks/network/te/geolocation/__init__.py      | 2 +-
 .../bindings/networks/network/te/nsrlg/__init__.py            | 2 +-
 .../networks/network/te_topology_identifier/__init__.py       | 2 +-
 .../ietf_network_slice/bindings/networks/te/__init__.py       | 2 +-
 .../bindings/networks/te/templates/__init__.py                | 2 +-
 .../bindings/networks/te/templates/link_template/__init__.py  | 2 +-
 .../te/templates/link_template/te_link_attributes/__init__.py | 2 +-
 .../te_link_attributes/external_domain/__init__.py            | 2 +-
 .../interface_switching_capability/__init__.py                | 2 +-
 .../max_lsp_bandwidth/__init__.py                             | 2 +-
 .../max_lsp_bandwidth/te_bandwidth/__init__.py                | 2 +-
 .../max_lsp_bandwidth/te_bandwidth/technology/__init__.py     | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../te_link_attributes/label_restrictions/__init__.py         | 2 +-
 .../label_restrictions/label_restriction/__init__.py          | 2 +-
 .../label_restriction/label_end/__init__.py                   | 2 +-
 .../label_restriction/label_end/te_label/__init__.py          | 2 +-
 .../label_end/te_label/technology/__init__.py                 | 2 +-
 .../label_end/te_label/technology/generic/__init__.py         | 2 +-
 .../label_restriction/label_start/__init__.py                 | 2 +-
 .../label_restriction/label_start/te_label/__init__.py        | 2 +-
 .../label_start/te_label/technology/__init__.py               | 2 +-
 .../label_start/te_label/technology/generic/__init__.py       | 2 +-
 .../label_restriction/label_step/__init__.py                  | 2 +-
 .../label_restriction/label_step/technology/__init__.py       | 2 +-
 .../label_step/technology/generic/__init__.py                 | 2 +-
 .../te_link_attributes/max_link_bandwidth/__init__.py         | 2 +-
 .../max_link_bandwidth/te_bandwidth/__init__.py               | 2 +-
 .../max_link_bandwidth/te_bandwidth/technology/__init__.py    | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../te_link_attributes/max_resv_link_bandwidth/__init__.py    | 2 +-
 .../max_resv_link_bandwidth/te_bandwidth/__init__.py          | 2 +-
 .../te_bandwidth/technology/__init__.py                       | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../link_template/te_link_attributes/te_nsrlgs/__init__.py    | 2 +-
 .../link_template/te_link_attributes/te_srlgs/__init__.py     | 2 +-
 .../link_template/te_link_attributes/underlay/__init__.py     | 2 +-
 .../te_link_attributes/underlay/backup_path/__init__.py       | 2 +-
 .../underlay/backup_path/path_element/__init__.py             | 2 +-
 .../underlay/backup_path/path_element/type/__init__.py        | 2 +-
 .../backup_path/path_element/type/as_number/__init__.py       | 2 +-
 .../path_element/type/as_number/as_number_hop/__init__.py     | 2 +-
 .../underlay/backup_path/path_element/type/label/__init__.py  | 2 +-
 .../backup_path/path_element/type/label/label_hop/__init__.py | 2 +-
 .../path_element/type/label/label_hop/te_label/__init__.py    | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_element/type/numbered_link_hop/__init__.py           | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_element/type/numbered_node_hop/__init__.py           | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_element/type/unnumbered_link_hop/__init__.py         | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../te_link_attributes/underlay/primary_path/__init__.py      | 2 +-
 .../underlay/primary_path/path_element/__init__.py            | 2 +-
 .../underlay/primary_path/path_element/type/__init__.py       | 2 +-
 .../primary_path/path_element/type/as_number/__init__.py      | 2 +-
 .../path_element/type/as_number/as_number_hop/__init__.py     | 2 +-
 .../underlay/primary_path/path_element/type/label/__init__.py | 2 +-
 .../path_element/type/label/label_hop/__init__.py             | 2 +-
 .../path_element/type/label/label_hop/te_label/__init__.py    | 2 +-
 .../type/label/label_hop/te_label/technology/__init__.py      | 2 +-
 .../label/label_hop/te_label/technology/generic/__init__.py   | 2 +-
 .../path_element/type/numbered_link_hop/__init__.py           | 2 +-
 .../type/numbered_link_hop/numbered_link_hop/__init__.py      | 2 +-
 .../path_element/type/numbered_node_hop/__init__.py           | 2 +-
 .../type/numbered_node_hop/numbered_node_hop/__init__.py      | 2 +-
 .../path_element/type/unnumbered_link_hop/__init__.py         | 2 +-
 .../type/unnumbered_link_hop/unnumbered_link_hop/__init__.py  | 2 +-
 .../underlay/tunnel_termination_points/__init__.py            | 2 +-
 .../te_link_attributes/underlay/tunnels/__init__.py           | 2 +-
 .../te_link_attributes/underlay/tunnels/tunnel/__init__.py    | 2 +-
 .../te_link_attributes/unreserved_bandwidth/__init__.py       | 2 +-
 .../unreserved_bandwidth/te_bandwidth/__init__.py             | 2 +-
 .../unreserved_bandwidth/te_bandwidth/technology/__init__.py  | 2 +-
 .../te_bandwidth/technology/generic/__init__.py               | 2 +-
 .../bindings/networks/te/templates/node_template/__init__.py  | 2 +-
 .../te/templates/node_template/te_node_attributes/__init__.py | 2 +-
 .../te_node_attributes/underlay_topology/__init__.py          | 2 +-
 .../nbi_plugins/ietf_network_slice/ofc23_batch_slices.py      | 2 +-
 src/nbi/service/rest_server/nbi_plugins/tfs_api/Resources.py  | 2 +-
 src/nbi/service/rest_server/nbi_plugins/tfs_api/Tools.py      | 2 +-
 src/nbi/service/rest_server/nbi_plugins/tfs_api/__init__.py   | 2 +-
 .../service/rest_server/nbi_plugins/tools/Authentication.py   | 2 +-
 .../service/rest_server/nbi_plugins/tools/HttpStatusCodes.py  | 2 +-
 src/nbi/service/rest_server/nbi_plugins/tools/Validator.py    | 2 +-
 src/nbi/service/rest_server/nbi_plugins/tools/__init__.py     | 2 +-
 src/nbi/tests/Constants.py                                    | 2 +-
 src/nbi/tests/MockService_Dependencies.py                     | 2 +-
 src/nbi/tests/PrepareTestScenario.py                          | 2 +-
 src/nbi/tests/__init__.py                                     | 2 +-
 src/nbi/tests/test_etsi_bwm.py                                | 2 +-
 src/nbi/tests/test_ietf_l2vpn.py                              | 2 +-
 src/nbi/tests/test_ietf_l3vpn.py                              | 2 +-
 src/nbi/tests/test_ietf_network.py                            | 2 +-
 src/nbi/tests/test_slice.py                                   | 2 +-
 src/nbi/tests/test_tfs_api.py                                 | 2 +-
 src/opticalattackdetector/.gitlab-ci.yml                      | 2 +-
 src/opticalattackdetector/Config.py                           | 2 +-
 src/opticalattackdetector/Dockerfile                          | 2 +-
 src/opticalattackdetector/__init__.py                         | 2 +-
 .../client/OpticalAttackDetectorClient.py                     | 2 +-
 src/opticalattackdetector/client/__init__.py                  | 2 +-
 src/opticalattackdetector/requirements.in                     | 2 +-
 .../service/OpticalAttackDetectorService.py                   | 2 +-
 .../service/OpticalAttackDetectorServiceServicerImpl.py       | 2 +-
 src/opticalattackdetector/service/__init__.py                 | 2 +-
 src/opticalattackdetector/service/__main__.py                 | 2 +-
 src/opticalattackdetector/tests/__init__.py                   | 2 +-
 src/opticalattackdetector/tests/example_objects.py            | 2 +-
 src/opticalattackdetector/tests/test_unitary.py               | 2 +-
 src/opticalattackmanager/.gitlab-ci.yml                       | 2 +-
 src/opticalattackmanager/Config.py                            | 2 +-
 src/opticalattackmanager/Dockerfile                           | 2 +-
 src/opticalattackmanager/__init__.py                          | 2 +-
 src/opticalattackmanager/requirements.in                      | 2 +-
 src/opticalattackmanager/service/__init__.py                  | 2 +-
 src/opticalattackmanager/service/__main__.py                  | 2 +-
 src/opticalattackmanager/tests/__init__.py                    | 2 +-
 src/opticalattackmanager/tests/test_unitary.py                | 2 +-
 src/opticalattackmanager/utils/__init__.py                    | 2 +-
 src/opticalattackmanager/utils/monitor.py                     | 2 +-
 src/opticalattackmitigator/.gitlab-ci.yml                     | 2 +-
 src/opticalattackmitigator/Config.py                          | 2 +-
 src/opticalattackmitigator/Dockerfile                         | 2 +-
 src/opticalattackmitigator/__init__.py                        | 2 +-
 .../client/OpticalAttackMitigatorClient.py                    | 2 +-
 src/opticalattackmitigator/client/__init__.py                 | 2 +-
 src/opticalattackmitigator/requirements.in                    | 2 +-
 .../service/OpticalAttackMitigatorService.py                  | 2 +-
 .../service/OpticalAttackMitigatorServiceServicerImpl.py      | 2 +-
 src/opticalattackmitigator/service/__init__.py                | 2 +-
 src/opticalattackmitigator/service/__main__.py                | 2 +-
 src/opticalattackmitigator/tests/__init__.py                  | 2 +-
 src/opticalattackmitigator/tests/test_unitary.py              | 2 +-
 src/opticalcontroller/.gitlab-ci.yml                          | 2 +-
 src/opticalcontroller/Dockerfile                              | 2 +-
 src/opticalcontroller/OpticalController.py                    | 2 +-
 src/opticalcontroller/RSA.py                                  | 2 +-
 src/opticalcontroller/__init__.py                             | 2 +-
 src/opticalcontroller/dijsktra.py                             | 2 +-
 src/opticalcontroller/requirements.in                         | 2 +-
 src/opticalcontroller/tools.py                                | 2 +-
 src/opticalcontroller/variables.py                            | 2 +-
 src/pathcomp/.gitlab-ci.yml                                   | 2 +-
 src/pathcomp/__init__.py                                      | 2 +-
 src/pathcomp/backend/Dockerfile                               | 2 +-
 src/pathcomp/backend/Dockerfile-gdb                           | 2 +-
 src/pathcomp/backend/Makefile                                 | 2 +-
 src/pathcomp/backend/pathComp.c                               | 2 +-
 src/pathcomp/backend/pathComp.h                               | 2 +-
 src/pathcomp/backend/pathComp_RESTapi.c                       | 2 +-
 src/pathcomp/backend/pathComp_RESTapi.h                       | 2 +-
 src/pathcomp/backend/pathComp_cjson.c                         | 2 +-
 src/pathcomp/backend/pathComp_cjson.h                         | 2 +-
 src/pathcomp/backend/pathComp_ear.c                           | 2 +-
 src/pathcomp/backend/pathComp_ear.h                           | 2 +-
 src/pathcomp/backend/pathComp_ksp.c                           | 2 +-
 src/pathcomp/backend/pathComp_ksp.h                           | 2 +-
 src/pathcomp/backend/pathComp_log.c                           | 2 +-
 src/pathcomp/backend/pathComp_log.h                           | 2 +-
 src/pathcomp/backend/pathComp_sp.c                            | 2 +-
 src/pathcomp/backend/pathComp_sp.h                            | 2 +-
 src/pathcomp/backend/pathComp_tools.c                         | 2 +-
 src/pathcomp/backend/pathComp_tools.h                         | 2 +-
 src/pathcomp/backend/tests/run-test.sh                        | 2 +-
 src/pathcomp/frontend/Config.py                               | 2 +-
 src/pathcomp/frontend/Dockerfile                              | 2 +-
 src/pathcomp/frontend/__init__.py                             | 2 +-
 src/pathcomp/frontend/client/PathCompClient.py                | 2 +-
 src/pathcomp/frontend/client/__init__.py                      | 2 +-
 src/pathcomp/frontend/requirements.in                         | 2 +-
 src/pathcomp/frontend/service/PathCompService.py              | 2 +-
 src/pathcomp/frontend/service/PathCompServiceServicerImpl.py  | 2 +-
 src/pathcomp/frontend/service/TopologyTools.py                | 2 +-
 src/pathcomp/frontend/service/__init__.py                     | 2 +-
 src/pathcomp/frontend/service/__main__.py                     | 2 +-
 src/pathcomp/frontend/service/algorithms/Factory.py           | 2 +-
 .../frontend/service/algorithms/KDisjointPathAlgorithm.py     | 2 +-
 .../frontend/service/algorithms/KShortestPathAlgorithm.py     | 2 +-
 .../frontend/service/algorithms/ShortestPathAlgorithm.py      | 2 +-
 src/pathcomp/frontend/service/algorithms/_Algorithm.py        | 2 +-
 src/pathcomp/frontend/service/algorithms/__init__.py          | 2 +-
 .../frontend/service/algorithms/tools/ComposeConfigRules.py   | 2 +-
 .../frontend/service/algorithms/tools/ComposeRequest.py       | 2 +-
 .../frontend/service/algorithms/tools/ComputeSubServices.py   | 2 +-
 .../frontend/service/algorithms/tools/ConstantsMappings.py    | 2 +-
 .../frontend/service/algorithms/tools/EroPathToHops.py        | 2 +-
 .../frontend/service/algorithms/tools/ResourceGroups.py       | 2 +-
 .../frontend/service/algorithms/tools/ServiceTypes.py         | 2 +-
 src/pathcomp/frontend/service/algorithms/tools/__init__.py    | 2 +-
 src/pathcomp/frontend/tests/MockService_Dependencies.py       | 2 +-
 src/pathcomp/frontend/tests/Objects_A_B_C.py                  | 2 +-
 src/pathcomp/frontend/tests/Objects_DC_CSGW_TN.py             | 2 +-
 src/pathcomp/frontend/tests/Objects_DC_CSGW_TN_OLS.py         | 2 +-
 src/pathcomp/frontend/tests/PrepareTestScenario.py            | 2 +-
 src/pathcomp/frontend/tests/__init__.py                       | 2 +-
 src/pathcomp/frontend/tests/test_ero_path.py                  | 2 +-
 src/pathcomp/frontend/tests/test_pathcomp/__init__.py         | 2 +-
 src/pathcomp/frontend/tests/test_pathcomp/__main__.py         | 2 +-
 src/pathcomp/frontend/tests/test_pathcomp/data.py             | 2 +-
 src/pathcomp/frontend/tests/test_unitary.py                   | 2 +-
 .../frontend/tests/test_unitary_pathcomp_forecaster.py        | 2 +-
 src/pathcomp/misc/my_deploy-tests.sh                          | 2 +-
 src/pathcomp/misc/test-commands.sh                            | 2 +-
 src/policy/.gitlab-ci.yml                                     | 2 +-
 src/policy/pom.xml                                            | 2 +-
 src/policy/src/main/docker/Dockerfile.multistage.jvm          | 2 +-
 src/policy/src/main/java/org/etsi/tfs/policy/Serializer.java  | 2 +-
 .../main/java/org/etsi/tfs/policy/SimpleLivenessCheck.java    | 2 +-
 .../main/java/org/etsi/tfs/policy/SimpleReadinessCheck.java   | 2 +-
 .../src/main/java/org/etsi/tfs/policy/acl/AclAction.java      | 2 +-
 .../src/main/java/org/etsi/tfs/policy/acl/AclEntry.java       | 2 +-
 .../java/org/etsi/tfs/policy/acl/AclForwardActionEnum.java    | 2 +-
 .../main/java/org/etsi/tfs/policy/acl/AclLogActionEnum.java   | 2 +-
 .../src/main/java/org/etsi/tfs/policy/acl/AclMatch.java       | 2 +-
 .../src/main/java/org/etsi/tfs/policy/acl/AclRuleSet.java     | 2 +-
 .../main/java/org/etsi/tfs/policy/acl/AclRuleTypeEnum.java    | 2 +-
 .../org/etsi/tfs/policy/common/ApplicationProperties.java     | 2 +-
 src/policy/src/main/java/org/etsi/tfs/policy/common/Util.java | 2 +-
 .../main/java/org/etsi/tfs/policy/context/ContextGateway.java | 2 +-
 .../java/org/etsi/tfs/policy/context/ContextGatewayImpl.java  | 2 +-
 .../main/java/org/etsi/tfs/policy/context/ContextService.java | 2 +-
 .../java/org/etsi/tfs/policy/context/ContextServiceImpl.java  | 2 +-
 .../org/etsi/tfs/policy/context/model/ConfigActionEnum.java   | 2 +-
 .../java/org/etsi/tfs/policy/context/model/ConfigRule.java    | 2 +-
 .../java/org/etsi/tfs/policy/context/model/ConfigRuleAcl.java | 2 +-
 .../org/etsi/tfs/policy/context/model/ConfigRuleCustom.java   | 2 +-
 .../org/etsi/tfs/policy/context/model/ConfigRuleType.java     | 2 +-
 .../org/etsi/tfs/policy/context/model/ConfigRuleTypeAcl.java  | 2 +-
 .../etsi/tfs/policy/context/model/ConfigRuleTypeCustom.java   | 2 +-
 .../java/org/etsi/tfs/policy/context/model/Constraint.java    | 2 +-
 .../org/etsi/tfs/policy/context/model/ConstraintCustom.java   | 2 +-
 .../tfs/policy/context/model/ConstraintEndPointLocation.java  | 2 +-
 .../org/etsi/tfs/policy/context/model/ConstraintSchedule.java | 2 +-
 .../tfs/policy/context/model/ConstraintSlaAvailability.java   | 2 +-
 .../etsi/tfs/policy/context/model/ConstraintSlaCapacity.java  | 2 +-
 .../tfs/policy/context/model/ConstraintSlaIsolationLevel.java | 2 +-
 .../etsi/tfs/policy/context/model/ConstraintSlaLatency.java   | 2 +-
 .../org/etsi/tfs/policy/context/model/ConstraintType.java     | 2 +-
 .../etsi/tfs/policy/context/model/ConstraintTypeCustom.java   | 2 +-
 .../policy/context/model/ConstraintTypeEndPointLocation.java  | 2 +-
 .../etsi/tfs/policy/context/model/ConstraintTypeSchedule.java | 2 +-
 .../policy/context/model/ConstraintTypeSlaAvailability.java   | 2 +-
 .../tfs/policy/context/model/ConstraintTypeSlaCapacity.java   | 2 +-
 .../policy/context/model/ConstraintTypeSlaIsolationLevel.java | 2 +-
 .../tfs/policy/context/model/ConstraintTypeSlaLatency.java    | 2 +-
 .../main/java/org/etsi/tfs/policy/context/model/Device.java   | 2 +-
 .../java/org/etsi/tfs/policy/context/model/DeviceConfig.java  | 2 +-
 .../org/etsi/tfs/policy/context/model/DeviceDriverEnum.java   | 2 +-
 .../tfs/policy/context/model/DeviceOperationalStatus.java     | 2 +-
 .../main/java/org/etsi/tfs/policy/context/model/Empty.java    | 2 +-
 .../main/java/org/etsi/tfs/policy/context/model/EndPoint.java | 2 +-
 .../java/org/etsi/tfs/policy/context/model/EndPointId.java    | 2 +-
 .../main/java/org/etsi/tfs/policy/context/model/Event.java    | 2 +-
 .../java/org/etsi/tfs/policy/context/model/EventTypeEnum.java | 2 +-
 .../java/org/etsi/tfs/policy/context/model/GpsPosition.java   | 2 +-
 .../org/etsi/tfs/policy/context/model/IsolationLevelEnum.java | 2 +-
 .../main/java/org/etsi/tfs/policy/context/model/Location.java | 2 +-
 .../java/org/etsi/tfs/policy/context/model/LocationType.java  | 2 +-
 .../tfs/policy/context/model/LocationTypeGpsPosition.java     | 2 +-
 .../org/etsi/tfs/policy/context/model/LocationTypeRegion.java | 2 +-
 .../main/java/org/etsi/tfs/policy/context/model/Service.java  | 2 +-
 .../java/org/etsi/tfs/policy/context/model/ServiceConfig.java | 2 +-
 .../java/org/etsi/tfs/policy/context/model/ServiceId.java     | 2 +-
 .../java/org/etsi/tfs/policy/context/model/ServiceStatus.java | 2 +-
 .../org/etsi/tfs/policy/context/model/ServiceStatusEnum.java  | 2 +-
 .../org/etsi/tfs/policy/context/model/ServiceTypeEnum.java    | 2 +-
 .../main/java/org/etsi/tfs/policy/context/model/SliceId.java  | 2 +-
 .../java/org/etsi/tfs/policy/context/model/TopologyId.java    | 2 +-
 .../main/java/org/etsi/tfs/policy/device/DeviceGateway.java   | 2 +-
 .../java/org/etsi/tfs/policy/device/DeviceGatewayImpl.java    | 2 +-
 .../main/java/org/etsi/tfs/policy/device/DeviceService.java   | 2 +-
 .../java/org/etsi/tfs/policy/device/DeviceServiceImpl.java    | 2 +-
 .../tfs/policy/exception/ExternalServiceFailureException.java | 2 +-
 .../etsi/tfs/policy/exception/GeneralExceptionHandler.java    | 2 +-
 .../etsi/tfs/policy/kpi_sample_types/model/KpiSampleType.java | 2 +-
 .../org/etsi/tfs/policy/monitoring/MonitoringGateway.java     | 2 +-
 .../org/etsi/tfs/policy/monitoring/MonitoringGatewayImpl.java | 2 +-
 .../org/etsi/tfs/policy/monitoring/MonitoringService.java     | 2 +-
 .../org/etsi/tfs/policy/monitoring/MonitoringServiceImpl.java | 2 +-
 .../org/etsi/tfs/policy/monitoring/model/AlarmDescriptor.java | 2 +-
 .../org/etsi/tfs/policy/monitoring/model/AlarmResponse.java   | 2 +-
 .../etsi/tfs/policy/monitoring/model/AlarmSubscription.java   | 2 +-
 .../org/etsi/tfs/policy/monitoring/model/BooleanKpiValue.java | 2 +-
 .../org/etsi/tfs/policy/monitoring/model/FloatKpiValue.java   | 2 +-
 .../org/etsi/tfs/policy/monitoring/model/IntegerKpiValue.java | 2 +-
 .../main/java/org/etsi/tfs/policy/monitoring/model/Kpi.java   | 2 +-
 .../org/etsi/tfs/policy/monitoring/model/KpiDescriptor.java   | 2 +-
 .../java/org/etsi/tfs/policy/monitoring/model/KpiValue.java   | 2 +-
 .../org/etsi/tfs/policy/monitoring/model/KpiValueRange.java   | 2 +-
 .../org/etsi/tfs/policy/monitoring/model/LongKpiValue.java    | 2 +-
 .../etsi/tfs/policy/monitoring/model/MonitorKpiRequest.java   | 2 +-
 .../org/etsi/tfs/policy/monitoring/model/StringKpiValue.java  | 2 +-
 .../org/etsi/tfs/policy/monitoring/model/SubsDescriptor.java  | 2 +-
 .../org/etsi/tfs/policy/monitoring/model/SubsResponse.java    | 2 +-
 .../java/org/etsi/tfs/policy/policy/AddPolicyDeviceImpl.java  | 2 +-
 .../java/org/etsi/tfs/policy/policy/AddPolicyServiceImpl.java | 2 +-
 .../java/org/etsi/tfs/policy/policy/CommonAlarmService.java   | 2 +-
 .../org/etsi/tfs/policy/policy/CommonPolicyServiceImpl.java   | 2 +-
 .../main/java/org/etsi/tfs/policy/policy/PolicyGateway.java   | 2 +-
 .../java/org/etsi/tfs/policy/policy/PolicyGatewayImpl.java    | 2 +-
 .../main/java/org/etsi/tfs/policy/policy/PolicyService.java   | 2 +-
 .../java/org/etsi/tfs/policy/policy/PolicyServiceImpl.java    | 2 +-
 .../org/etsi/tfs/policy/policy/model/BooleanOperator.java     | 2 +-
 .../org/etsi/tfs/policy/policy/model/NumericalOperator.java   | 2 +-
 .../java/org/etsi/tfs/policy/policy/model/PolicyRule.java     | 2 +-
 .../org/etsi/tfs/policy/policy/model/PolicyRuleAction.java    | 2 +-
 .../etsi/tfs/policy/policy/model/PolicyRuleActionConfig.java  | 2 +-
 .../etsi/tfs/policy/policy/model/PolicyRuleActionEnum.java    | 2 +-
 .../java/org/etsi/tfs/policy/policy/model/PolicyRuleBase.java | 2 +-
 .../org/etsi/tfs/policy/policy/model/PolicyRuleBasic.java     | 2 +-
 .../org/etsi/tfs/policy/policy/model/PolicyRuleCondition.java | 2 +-
 .../org/etsi/tfs/policy/policy/model/PolicyRuleDevice.java    | 2 +-
 .../org/etsi/tfs/policy/policy/model/PolicyRuleService.java   | 2 +-
 .../org/etsi/tfs/policy/policy/model/PolicyRuleState.java     | 2 +-
 .../org/etsi/tfs/policy/policy/model/PolicyRuleStateEnum.java | 2 +-
 .../java/org/etsi/tfs/policy/policy/model/PolicyRuleType.java | 2 +-
 .../etsi/tfs/policy/policy/model/PolicyRuleTypeDevice.java    | 2 +-
 .../etsi/tfs/policy/policy/model/PolicyRuleTypeService.java   | 2 +-
 .../policy/service/PolicyRuleConditionFieldsGetter.java       | 2 +-
 .../policy/policy/service/PolicyRuleConditionValidator.java   | 2 +-
 .../main/java/org/etsi/tfs/policy/service/ServiceGateway.java | 2 +-
 .../java/org/etsi/tfs/policy/service/ServiceGatewayImpl.java  | 2 +-
 .../main/java/org/etsi/tfs/policy/service/ServiceService.java | 2 +-
 .../java/org/etsi/tfs/policy/service/ServiceServiceImpl.java  | 2 +-
 src/policy/src/main/resources/application.yml                 | 2 +-
 .../src/test/java/org/etsi/tfs/policy/ConfigRuleTypeTest.java | 2 +-
 .../src/test/java/org/etsi/tfs/policy/ConstraintTypeTest.java | 2 +-
 .../test/java/org/etsi/tfs/policy/EndPointCreationTest.java   | 2 +-
 .../src/test/java/org/etsi/tfs/policy/LocationTypeTest.java   | 2 +-
 .../test/java/org/etsi/tfs/policy/PolicyAddDeviceTest.java    | 2 +-
 .../test/java/org/etsi/tfs/policy/PolicyAddServiceTest.java   | 2 +-
 .../java/org/etsi/tfs/policy/PolicyDeleteServiceTest.java     | 2 +-
 .../test/java/org/etsi/tfs/policy/PolicyGrpcServiceTest.java  | 2 +-
 .../org/etsi/tfs/policy/PolicyRuleBasicValidationTest.java    | 2 +-
 .../etsi/tfs/policy/PolicyRuleConditionValidationTest.java    | 2 +-
 .../org/etsi/tfs/policy/PolicyRuleDeviceValidationTest.java   | 2 +-
 .../org/etsi/tfs/policy/PolicyRuleServiceValidationTest.java  | 2 +-
 .../test/java/org/etsi/tfs/policy/PolicyUpdateDeviceTest.java | 2 +-
 .../java/org/etsi/tfs/policy/PolicyUpdateServiceTest.java     | 2 +-
 .../src/test/java/org/etsi/tfs/policy/SerializerTest.java     | 2 +-
 src/policy/util/set_version.sh                                | 2 +-
 src/service/.gitlab-ci.yml                                    | 2 +-
 src/service/Config.py                                         | 2 +-
 src/service/Dockerfile                                        | 2 +-
 src/service/__init__.py                                       | 2 +-
 src/service/client/ServiceClient.py                           | 2 +-
 src/service/client/TEServiceClient.py                         | 2 +-
 src/service/client/__init__.py                                | 2 +-
 src/service/requirements.in                                   | 2 +-
 src/service/service/ServiceService.py                         | 2 +-
 src/service/service/ServiceServiceServicerImpl.py             | 2 +-
 src/service/service/__init__.py                               | 2 +-
 src/service/service/__main__.py                               | 2 +-
 src/service/service/service_handler_api/AnyTreeTools.py       | 2 +-
 src/service/service/service_handler_api/Exceptions.py         | 2 +-
 src/service/service/service_handler_api/FilterFields.py       | 2 +-
 .../service/service_handler_api/ServiceHandlerFactory.py      | 2 +-
 src/service/service/service_handler_api/SettingsHandler.py    | 2 +-
 src/service/service/service_handler_api/Tools.py              | 2 +-
 src/service/service/service_handler_api/_ServiceHandler.py    | 2 +-
 src/service/service/service_handler_api/__init__.py           | 2 +-
 src/service/service/service_handlers/__init__.py              | 2 +-
 .../e2e_orch/E2EOrchestratorServiceHandler.py                 | 2 +-
 src/service/service/service_handlers/e2e_orch/__init__.py     | 2 +-
 .../service/service_handlers/l2nm_emulated/ConfigRules.py     | 2 +-
 .../l2nm_emulated/L2NMEmulatedServiceHandler.py               | 2 +-
 .../service/service_handlers/l2nm_emulated/__init__.py        | 2 +-
 .../l2nm_ietfl2vpn/L2NM_IETFL2VPN_ServiceHandler.py           | 2 +-
 .../service/service_handlers/l2nm_ietfl2vpn/__init__.py       | 2 +-
 .../service/service_handlers/l2nm_openconfig/ConfigRules.py   | 2 +-
 .../l2nm_openconfig/L2NMOpenConfigServiceHandler.py           | 2 +-
 .../service/service_handlers/l2nm_openconfig/__init__.py      | 2 +-
 .../service/service_handlers/l3nm_emulated/ConfigRules.py     | 2 +-
 .../l3nm_emulated/L3NMEmulatedServiceHandler.py               | 2 +-
 .../service/service_handlers/l3nm_emulated/__init__.py        | 2 +-
 .../l3nm_gnmi_openconfig/ConfigRuleComposer.py                | 2 +-
 .../l3nm_gnmi_openconfig/L3NMGnmiOpenConfigServiceHandler.py  | 2 +-
 .../service/service_handlers/l3nm_gnmi_openconfig/__init__.py | 2 +-
 .../service/service_handlers/l3nm_ietf_actn/Constants.py      | 2 +-
 .../l3nm_ietf_actn/L3NMIetfActnServiceHandler.py              | 2 +-
 .../service/service_handlers/l3nm_ietf_actn/__init__.py       | 2 +-
 .../service/service_handlers/l3nm_openconfig/ConfigRules.py   | 2 +-
 .../l3nm_openconfig/L3NMOpenConfigServiceHandler.py           | 2 +-
 .../service/service_handlers/l3nm_openconfig/__init__.py      | 2 +-
 .../service_handlers/microwave/MicrowaveServiceHandler.py     | 2 +-
 src/service/service/service_handlers/microwave/__init__.py    | 2 +-
 src/service/service/service_handlers/oc/ConfigRules.py        | 2 +-
 src/service/service/service_handlers/oc/OCServiceHandler.py   | 2 +-
 src/service/service/service_handlers/oc/OCTools.py            | 2 +-
 src/service/service/service_handlers/oc/__init__.py           | 2 +-
 src/service/service/service_handlers/p4/__init__.py           | 2 +-
 src/service/service/service_handlers/p4/p4_service_handler.py | 2 +-
 .../service/service_handlers/tapi_tapi/TapiServiceHandler.py  | 2 +-
 src/service/service/service_handlers/tapi_tapi/__init__.py    | 2 +-
 .../service/service_handlers/tapi_xr/TapiXrServiceHandler.py  | 2 +-
 src/service/service/service_handlers/tapi_xr/__init__.py      | 2 +-
 src/service/service/task_scheduler/ConnectionExpander.py      | 2 +-
 src/service/service/task_scheduler/TaskExecutor.py            | 2 +-
 src/service/service/task_scheduler/TaskScheduler.py           | 2 +-
 src/service/service/task_scheduler/__init__.py                | 2 +-
 .../service/task_scheduler/tasks/Task_ConnectionConfigure.py  | 2 +-
 .../task_scheduler/tasks/Task_ConnectionDeconfigure.py        | 2 +-
 .../service/task_scheduler/tasks/Task_ServiceDelete.py        | 2 +-
 .../service/task_scheduler/tasks/Task_ServiceSetStatus.py     | 2 +-
 src/service/service/task_scheduler/tasks/_Task.py             | 2 +-
 src/service/service/task_scheduler/tasks/__init__.py          | 2 +-
 src/service/service/tools/ConnectionToString.py               | 2 +-
 src/service/service/tools/EndpointIdFormatters.py             | 2 +-
 src/service/service/tools/GeodesicDistance.py                 | 2 +-
 src/service/service/tools/ObjectKeys.py                       | 2 +-
 src/service/service/tools/OpticalTools.py                     | 2 +-
 src/service/service/tools/__init__.py                         | 2 +-
 src/service/service/tools/replies.py                          | 2 +-
 src/service/tests/CommonObjects.py                            | 2 +-
 src/service/tests/MockService_Dependencies.py                 | 2 +-
 src/service/tests/PrepareTestScenario.py                      | 2 +-
 src/service/tests/ServiceHandler_L3NM_EMU.py                  | 2 +-
 src/service/tests/ServiceHandler_L3NM_OC.py                   | 2 +-
 src/service/tests/ServiceHandlersToTest.py                    | 2 +-
 src/service/tests/__init__.py                                 | 2 +-
 src/service/tests/test_service_recompute_cons.sh              | 2 +-
 src/service/tests/test_unitary.py                             | 2 +-
 src/service/tests/test_unitary_recompute_conns.py             | 2 +-
 src/service/tests/test_unitary_task_scheduler.py              | 2 +-
 src/slice/.gitlab-ci.yml                                      | 2 +-
 src/slice/Config.py                                           | 2 +-
 src/slice/Dockerfile                                          | 2 +-
 src/slice/__init__.py                                         | 2 +-
 src/slice/client/SliceClient.py                               | 2 +-
 src/slice/client/__init__.py                                  | 2 +-
 src/slice/old_code/ConstraintsChecker.py                      | 2 +-
 src/slice/old_code/SliceCheckers.py                           | 2 +-
 src/slice/old_code/SliceStatus.py                             | 2 +-
 src/slice/old_code/Tools.py                                   | 2 +-
 src/slice/old_code/Tools_2.py                                 | 2 +-
 src/slice/requirements.in                                     | 2 +-
 src/slice/service/SliceService.py                             | 2 +-
 src/slice/service/SliceServiceServicerImpl.py                 | 2 +-
 src/slice/service/__init__.py                                 | 2 +-
 src/slice/service/__main__.py                                 | 2 +-
 src/slice/service/slice_grouper/Constants.py                  | 2 +-
 src/slice/service/slice_grouper/MetricsExporter.py            | 2 +-
 src/slice/service/slice_grouper/SliceGrouper.py               | 2 +-
 src/slice/service/slice_grouper/Tools.py                      | 2 +-
 src/slice/service/slice_grouper/__init__.py                   | 2 +-
 src/slice/tests/__init__.py                                   | 2 +-
 src/slice/tests/old/Main.py                                   | 2 +-
 src/slice/tests/old/MetricsExporter.py                        | 2 +-
 src/slice/tests/old/test_kmeans.py                            | 2 +-
 src/slice/tests/old/test_subslices.py                         | 2 +-
 src/slice/tests/test_unitary.py                               | 2 +-
 src/te/Dockerfile                                             | 2 +-
 src/te/apps/epce/src/epce.app.src                             | 2 +-
 src/te/apps/epce/src/epce_app.erl                             | 2 +-
 src/te/apps/epce/src/epce_pcep_server_handler.erl             | 2 +-
 src/te/apps/epce/src/epce_server.erl                          | 2 +-
 src/te/apps/epce/src/epce_sup.erl                             | 2 +-
 src/te/apps/epce/src/epce_ted.erl                             | 2 +-
 src/te/apps/tfte/src/tfte.app.src                             | 2 +-
 src/te/apps/tfte/src/tfte_app.erl                             | 2 +-
 src/te/apps/tfte/src/tfte_context.erl                         | 2 +-
 src/te/apps/tfte/src/tfte_server.erl                          | 2 +-
 src/te/apps/tfte/src/tfte_service_sup.erl                     | 2 +-
 src/te/apps/tfte/src/tfte_sup.erl                             | 2 +-
 src/te/apps/tfte/src/tfte_te_service.erl                      | 2 +-
 src/te/apps/tfte/src/tfte_topology.erl                        | 2 +-
 src/te/apps/tfte/src/tfte_util.erl                            | 2 +-
 src/te/config/dev.config.template                             | 2 +-
 src/te/config/sys.config.src                                  | 2 +-
 src/te/rebar.config                                           | 2 +-
 src/te/tests/deploy_specs.sh                                  | 2 +-
 src/te/tests/netgen-config.yml                                | 2 +-
 src/te/tests/netgen-topology.yml.template                     | 2 +-
 src/te/tests/start-testbed.sh                                 | 2 +-
 src/te/tests/test_te_service.py                               | 2 +-
 src/tests/.gitlab-ci.yml                                      | 2 +-
 src/tests/Fixtures.py                                         | 2 +-
 src/tests/__init__.py                                         | 2 +-
 src/tests/benchmark/policy/PolicyAddService.js                | 2 +-
 src/tests/benchmark/policy/PolicyDelete.js                    | 2 +-
 src/tests/benchmark/policy/PolicyUpdateService.js             | 2 +-
 src/tests/benchmark/policy/__init__.py                        | 2 +-
 src/tests/benchmark/policy/deploy_specs.sh                    | 2 +-
 src/tests/benchmark/policy/run_test_01_bootstrap.sh           | 2 +-
 src/tests/benchmark/policy/run_test_02_create_service.sh      | 2 +-
 src/tests/benchmark/policy/run_test_03_delete_service.sh      | 2 +-
 src/tests/benchmark/policy/run_test_04_cleanup.sh             | 2 +-
 src/tests/benchmark/policy/tests/Fixtures.py                  | 2 +-
 src/tests/benchmark/policy/tests/Objects.py                   | 2 +-
 src/tests/benchmark/policy/tests/__init__.py                  | 2 +-
 src/tests/benchmark/policy/tests/test_functional_bootstrap.py | 2 +-
 src/tests/benchmark/policy/tests/test_functional_cleanup.py   | 2 +-
 .../benchmark/policy/tests/test_functional_create_service.py  | 2 +-
 .../benchmark/policy/tests/test_functional_delete_service.py  | 2 +-
 src/tests/benchmark/ztp/ZtpAdd.js                             | 2 +-
 src/tests/benchmark/ztp/ZtpDelete.js                          | 2 +-
 src/tests/benchmark/ztp/ZtpUpdate.js                          | 2 +-
 src/tests/benchmark/ztp/__init__.py                           | 2 +-
 src/tests/benchmark/ztp/run_test_01_bootstrap.sh              | 2 +-
 src/tests/benchmark/ztp/run_test_02_cleanup.sh                | 2 +-
 src/tests/benchmark/ztp/tests/Fixtures.py                     | 2 +-
 src/tests/benchmark/ztp/tests/Objects.py                      | 2 +-
 src/tests/benchmark/ztp/tests/__init__.py                     | 2 +-
 src/tests/benchmark/ztp/tests/test_functional_bootstrap.py    | 2 +-
 src/tests/benchmark/ztp/tests/test_functional_cleanup.py      | 2 +-
 src/tests/ecoc22/.gitlab-ci.yml                               | 2 +-
 src/tests/ecoc22/Dockerfile                                   | 2 +-
 src/tests/ecoc22/__init__.py                                  | 2 +-
 src/tests/ecoc22/deploy_specs.sh                              | 2 +-
 src/tests/ecoc22/redeploy.sh                                  | 2 +-
 src/tests/ecoc22/requirements.in                              | 2 +-
 src/tests/ecoc22/run_test_01_bootstrap.sh                     | 2 +-
 src/tests/ecoc22/run_test_02_create_service.sh                | 2 +-
 src/tests/ecoc22/run_test_03_delete_service.sh                | 2 +-
 src/tests/ecoc22/run_test_04_cleanup.sh                       | 2 +-
 src/tests/ecoc22/run_tests.sh                                 | 2 +-
 src/tests/ecoc22/tests/Fixtures.py                            | 2 +-
 src/tests/ecoc22/tests/Objects.py                             | 2 +-
 src/tests/ecoc22/tests/Tools.py                               | 2 +-
 src/tests/ecoc22/tests/__init__.py                            | 2 +-
 src/tests/ecoc22/tests/old_code/BuildDescriptors.py           | 2 +-
 src/tests/ecoc22/tests/old_code/LoadDescriptors.py            | 2 +-
 src/tests/ecoc22/tests/old_code/Objects_BigNet.py             | 2 +-
 src/tests/ecoc22/tests/old_code/Objects_DC_CSGW_OLS.py        | 2 +-
 src/tests/ecoc22/tests/old_code/Objects_DC_CSGW_TN.py         | 2 +-
 src/tests/ecoc22/tests/old_code/Objects_DC_CSGW_TN_OLS.py     | 2 +-
 src/tests/ecoc22/tests/test_functional_bootstrap.py           | 2 +-
 src/tests/ecoc22/tests/test_functional_cleanup.py             | 2 +-
 src/tests/ecoc22/tests/test_functional_create_service.py      | 2 +-
 src/tests/ecoc22/tests/test_functional_delete_service.py      | 2 +-
 src/tests/hackfest3/__init__.py                               | 2 +-
 src/tests/hackfest3/deploy_specs.sh                           | 2 +-
 src/tests/hackfest3/grpc/addPolicy.sh                         | 2 +-
 src/tests/hackfest3/grpc/removePolicy.sh                      | 2 +-
 src/tests/hackfest3/int/build_p4.sh                           | 2 +-
 src/tests/hackfest3/int/connect_to_mininet.sh                 | 2 +-
 src/tests/hackfest3/int/copy_int_helpers.sh                   | 2 +-
 src/tests/hackfest3/int/install-scapy.sh                      | 2 +-
 src/tests/hackfest3/int/receive.py                            | 2 +-
 src/tests/hackfest3/int/send.py                               | 2 +-
 src/tests/hackfest3/int/solution/p4_service_handler.py        | 2 +-
 src/tests/hackfest3/int/solution/timestamp/receive2.py        | 2 +-
 src/tests/hackfest3/new-probe/agent.py                        | 2 +-
 src/tests/hackfest3/new-probe/connect_to_mininet.sh           | 2 +-
 src/tests/hackfest3/new-probe/copy.sh                         | 2 +-
 src/tests/hackfest3/new-probe/ping2.py                        | 2 +-
 src/tests/hackfest3/new-probe/solution/agent.py               | 2 +-
 src/tests/hackfest3/new-probe/solution/connect_to_mininet.sh  | 2 +-
 src/tests/hackfest3/new-probe/solution/copy.sh                | 2 +-
 src/tests/hackfest3/new-probe/solution/ping2.py               | 2 +-
 src/tests/hackfest3/probe/monitoring_kpis.py                  | 2 +-
 src/tests/hackfest3/probe/probe-tfs/Cargo.toml                | 2 +-
 src/tests/hackfest3/probe/probe-tfs/build.rs                  | 2 +-
 src/tests/hackfest3/probe/probe-tfs/connect_to_mininet.sh     | 2 +-
 src/tests/hackfest3/probe/probe-tfs/deploy.sh                 | 2 +-
 src/tests/hackfest3/probe/probe-tfs/src/agent.rs              | 2 +-
 src/tests/hackfest3/probe/probe-tfs/src/ping.rs               | 2 +-
 src/tests/hackfest3/run_test_01_bootstrap.sh                  | 2 +-
 src/tests/hackfest3/run_test_02_create_service.sh             | 2 +-
 src/tests/hackfest3/run_test_03_delete_service.sh             | 2 +-
 src/tests/hackfest3/run_test_04_cleanup.sh                    | 2 +-
 src/tests/hackfest3/setup.sh                                  | 2 +-
 src/tests/hackfest3/tests/BuildDescriptors.py                 | 2 +-
 src/tests/hackfest3/tests/LoadDescriptors.py                  | 2 +-
 src/tests/hackfest3/tests/Objects.py                          | 2 +-
 src/tests/hackfest3/tests/__init__.py                         | 2 +-
 src/tests/hackfest3/tests/test_functional_bootstrap.py        | 2 +-
 src/tests/hackfest3/tests/test_functional_cleanup.py          | 2 +-
 src/tests/hackfest3/tests/test_functional_create_service.py   | 2 +-
 src/tests/hackfest3/tests/test_functional_delete_service.py   | 2 +-
 src/tests/oeccpsc22/__init__.py                               | 2 +-
 src/tests/oeccpsc22/delete_all.sh                             | 2 +-
 src/tests/oeccpsc22/deploy_all.sh                             | 2 +-
 src/tests/oeccpsc22/deploy_dom1.sh                            | 2 +-
 src/tests/oeccpsc22/deploy_dom2.sh                            | 2 +-
 src/tests/oeccpsc22/deploy_specs_dom1.sh                      | 2 +-
 src/tests/oeccpsc22/deploy_specs_dom2.sh                      | 2 +-
 src/tests/oeccpsc22/dump_logs.sh                              | 2 +-
 src/tests/oeccpsc22/expose_interdomain_dom2.sh                | 2 +-
 src/tests/oeccpsc22/fast_redeploy.sh                          | 2 +-
 src/tests/oeccpsc22/nginx-ingress-controller-dom1.yaml        | 2 +-
 src/tests/oeccpsc22/nginx-ingress-controller-dom2.yaml        | 2 +-
 src/tests/oeccpsc22/nginx-ingress-http-dom1.yaml              | 2 +-
 src/tests/oeccpsc22/nginx-ingress-http-dom2.yaml              | 2 +-
 src/tests/oeccpsc22/old/deploy_in_kubernetes.sh               | 2 +-
 src/tests/oeccpsc22/old/expose-services-dom1.yaml             | 2 +-
 src/tests/oeccpsc22/old/expose-services-dom2.yaml             | 2 +-
 src/tests/oeccpsc22/run_test_01_bootstrap.sh                  | 2 +-
 src/tests/oeccpsc22/run_test_02_create_interdomain_slice.sh   | 2 +-
 src/tests/oeccpsc22/run_test_03_delete_interdomain_slice.sh   | 2 +-
 src/tests/oeccpsc22/run_test_04_cleanup.sh                    | 2 +-
 src/tests/oeccpsc22/show_deploy.sh                            | 2 +-
 src/tests/oeccpsc22/tests/Objects_Domain_1.py                 | 2 +-
 src/tests/oeccpsc22/tests/Objects_Domain_2.py                 | 2 +-
 src/tests/oeccpsc22/tests/Objects_Service.py                  | 2 +-
 src/tests/oeccpsc22/tests/Tools.py                            | 2 +-
 src/tests/oeccpsc22/tests/__init__.py                         | 2 +-
 src/tests/oeccpsc22/tests/test_functional_bootstrap.py        | 2 +-
 src/tests/oeccpsc22/tests/test_functional_cleanup.py          | 2 +-
 .../tests/test_functional_create_interdomain_slice.py         | 2 +-
 .../tests/test_functional_delete_interdomain_slice.py         | 2 +-
 src/tests/ofc22/.gitlab-ci.yml                                | 2 +-
 src/tests/ofc22/Dockerfile                                    | 2 +-
 src/tests/ofc22/__init__.py                                   | 2 +-
 src/tests/ofc22/deploy_specs.sh                               | 2 +-
 src/tests/ofc22/redeploy.sh                                   | 2 +-
 src/tests/ofc22/requirements.in                               | 2 +-
 src/tests/ofc22/run_test_01_bootstrap.sh                      | 2 +-
 src/tests/ofc22/run_test_02_create_service.sh                 | 2 +-
 src/tests/ofc22/run_test_03_delete_service.sh                 | 2 +-
 src/tests/ofc22/run_test_04_cleanup.sh                        | 2 +-
 src/tests/ofc22/run_tests.sh                                  | 2 +-
 src/tests/ofc22/tests/Fixtures.py                             | 2 +-
 src/tests/ofc22/tests/Objects.py                              | 2 +-
 src/tests/ofc22/tests/ObjectsXr.py                            | 2 +-
 src/tests/ofc22/tests/__init__.py                             | 2 +-
 src/tests/ofc22/tests/test_functional_bootstrap.py            | 2 +-
 src/tests/ofc22/tests/test_functional_cleanup.py              | 2 +-
 src/tests/ofc22/tests/test_functional_create_service.py       | 2 +-
 src/tests/ofc22/tests/test_functional_create_service_xr.py    | 2 +-
 src/tests/ofc22/tests/test_functional_delete_service.py       | 2 +-
 src/tests/ofc22/tests/test_functional_delete_service_xr.py    | 2 +-
 src/tests/ofc23/__init__.py                                   | 2 +-
 src/tests/ofc23/delete_hierar.sh                              | 2 +-
 src/tests/ofc23/delete_sligrp.sh                              | 2 +-
 src/tests/ofc23/deploy_child.sh                               | 2 +-
 src/tests/ofc23/deploy_hierar.sh                              | 2 +-
 src/tests/ofc23/deploy_parent.sh                              | 2 +-
 src/tests/ofc23/deploy_sligrp.sh                              | 2 +-
 src/tests/ofc23/deploy_specs_child.sh                         | 2 +-
 src/tests/ofc23/deploy_specs_parent.sh                        | 2 +-
 src/tests/ofc23/deploy_specs_sligrp.sh                        | 2 +-
 src/tests/ofc23/dump_logs.sh                                  | 2 +-
 src/tests/ofc23/fast_redeploy.sh                              | 2 +-
 src/tests/ofc23/nginx-ingress-controller-child.yaml           | 2 +-
 src/tests/ofc23/nginx-ingress-controller-parent.yaml          | 2 +-
 src/tests/ofc23/show_deploy.sh                                | 2 +-
 src/tests/ofc23/show_deploy_sligrp.sh                         | 2 +-
 src/tests/ofc23/tfs-ingress-child.yaml                        | 2 +-
 src/tests/ofc23/tfs-ingress-parent.yaml                       | 2 +-
 src/tests/ofc24/.gitlab-ci.yml                                | 2 +-
 src/tests/ofc24/Dockerfile                                    | 2 +-
 src/tests/ofc24/__init__.py                                   | 2 +-
 src/tests/ofc24/_old/startExtraNetConfigAgent.sh              | 2 +-
 src/tests/ofc24/_old/start_topo.sh                            | 2 +-
 src/tests/ofc24/deploy-node-agents.sh                         | 2 +-
 src/tests/ofc24/deploy_specs.sh                               | 2 +-
 src/tests/ofc24/destroy-node-agents.sh                        | 2 +-
 src/tests/ofc24/node-agents-config/startNetconfAgent-mg-on.sh | 2 +-
 src/tests/ofc24/node-agents-config/startNetconfAgent-tp.sh    | 2 +-
 src/tests/ofc24/requirements.in                               | 2 +-
 src/tests/ofc24/run-tests-locally.sh                          | 2 +-
 src/tests/ofc24/tests/__init__.py                             | 2 +-
 src/tests/ofc24/tests/test_functional_bootstrap.py            | 2 +-
 src/tests/ofc24/tests/test_functional_cleanup.py              | 2 +-
 src/tests/ofc24/tests/test_functional_create_service_bidir.py | 2 +-
 .../ofc24/tests/test_functional_create_service_unidir.py      | 2 +-
 src/tests/ofc24/tests/test_functional_delete_service_bidir.py | 2 +-
 .../ofc24/tests/test_functional_delete_service_unidir.py      | 2 +-
 src/tests/p4/__init__.py                                      | 2 +-
 src/tests/p4/deploy_specs.sh                                  | 2 +-
 src/tests/p4/mininet/8switch3path.py                          | 2 +-
 src/tests/p4/probe/monitoring_kpis.py                         | 2 +-
 src/tests/p4/probe/probe-tfs/Cargo.toml                       | 2 +-
 src/tests/p4/probe/probe-tfs/build.rs                         | 2 +-
 src/tests/p4/probe/probe-tfs/connect_to_mininet.sh            | 2 +-
 src/tests/p4/probe/probe-tfs/deploy.sh                        | 2 +-
 src/tests/p4/probe/probe-tfs/src/agent.rs                     | 2 +-
 src/tests/p4/probe/probe-tfs/src/ping.rs                      | 2 +-
 src/tests/p4/run_test_01_bootstrap.sh                         | 2 +-
 src/tests/p4/run_test_02_create_service.sh                    | 2 +-
 src/tests/p4/run_test_03_delete_service.sh                    | 2 +-
 src/tests/p4/run_test_04_cleanup.sh                           | 2 +-
 src/tests/p4/setup.sh                                         | 2 +-
 src/tests/p4/tests/BuildDescriptors.py                        | 2 +-
 src/tests/p4/tests/LoadDescriptors.py                         | 2 +-
 src/tests/p4/tests/Objects.py                                 | 2 +-
 src/tests/p4/tests/__init__.py                                | 2 +-
 src/tests/p4/tests/test_functional_bootstrap.py               | 2 +-
 src/tests/p4/tests/test_functional_cleanup.py                 | 2 +-
 src/tests/p4/tests/test_functional_create_service.py          | 2 +-
 src/tests/p4/tests/test_functional_delete_service.py          | 2 +-
 src/tests/p4/tests/topologies/6switchObjects.py               | 2 +-
 src/tests/scenario2/__init__.py                               | 2 +-
 src/tests/scenario2/delete_all.sh                             | 2 +-
 src/tests/scenario2/deploy_all.sh                             | 2 +-
 src/tests/scenario2/deploy_specs_dom1.sh                      | 2 +-
 src/tests/scenario2/deploy_specs_dom2.sh                      | 2 +-
 src/tests/scenario2/deploy_specs_dom3.sh                      | 2 +-
 src/tests/scenario2/deploy_specs_dom4.sh                      | 2 +-
 src/tests/scenario2/dump_logs.sh                              | 2 +-
 src/tests/scenario2/fast_redeploy.sh                          | 2 +-
 src/tests/scenario2/nginx-ingress-controller-dom1.yaml        | 2 +-
 src/tests/scenario2/nginx-ingress-controller-dom2.yaml        | 2 +-
 src/tests/scenario2/nginx-ingress-controller-dom3.yaml        | 2 +-
 src/tests/scenario2/nginx-ingress-controller-dom4.yaml        | 2 +-
 src/tests/scenario2/old_tests/run_test_01_bootstrap.sh        | 2 +-
 src/tests/scenario2/old_tests/run_test_02_create_service.sh   | 2 +-
 src/tests/scenario2/old_tests/run_test_03_delete_service.sh   | 2 +-
 src/tests/scenario2/old_tests/run_test_04_cleanup.sh          | 2 +-
 src/tests/scenario2/old_tests/run_tests_and_coverage.sh       | 2 +-
 src/tests/scenario2/old_tests/tests/BuildDescriptors.py       | 2 +-
 src/tests/scenario2/old_tests/tests/Fixtures.py               | 2 +-
 src/tests/scenario2/old_tests/tests/LoadDescriptors.py        | 2 +-
 src/tests/scenario2/old_tests/tests/Objects.py                | 2 +-
 src/tests/scenario2/old_tests/tests/__init__.py               | 2 +-
 .../scenario2/old_tests/tests/test_functional_bootstrap.py    | 2 +-
 .../scenario2/old_tests/tests/test_functional_cleanup.py      | 2 +-
 .../old_tests/tests/test_functional_create_service.py         | 2 +-
 .../old_tests/tests/test_functional_delete_service.py         | 2 +-
 src/tests/scenario2/reset.sh                                  | 2 +-
 src/tests/scenario2/show_deploy.sh                            | 2 +-
 src/tests/scenario2/tfs-ingress-dom1.yaml                     | 2 +-
 src/tests/scenario2/tfs-ingress-dom2.yaml                     | 2 +-
 src/tests/scenario2/tfs-ingress-dom3.yaml                     | 2 +-
 src/tests/scenario2/tfs-ingress-dom4.yaml                     | 2 +-
 src/tests/scenario3/l3/deploy.sh                              | 2 +-
 src/tests/scenario3/l3/deploy_specs.sh                        | 2 +-
 src/tests/scenario3/l3/run.sh                                 | 2 +-
 src/tests/scenario3/optical/deploy_specs.sh                   | 2 +-
 src/tests/scenario3/optical/jocn/run_experiment.py            | 2 +-
 src/tests/scenario3/optical/ofc23/run_experiment_demo.py      | 2 +-
 src/tests/tools/__init__.py                                   | 2 +-
 src/tests/tools/load_scenario/__init__.py                     | 2 +-
 src/tests/tools/load_scenario/__main__.py                     | 2 +-
 src/tests/tools/load_scenario/run.sh                          | 2 +-
 src/tests/tools/mock_ietf_actn_sdn_ctrl/Dockerfile            | 2 +-
 .../tools/mock_ietf_actn_sdn_ctrl/MockIetfActnSdnCtrl.py      | 2 +-
 .../tools/mock_ietf_actn_sdn_ctrl/ResourceEthServices.py      | 2 +-
 src/tests/tools/mock_ietf_actn_sdn_ctrl/ResourceOsuTunnels.py | 2 +-
 src/tests/tools/mock_ietf_actn_sdn_ctrl/__init__.py           | 2 +-
 src/tests/tools/mock_ietf_actn_sdn_ctrl/build.sh              | 2 +-
 src/tests/tools/mock_ietf_actn_sdn_ctrl/deploy.sh             | 2 +-
 .../mock_ietf_actn_sdn_ctrl/mock-ietf-actn-sdn-ctrl.yaml      | 2 +-
 src/tests/tools/mock_ietf_actn_sdn_ctrl/requirements.in       | 2 +-
 src/tests/tools/mock_ietf_actn_sdn_ctrl/run.sh                | 2 +-
 src/tests/tools/mock_ipm_sdn_ctrl/MockIPMSdnCtrl.py           | 2 +-
 src/tests/tools/mock_ipm_sdn_ctrl/run.sh                      | 2 +-
 src/tests/tools/mock_mw_sdn_ctrl/MockMWSdnCtrl.py             | 2 +-
 src/tests/tools/mock_mw_sdn_ctrl/run.sh                       | 2 +-
 src/tests/tools/mock_mw_sdn_ctrl/scenario/microwave_deploy.sh | 2 +-
 src/tests/tools/mock_mw_sdn_ctrl/ssl_not_working/Dockerfile   | 2 +-
 src/tests/tools/mock_mw_sdn_ctrl/ssl_not_working/build.sh     | 2 +-
 src/tests/tools/mock_mw_sdn_ctrl/ssl_not_working/deploy.sh    | 2 +-
 .../tools/mock_mw_sdn_ctrl/ssl_not_working/requirements.in    | 2 +-
 src/tests/tools/mock_osm/Constants.py                         | 2 +-
 src/tests/tools/mock_osm/MockOSM.py                           | 2 +-
 src/tests/tools/mock_osm/Tools.py                             | 2 +-
 src/tests/tools/mock_osm/__init__.py                          | 2 +-
 .../tools/mock_tfs_optical_sdn_ctrl/MockTfsOpticalSdnCtrl.py  | 2 +-
 src/tests/tools/mock_tfs_optical_sdn_ctrl/data.py             | 2 +-
 src/tests/tools/mock_tfs_optical_sdn_ctrl/run.sh              | 2 +-
 src/tests/tools/perf_plots/Component_RPC_Methods.py           | 2 +-
 src/tests/tools/perf_plots/Device_Driver_Details.py           | 2 +-
 src/tests/tools/perf_plots/Device_Driver_Methods.py           | 2 +-
 src/tests/tools/perf_plots/LoadGen_Requests.py                | 2 +-
 src/tests/tools/perf_plots/Service_Handler_Methods.py         | 2 +-
 src/tests/tools/perf_plots/__init__.py                        | 2 +-
 src/tests/tools/perf_plots/collect.sh                         | 2 +-
 src/tests/tools/perf_plots/experiments/Experiment.py          | 2 +-
 src/tests/tools/perf_plots/experiments/__init__.py            | 2 +-
 .../tools/perf_plots/experiments/scenario_1/Emu_Onboard.py    | 2 +-
 .../perf_plots/experiments/scenario_1/L2NM_EMU_Service.py     | 2 +-
 .../perf_plots/experiments/scenario_1/L3NM_EMU_Service.py     | 2 +-
 src/tests/tools/perf_plots/experiments/scenario_1/__init__.py | 2 +-
 .../perf_plots/experiments/scenario_2/Scal_001tnt_005erl.py   | 2 +-
 .../perf_plots/experiments/scenario_2/Scal_005tnt_025erl.py   | 2 +-
 .../perf_plots/experiments/scenario_2/Scal_010tnt_050erl.py   | 2 +-
 .../perf_plots/experiments/scenario_2/Scal_020tnt_100erl.py   | 2 +-
 .../perf_plots/experiments/scenario_2/Scal_040tnt_200erl.py   | 2 +-
 .../perf_plots/experiments/scenario_2/Scal_060tnt_300erl.py   | 2 +-
 .../perf_plots/experiments/scenario_2/Scal_080tnt_400erl.py   | 2 +-
 .../perf_plots/experiments/scenario_2/Scal_100tnt_500erl.py   | 2 +-
 .../perf_plots/experiments/scenario_2/Scal_120tnt_600erl.py   | 2 +-
 src/tests/tools/perf_plots/experiments/scenario_2/__init__.py | 2 +-
 src/tests/tools/perf_plots/tools/FileSystem.py                | 2 +-
 src/tests/tools/perf_plots/tools/Histogram.py                 | 2 +-
 src/tests/tools/perf_plots/tools/HistogramData.py             | 2 +-
 src/tests/tools/perf_plots/tools/Plotter.py                   | 2 +-
 src/tests/tools/perf_plots/tools/Prometheus.py                | 2 +-
 src/tests/tools/perf_plots/tools/__init__.py                  | 2 +-
 src/webui/.gitlab-ci.yml                                      | 2 +-
 src/webui/Config.py                                           | 2 +-
 src/webui/Dockerfile                                          | 2 +-
 src/webui/__init__.py                                         | 2 +-
 src/webui/requirements.in                                     | 2 +-
 src/webui/service/__init__.py                                 | 2 +-
 src/webui/service/__main__.py                                 | 2 +-
 src/webui/service/bgpls/__init__.py                           | 2 +-
 src/webui/service/bgpls/forms.py                              | 2 +-
 src/webui/service/bgpls/routes.py                             | 2 +-
 src/webui/service/context/__init__.py                         | 2 +-
 src/webui/service/context/routes.py                           | 2 +-
 src/webui/service/device/__init__.py                          | 2 +-
 src/webui/service/device/forms.py                             | 2 +-
 src/webui/service/device/routes.py                            | 2 +-
 src/webui/service/js/__init__.py                              | 2 +-
 src/webui/service/js/routes.py                                | 2 +-
 src/webui/service/link/__init__.py                            | 2 +-
 src/webui/service/link/routes.py                              | 2 +-
 src/webui/service/load_gen/__init__.py                        | 2 +-
 src/webui/service/load_gen/forms.py                           | 2 +-
 src/webui/service/load_gen/routes.py                          | 2 +-
 src/webui/service/main/__init__.py                            | 2 +-
 src/webui/service/main/forms.py                               | 2 +-
 src/webui/service/main/routes.py                              | 2 +-
 src/webui/service/policy_rule/__init__.py                     | 2 +-
 src/webui/service/policy_rule/routes.py                       | 2 +-
 src/webui/service/service/__init__.py                         | 2 +-
 src/webui/service/service/forms.py                            | 2 +-
 src/webui/service/service/routes.py                           | 2 +-
 src/webui/service/slice/__init__.py                           | 2 +-
 src/webui/service/slice/routes.py                             | 2 +-
 src/webui/service/templates/base.html                         | 2 +-
 src/webui/service/templates/bgpls/add.html                    | 2 +-
 src/webui/service/templates/bgpls/addSpeaker.html             | 2 +-
 src/webui/service/templates/bgpls/editSpeakers.html           | 2 +-
 src/webui/service/templates/bgpls/home.html                   | 2 +-
 src/webui/service/templates/context/home.html                 | 2 +-
 src/webui/service/templates/device/add.html                   | 2 +-
 src/webui/service/templates/device/addconfig.html             | 2 +-
 src/webui/service/templates/device/detail.html                | 2 +-
 src/webui/service/templates/device/home.html                  | 2 +-
 src/webui/service/templates/device/inventory.html             | 2 +-
 src/webui/service/templates/device/update.html                | 2 +-
 src/webui/service/templates/device/updateconfig.html          | 2 +-
 src/webui/service/templates/js/site.js                        | 2 +-
 src/webui/service/templates/js/topology.js                    | 2 +-
 src/webui/service/templates/link/detail.html                  | 2 +-
 src/webui/service/templates/link/home.html                    | 2 +-
 src/webui/service/templates/load_gen/home.html                | 2 +-
 src/webui/service/templates/main/about.html                   | 2 +-
 src/webui/service/templates/main/debug.html                   | 2 +-
 src/webui/service/templates/main/home.html                    | 2 +-
 src/webui/service/templates/policy_rule/home.html             | 2 +-
 src/webui/service/templates/service/add-xr.html               | 2 +-
 src/webui/service/templates/service/add.html                  | 2 +-
 src/webui/service/templates/service/configure_ACL_IPV4.html   | 2 +-
 src/webui/service/templates/service/configure_ACL_IPV6.html   | 2 +-
 src/webui/service/templates/service/configure_ACL_L2.html     | 2 +-
 src/webui/service/templates/service/configure_L2VPN.html      | 2 +-
 src/webui/service/templates/service/configure_L3VPN.html      | 2 +-
 src/webui/service/templates/service/detail.html               | 2 +-
 src/webui/service/templates/service/home.html                 | 2 +-
 src/webui/service/templates/slice/detail.html                 | 2 +-
 src/webui/service/templates/slice/home.html                   | 2 +-
 src/webui/service/templates/topology/add.html                 | 2 +-
 src/webui/service/templates/topology/addSpeaker.html          | 2 +-
 src/webui/service/templates/topology/editSpeakers.html        | 2 +-
 src/webui/service/templates/topology/home.html                | 2 +-
 src/webui/service/topology/__init__.py                        | 2 +-
 src/webui/service/topology/forms.py                           | 2 +-
 src/webui/service/topology/routes.py                          | 2 +-
 src/webui/tests/__init__.py                                   | 2 +-
 src/webui/tests/test_unitary.py                               | 2 +-
 src/webui/utils/__init__.py                                   | 2 +-
 src/webui/utils/form_validators.py                            | 2 +-
 src/ztp/.gitlab-ci.yml                                        | 2 +-
 src/ztp/pom.xml                                               | 2 +-
 src/ztp/src/main/docker/Dockerfile.multistage.jvm             | 2 +-
 src/ztp/src/main/java/org/etsi/tfs/ztp/ContextSubscriber.java | 2 +-
 src/ztp/src/main/java/org/etsi/tfs/ztp/Serializer.java        | 2 +-
 .../src/main/java/org/etsi/tfs/ztp/SimpleLivenessCheck.java   | 2 +-
 .../src/main/java/org/etsi/tfs/ztp/SimpleReadinessCheck.java  | 2 +-
 src/ztp/src/main/java/org/etsi/tfs/ztp/ZtpConfiguration.java  | 2 +-
 src/ztp/src/main/java/org/etsi/tfs/ztp/ZtpGateway.java        | 2 +-
 src/ztp/src/main/java/org/etsi/tfs/ztp/ZtpGatewayImpl.java    | 2 +-
 src/ztp/src/main/java/org/etsi/tfs/ztp/ZtpService.java        | 2 +-
 src/ztp/src/main/java/org/etsi/tfs/ztp/ZtpServiceImpl.java    | 2 +-
 src/ztp/src/main/java/org/etsi/tfs/ztp/acl/AclAction.java     | 2 +-
 src/ztp/src/main/java/org/etsi/tfs/ztp/acl/AclEntry.java      | 2 +-
 .../main/java/org/etsi/tfs/ztp/acl/AclForwardActionEnum.java  | 2 +-
 .../src/main/java/org/etsi/tfs/ztp/acl/AclLogActionEnum.java  | 2 +-
 src/ztp/src/main/java/org/etsi/tfs/ztp/acl/AclMatch.java      | 2 +-
 src/ztp/src/main/java/org/etsi/tfs/ztp/acl/AclRuleSet.java    | 2 +-
 .../src/main/java/org/etsi/tfs/ztp/acl/AclRuleTypeEnum.java   | 2 +-
 src/ztp/src/main/java/org/etsi/tfs/ztp/common/Util.java       | 2 +-
 .../main/java/org/etsi/tfs/ztp/context/ContextGateway.java    | 2 +-
 .../java/org/etsi/tfs/ztp/context/ContextGatewayImpl.java     | 2 +-
 .../main/java/org/etsi/tfs/ztp/context/ContextService.java    | 2 +-
 .../java/org/etsi/tfs/ztp/context/ContextServiceImpl.java     | 2 +-
 .../java/org/etsi/tfs/ztp/context/model/ConfigActionEnum.java | 2 +-
 .../main/java/org/etsi/tfs/ztp/context/model/ConfigRule.java  | 2 +-
 .../java/org/etsi/tfs/ztp/context/model/ConfigRuleAcl.java    | 2 +-
 .../java/org/etsi/tfs/ztp/context/model/ConfigRuleCustom.java | 2 +-
 .../java/org/etsi/tfs/ztp/context/model/ConfigRuleType.java   | 2 +-
 .../org/etsi/tfs/ztp/context/model/ConfigRuleTypeAcl.java     | 2 +-
 .../org/etsi/tfs/ztp/context/model/ConfigRuleTypeCustom.java  | 2 +-
 .../src/main/java/org/etsi/tfs/ztp/context/model/Device.java  | 2 +-
 .../java/org/etsi/tfs/ztp/context/model/DeviceConfig.java     | 2 +-
 .../java/org/etsi/tfs/ztp/context/model/DeviceDriverEnum.java | 2 +-
 .../main/java/org/etsi/tfs/ztp/context/model/DeviceEvent.java | 2 +-
 .../etsi/tfs/ztp/context/model/DeviceOperationalStatus.java   | 2 +-
 .../src/main/java/org/etsi/tfs/ztp/context/model/Empty.java   | 2 +-
 .../main/java/org/etsi/tfs/ztp/context/model/EndPoint.java    | 2 +-
 .../main/java/org/etsi/tfs/ztp/context/model/EndPointId.java  | 2 +-
 .../src/main/java/org/etsi/tfs/ztp/context/model/Event.java   | 2 +-
 .../java/org/etsi/tfs/ztp/context/model/EventTypeEnum.java    | 2 +-
 .../main/java/org/etsi/tfs/ztp/context/model/GpsPosition.java | 2 +-
 .../main/java/org/etsi/tfs/ztp/context/model/Location.java    | 2 +-
 .../java/org/etsi/tfs/ztp/context/model/LocationType.java     | 2 +-
 .../etsi/tfs/ztp/context/model/LocationTypeGpsPosition.java   | 2 +-
 .../org/etsi/tfs/ztp/context/model/LocationTypeRegion.java    | 2 +-
 .../main/java/org/etsi/tfs/ztp/context/model/TopologyId.java  | 2 +-
 .../src/main/java/org/etsi/tfs/ztp/device/DeviceGateway.java  | 2 +-
 .../main/java/org/etsi/tfs/ztp/device/DeviceGatewayImpl.java  | 2 +-
 .../src/main/java/org/etsi/tfs/ztp/device/DeviceService.java  | 2 +-
 .../main/java/org/etsi/tfs/ztp/device/DeviceServiceImpl.java  | 2 +-
 .../tfs/ztp/exception/ExternalServiceFailureException.java    | 2 +-
 .../org/etsi/tfs/ztp/exception/GeneralExceptionHandler.java   | 2 +-
 .../etsi/tfs/ztp/kpi_sample_types/model/KpiSampleType.java    | 2 +-
 src/ztp/src/main/java/org/etsi/tfs/ztp/model/DeviceRole.java  | 2 +-
 .../main/java/org/etsi/tfs/ztp/model/DeviceRoleConfig.java    | 2 +-
 .../src/main/java/org/etsi/tfs/ztp/model/DeviceRoleId.java    | 2 +-
 .../src/main/java/org/etsi/tfs/ztp/model/DeviceRoleType.java  | 2 +-
 src/ztp/src/main/java/org/etsi/tfs/ztp/model/DeviceState.java | 2 +-
 src/ztp/src/main/resources/application.yml                    | 2 +-
 .../src/test/java/org/etsi/tfs/ztp/ConfigRuleTypeTest.java    | 2 +-
 .../src/test/java/org/etsi/tfs/ztp/ContextSubscriberTest.java | 2 +-
 .../src/test/java/org/etsi/tfs/ztp/EndPointCreationTest.java  | 2 +-
 src/ztp/src/test/java/org/etsi/tfs/ztp/LocationTypeTest.java  | 2 +-
 .../src/test/java/org/etsi/tfs/ztp/MockZtpConfiguration.java  | 2 +-
 src/ztp/src/test/java/org/etsi/tfs/ztp/SerializerTest.java    | 2 +-
 .../test/java/org/etsi/tfs/ztp/ZtpFunctionalServiceTest.java  | 2 +-
 src/ztp/src/test/java/org/etsi/tfs/ztp/ZtpServiceTest.java    | 2 +-
 src/ztp/util/set_version.sh                                   | 2 +-
 update_tfs_runtime_env_vars.sh                                | 2 +-
 3002 files changed, 3003 insertions(+), 3003 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 2d7c2e21b..e2d653e03 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/clean_testing_environment.sh b/clean_testing_environment.sh
index b9c502ade..f037a2a39 100755
--- a/clean_testing_environment.sh
+++ b/clean_testing_environment.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env bash
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/common_requirements.in b/common_requirements.in
index 37b70c993..3aa30e174 100644
--- a/common_requirements.in
+++ b/common_requirements.in
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/coverage/.coveragerc.template b/coverage/.coveragerc.template
index 4421399ca..3d8065aca 100644
--- a/coverage/.coveragerc.template
+++ b/coverage/.coveragerc.template
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/data/perf/old/MW/generate.sh b/data/perf/old/MW/generate.sh
index a7fd03b2f..ccef4e113 100755
--- a/data/perf/old/MW/generate.sh
+++ b/data/perf/old/MW/generate.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/data/perf/old/MW/generate_plot.py b/data/perf/old/MW/generate_plot.py
index 3d2d3a77c..22befef30 100644
--- a/data/perf/old/MW/generate_plot.py
+++ b/data/perf/old/MW/generate_plot.py
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/data/perf/old/OpenConfig/generate.sh b/data/perf/old/OpenConfig/generate.sh
index 6a6123bab..5147d4962 100755
--- a/data/perf/old/OpenConfig/generate.sh
+++ b/data/perf/old/OpenConfig/generate.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/data/perf/old/OpenConfig/generate_plot.py b/data/perf/old/OpenConfig/generate_plot.py
index 63166d7ac..8d50ab81f 100644
--- a/data/perf/old/OpenConfig/generate_plot.py
+++ b/data/perf/old/OpenConfig/generate_plot.py
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/data/perf/old/TE/te-cdf.py b/data/perf/old/TE/te-cdf.py
index fdcc1f679..a3e7cc530 100644
--- a/data/perf/old/TE/te-cdf.py
+++ b/data/perf/old/TE/te-cdf.py
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/data/perf/old/XR/generate.sh b/data/perf/old/XR/generate.sh
index a26632959..d5b704763 100755
--- a/data/perf/old/XR/generate.sh
+++ b/data/perf/old/XR/generate.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/data/perf/old/XR/generate_plot.py b/data/perf/old/XR/generate_plot.py
index d9cf628a1..f27c37e53 100644
--- a/data/perf/old/XR/generate_plot.py
+++ b/data/perf/old/XR/generate_plot.py
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/data/perf/old/emulated/generate.sh b/data/perf/old/emulated/generate.sh
index c61406525..7b978c1fd 100755
--- a/data/perf/old/emulated/generate.sh
+++ b/data/perf/old/emulated/generate.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/data/perf/old/emulated/generate_plot.py b/data/perf/old/emulated/generate_plot.py
index 0f74bc401..d049386c3 100644
--- a/data/perf/old/emulated/generate_plot.py
+++ b/data/perf/old/emulated/generate_plot.py
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/deploy/all.sh b/deploy/all.sh
index 25d69b485..c169bc92c 100755
--- a/deploy/all.sh
+++ b/deploy/all.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/deploy/component.sh b/deploy/component.sh
index d3a94c259..89d2383d7 100755
--- a/deploy/component.sh
+++ b/deploy/component.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/deploy/crdb.sh b/deploy/crdb.sh
index a304e83d1..c979ad4f2 100755
--- a/deploy/crdb.sh
+++ b/deploy/crdb.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/deploy/expose_dashboard.sh b/deploy/expose_dashboard.sh
index 65f715cab..f2391ab5d 100755
--- a/deploy/expose_dashboard.sh
+++ b/deploy/expose_dashboard.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/deploy/mock_blockchain.sh b/deploy/mock_blockchain.sh
index df8496bea..fafa435b1 100755
--- a/deploy/mock_blockchain.sh
+++ b/deploy/mock_blockchain.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/deploy/nats.sh b/deploy/nats.sh
index 004f67c44..366270a69 100755
--- a/deploy/nats.sh
+++ b/deploy/nats.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/deploy/qdb.sh b/deploy/qdb.sh
index 3235c6c82..acbcfd4f9 100755
--- a/deploy/qdb.sh
+++ b/deploy/qdb.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/deploy/show.sh b/deploy/show.sh
index a4084ac65..4fa1ce3a6 100755
--- a/deploy/show.sh
+++ b/deploy/show.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/deploy/tfs.sh b/deploy/tfs.sh
index fd49c9758..3fdbe77fb 100755
--- a/deploy/tfs.sh
+++ b/deploy/tfs.sh
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/hackfest/containerlab/tfs-scenario.clab.yml b/hackfest/containerlab/tfs-scenario.clab.yml
index df197ebea..f79378757 100644
--- a/hackfest/containerlab/tfs-scenario.clab.yml
+++ b/hackfest/containerlab/tfs-scenario.clab.yml
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/hackfest/gnmi/srlinux.clab.yml b/hackfest/gnmi/srlinux.clab.yml
index a589292ac..6cfeb6108 100644
--- a/hackfest/gnmi/srlinux.clab.yml
+++ b/hackfest/gnmi/srlinux.clab.yml
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/hackfest/grpc/connection.proto b/hackfest/grpc/connection.proto
index 0e8522768..0da1059f3 100644
--- a/hackfest/grpc/connection.proto
+++ b/hackfest/grpc/connection.proto
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/hackfest/grpc/connection/create.py b/hackfest/grpc/connection/create.py
index 7d134105d..9e32dd8d4 100644
--- a/hackfest/grpc/connection/create.py
+++ b/hackfest/grpc/connection/create.py
@@ -1,5 +1,5 @@
 #! /usr/bin/env python3
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/hackfest/grpc/connection/list.py b/hackfest/grpc/connection/list.py
index 5b1926d3c..e852b69b7 100644
--- a/hackfest/grpc/connection/list.py
+++ b/hackfest/grpc/connection/list.py
@@ -1,5 +1,5 @@
 #! /usr/bin/env python3
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/hackfest/grpc/connectionService.proto b/hackfest/grpc/connectionService.proto
index 8f6b5a6e7..0a80f2c1a 100644
--- a/hackfest/grpc/connectionService.proto
+++ b/hackfest/grpc/connectionService.proto
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/hackfest/grpc/connectionService/connectionService_client.py b/hackfest/grpc/connectionService/connectionService_client.py
index e5c1bf481..2ed97ae97 100644
--- a/hackfest/grpc/connectionService/connectionService_client.py
+++ b/hackfest/grpc/connectionService/connectionService_client.py
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/hackfest/grpc/connectionService/connectionService_server.py b/hackfest/grpc/connectionService/connectionService_server.py
index f1632db90..ff991f44c 100644
--- a/hackfest/grpc/connectionService/connectionService_server.py
+++ b/hackfest/grpc/connectionService/connectionService_server.py
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/hackfest/grpc/connectionServiceWithNotif.proto b/hackfest/grpc/connectionServiceWithNotif.proto
index f2f5b17e3..778203e26 100644
--- a/hackfest/grpc/connectionServiceWithNotif.proto
+++ b/hackfest/grpc/connectionServiceWithNotif.proto
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_client.py b/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_client.py
index 9518bf743..2503f424f 100644
--- a/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_client.py
+++ b/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_client.py
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_server.py b/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_server.py
index 922f91837..d5c413064 100644
--- a/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_server.py
+++ b/hackfest/grpc/connectionServiceWithNotif/connectionServiceWithNotif_server.py
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/hackfest/grpc/topologyService.proto b/hackfest/grpc/topologyService.proto
index 775e45add..6a38bf9c7 100644
--- a/hackfest/grpc/topologyService.proto
+++ b/hackfest/grpc/topologyService.proto
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/hackfest/grpc/topologyService/topologyService_client.py b/hackfest/grpc/topologyService/topologyService_client.py
index ef628183b..aa1ffc2bf 100644
--- a/hackfest/grpc/topologyService/topologyService_client.py
+++ b/hackfest/grpc/topologyService/topologyService_client.py
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/hackfest/grpc/topologyService/topologyService_server.py b/hackfest/grpc/topologyService/topologyService_server.py
index ff1c80e82..dfd62aa13 100644
--- a/hackfest/grpc/topologyService/topologyService_server.py
+++ b/hackfest/grpc/topologyService/topologyService_server.py
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/hackfest/kafka/pub.py b/hackfest/kafka/pub.py
index e80dd5db8..77564dfcb 100644
--- a/hackfest/kafka/pub.py
+++ b/hackfest/kafka/pub.py
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/hackfest/kafka/sub.py b/hackfest/kafka/sub.py
index 233b9f9d0..2253c6467 100644
--- a/hackfest/kafka/sub.py
+++ b/hackfest/kafka/sub.py
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/hackfest/mock_osm/MockOSM.py b/hackfest/mock_osm/MockOSM.py
index 338db0e19..7ced57d3e 100644
--- a/hackfest/mock_osm/MockOSM.py
+++ b/hackfest/mock_osm/MockOSM.py
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/hackfest/mock_osm/__init__.py b/hackfest/mock_osm/__init__.py
index 1549d9811..3ee6f7071 100644
--- a/hackfest/mock_osm/__init__.py
+++ b/hackfest/mock_osm/__init__.py
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/hackfest/mock_osm/__main__.py b/hackfest/mock_osm/__main__.py
index 4ed25eaed..48866fb2d 100644
--- a/hackfest/mock_osm/__main__.py
+++ b/hackfest/mock_osm/__main__.py
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/hackfest/netconf-oc/device_definition.py b/hackfest/netconf-oc/device_definition.py
index 6e737f556..ecd3dd6ce 100644
--- a/hackfest/netconf-oc/device_definition.py
+++ b/hackfest/netconf-oc/device_definition.py
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+# Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
diff --git a/hackfest/netconf-oc/interfaces.xml b/hackfest/netconf-oc/interfaces.xml
index c47fc44e3..f04504bd4 100644
--- a/hackfest/netconf-oc/interfaces.xml
+++ b/hackfest/netconf-oc/interfaces.xml
@@ -1,6 +1,6 @@
 
 
+			
 
 			
 			
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4PeerInitiatedSession.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4PeerInitiatedSession.java
index e5a37e743..9651d7876 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4PeerInitiatedSession.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4PeerInitiatedSession.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4Session.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4Session.java
index 002a5caa5..0c1a656c4 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4Session.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4Session.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4SessionClient.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4SessionClient.java
index 61a5fc41c..b96359b6c 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4SessionClient.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4SessionClient.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4SessionExistsException.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4SessionExistsException.java
index 668825ca8..4f6f4af85 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4SessionExistsException.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4SessionExistsException.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4SessionsInformation.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4SessionsInformation.java
index df5d7bc9c..963406700 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4SessionsInformation.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4SessionsInformation.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4StateSession.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4StateSession.java
index 6f426828b..5a1a5119a 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4StateSession.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/BGP4StateSession.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/ConnectRetryTimer.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/ConnectRetryTimer.java
index 736c56fc5..0eba7b309 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/ConnectRetryTimer.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/ConnectRetryTimer.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/DeadTimerThread.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/DeadTimerThread.java
index f32f0218f..ee9dd6623 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/DeadTimerThread.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/DeadTimerThread.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/GenericBGP4Session.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/GenericBGP4Session.java
index 45636a2fe..c42423aff 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/GenericBGP4Session.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/GenericBGP4Session.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/KeepAliveThread.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/KeepAliveThread.java
index 70ebe101f..32112e01b 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/KeepAliveThread.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/KeepAliveThread.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/KeepWaitTimerTask.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/KeepWaitTimerTask.java
index 3bc72c84d..94e39fb19 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/KeepWaitTimerTask.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/KeepWaitTimerTask.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/OpenWaitTimerTask.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/OpenWaitTimerTask.java
index 20b77ce4e..fbb9aca1a 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/OpenWaitTimerTask.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/bgp4session/OpenWaitTimerTask.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/grpc/grpcApp.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/grpc/grpcApp.java
index 329404668..02cfbaf91 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/grpc/grpcApp.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/grpc/grpcApp.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/grpc/grpcClient.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/grpc/grpcClient.java
index 6e74dff00..ca9b13007 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/grpc/grpcClient.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/grpc/grpcClient.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/grpc/updateServiceImpl.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/grpc/updateServiceImpl.java
index 3010cbbfb..e9dff709f 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/grpc/updateServiceImpl.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/grpc/updateServiceImpl.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/json/bgpMarshal.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/json/bgpMarshal.java
index 87d141222..f4bdcc587 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/json/bgpMarshal.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/json/bgpMarshal.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/management/BGP4ManagementServer.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/management/BGP4ManagementServer.java
index f135a446d..3a813e936 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/management/BGP4ManagementServer.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/management/BGP4ManagementServer.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/management/BGP4ManagementSession.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/management/BGP4ManagementSession.java
index 18a433e40..476628728 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/management/BGP4ManagementSession.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/management/BGP4ManagementSession.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/LinkNLRIMsg.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/LinkNLRIMsg.java
index 9455ccd1c..fb9a08d7e 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/LinkNLRIMsg.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/LinkNLRIMsg.java
@@ -1,5 +1,5 @@
 
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/NodeNLRIMsg.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/NodeNLRIMsg.java
index 958544f63..d206cf7e2 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/NodeNLRIMsg.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/NodeNLRIMsg.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/PathAttributeMsg.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/PathAttributeMsg.java
index 11bf355d0..4f036b8a1 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/PathAttributeMsg.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/PathAttributeMsg.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/UpdateMsg.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/UpdateMsg.java
index 37d87e683..aba3dcef5 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/UpdateMsg.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/UpdateMsg.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/UpdateMsgList.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/UpdateMsgList.java
index 6fd30c6cb..e274a87aa 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/UpdateMsgList.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/models/UpdateMsgList.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4Exception.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4Exception.java
index 736f6cd3e..6bd951501 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4Exception.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4Exception.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4LSPeerInfo.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4LSPeerInfo.java
index 768e4a87b..d751622ee 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4LSPeerInfo.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4LSPeerInfo.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4Parameters.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4Parameters.java
index e8958d306..3c83a9a77 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4Parameters.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4Parameters.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4SessionClientManager.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4SessionClientManager.java
index 75694e90c..9e54e64c1 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4SessionClientManager.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4SessionClientManager.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4SessionServerManager.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4SessionServerManager.java
index ccb59fa2e..0d337bb61 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4SessionServerManager.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGP4SessionServerManager.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGPPeer.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGPPeer.java
index bdddd4379..9894a8966 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGPPeer.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGPPeer.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGPPeerMain.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGPPeerMain.java
index 97e2702f5..aa2a5cc6a 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGPPeerMain.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/BGPPeerMain.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/SaveTopologyinDB.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/SaveTopologyinDB.java
index bd27bb87a..d66f2485d 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/SaveTopologyinDB.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/SaveTopologyinDB.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/SendTopology.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/SendTopology.java
index d2de34a91..5bfeae8e2 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/SendTopology.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/peer/SendTopology.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/tedb/BGP4DomainTEDB.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/tedb/BGP4DomainTEDB.java
index 512467ccf..cbea17cc5 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/tedb/BGP4DomainTEDB.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/tedb/BGP4DomainTEDB.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/tedb/BGP4IntradomainTEDB.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/tedb/BGP4IntradomainTEDB.java
index 0f027c693..19aad7115 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/tedb/BGP4IntradomainTEDB.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/tedb/BGP4IntradomainTEDB.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/tedb/IntraTEDBS.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/tedb/IntraTEDBS.java
index ae4946dd2..22319122a 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/tedb/IntraTEDBS.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/tedb/IntraTEDBS.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/updateTEDB/UpdateDispatcher.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/updateTEDB/UpdateDispatcher.java
index e77612ea6..0da582030 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/updateTEDB/UpdateDispatcher.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/updateTEDB/UpdateDispatcher.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/updateTEDB/UpdateLink.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/updateTEDB/UpdateLink.java
index df711c284..bf7a0b84a 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/updateTEDB/UpdateLink.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/updateTEDB/UpdateLink.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/updateTEDB/UpdateProccesorThread.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/updateTEDB/UpdateProccesorThread.java
index cedbe3498..26d876c17 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/updateTEDB/UpdateProccesorThread.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/updateTEDB/UpdateProccesorThread.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/updateTEDB/UpdaterThreadRedisTED.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/updateTEDB/UpdaterThreadRedisTED.java
index 229fbe1de..4c0fd1380 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/updateTEDB/UpdaterThreadRedisTED.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/bgp4Peer/updateTEDB/UpdaterThreadRedisTED.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/DatabaseControlSimplifiedLSA.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/DatabaseControlSimplifiedLSA.java
index e56e45cf5..436263a47 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/DatabaseControlSimplifiedLSA.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/DatabaseControlSimplifiedLSA.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/DomainTEDB.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/DomainTEDB.java
index 85ecd8fd3..44d2973b2 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/DomainTEDB.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/DomainTEDB.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/EdgeUtils.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/EdgeUtils.java
index e2fafa238..79ad7f82c 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/EdgeUtils.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/EdgeUtils.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/FileTEDBUpdater.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/FileTEDBUpdater.java
index ce5652267..16ba2de9b 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/FileTEDBUpdater.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/FileTEDBUpdater.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/IT_Resources.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/IT_Resources.java
index a819bcf4d..dac19068f 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/IT_Resources.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/IT_Resources.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/InterDomainEdge.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/InterDomainEdge.java
index 724dbb8e0..187b21205 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/InterDomainEdge.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/InterDomainEdge.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/IntraDomainEdge.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/IntraDomainEdge.java
index 50bf93959..09eeedd49 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/IntraDomainEdge.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/IntraDomainEdge.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/IntraDomainWeightEdge.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/IntraDomainWeightEdge.java
index ce3cac72e..63052028b 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/IntraDomainWeightEdge.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/IntraDomainWeightEdge.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/Layer.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/Layer.java
index e9835d418..96d0c0c2e 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/Layer.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/Layer.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/MDTEDB.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/MDTEDB.java
index 09b75f6fe..b8e671de2 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/MDTEDB.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/MDTEDB.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/MultiDomainTEDB.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/MultiDomainTEDB.java
index 19c345888..746338df2 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/MultiDomainTEDB.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/MultiDomainTEDB.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/MultiLayerTEDB.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/MultiLayerTEDB.java
index a2690516a..bed570fed 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/MultiLayerTEDB.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/MultiLayerTEDB.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/Node_Info.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/Node_Info.java
index bc523ba5a..b0f3bb3ac 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/Node_Info.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/Node_Info.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/ReachabilityEntry.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/ReachabilityEntry.java
index d51896c0e..e65a0ec3f 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/ReachabilityEntry.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/ReachabilityEntry.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/ReachabilityManager.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/ReachabilityManager.java
index cf2f3c5c3..161d27f1f 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/ReachabilityManager.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/ReachabilityManager.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/SSONInformation.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/SSONInformation.java
index ff69b8901..78a234ee1 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/SSONInformation.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/SSONInformation.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/SSONListener.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/SSONListener.java
index ce769c41c..22b91b986 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/SSONListener.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/SSONListener.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/SimpleTEDB.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/SimpleTEDB.java
index f2d5dbc89..4e74e445b 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/SimpleTEDB.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/SimpleTEDB.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/TEDB.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/TEDB.java
index 51fc3d8c1..ca937a5aa 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/TEDB.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/TEDB.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/TEDBUpdater.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/TEDBUpdater.java
index fe261b80e..6b0aa6176 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/TEDBUpdater.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/TEDBUpdater.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/TEDListener.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/TEDListener.java
index 86e653ed0..ec1b2e650 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/TEDListener.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/TEDListener.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/TE_Information.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/TE_Information.java
index 0e5476dfe..f1842a6ce 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/TE_Information.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/TE_Information.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/WSONInformation.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/WSONInformation.java
index c67f3a826..2b344a342 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/WSONInformation.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/WSONInformation.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/WSONListener.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/WSONListener.java
index 31b35b441..a802fae9e 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/WSONListener.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/WSONListener.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterController.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterController.java
index 463e300c4..853aa217e 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterController.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterController.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterFloodlight.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterFloodlight.java
index 9bea224fa..401e4bc9c 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterFloodlight.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterFloodlight.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterNOX.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterNOX.java
index fb2c3c51d..5b8e65f0c 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterNOX.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterNOX.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterODL.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterODL.java
index a1a8c0e6f..1bdbc624d 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterODL.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterODL.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterRYU.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterRYU.java
index c1383b8b2..74b0a1f4e 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterRYU.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterRYU.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterTREMA.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterTREMA.java
index a87fc3790..ac11500b7 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterTREMA.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/controllers/TEDUpdaterTREMA.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/AuthInfo.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/AuthInfo.java
index aec4c98c0..223c1940e 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/AuthInfo.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/AuthInfo.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Bandwidth.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Bandwidth.java
index 0fb657e27..fd5f7aa88 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Bandwidth.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Bandwidth.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/BgpParams.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/BgpParams.java
index 98c529e65..37fab2297 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/BgpParams.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/BgpParams.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/EndPoint.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/EndPoint.java
index 27a4c0ffc..845bcf416 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/EndPoint.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/EndPoint.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/IPNodeParams.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/IPNodeParams.java
index 6bd26cf48..0c56d240c 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/IPNodeParams.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/IPNodeParams.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Intf.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Intf.java
index 23f619fa5..57010b999 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Intf.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Intf.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/IsisParams.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/IsisParams.java
index 0cdc583a9..1daaf2124 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/IsisParams.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/IsisParams.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Link.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Link.java
index cd2ab812c..35b3e9c22 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Link.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Link.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Location.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Location.java
index 7e6453682..311387bc3 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Location.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Location.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Node.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Node.java
index bd3350a66..596dedb9a 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Node.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Node.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/OspfParams.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/OspfParams.java
index 3e383487e..4b06f3868 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/OspfParams.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/OspfParams.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Path.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Path.java
index 1ff00d3c6..d77a70397 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Path.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Path.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/PhyLinkParams.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/PhyLinkParams.java
index 7c6e003c8..739508b41 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/PhyLinkParams.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/PhyLinkParams.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/RouterDesc.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/RouterDesc.java
index 4bfc3e9fa..71cd098a5 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/RouterDesc.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/RouterDesc.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/RouterInfoPM.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/RouterInfoPM.java
index a967ef88f..037e6a1eb 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/RouterInfoPM.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/RouterInfoPM.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Service.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Service.java
index 423b71ee3..a60bb60ff 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Service.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/Service.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/StaticRoutingParams.java b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/StaticRoutingParams.java
index c6db597fc..efae98762 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/StaticRoutingParams.java
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/java/eu/teraflow/tid/tedb/elements/StaticRoutingParams.java
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/proto/grpcService.proto b/src/bgpls_speaker/service/java/netphony-topology/src/main/proto/grpcService.proto
index ec8accd8b..89ab745e1 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/proto/grpcService.proto
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/proto/grpcService.proto
@@ -1,4 +1,4 @@
-// Copyright 2022-2023 ETSI TeraFlowSDN - TFS OSG (https://tfs.etsi.org/)
+// Copyright 2022-2024 ETSI OSG/SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
 //
 // Licensed under the Apache License, Version 2.0 (the "License");
 // you may not use this file except in compliance with the License.
diff --git a/src/bgpls_speaker/service/java/netphony-topology/src/main/sample-config-files/TM_COP_example1/TMConfCOP.xml b/src/bgpls_speaker/service/java/netphony-topology/src/main/sample-config-files/TM_COP_example1/TMConfCOP.xml
index e048daf06..c83d4ec1a 100644
--- a/src/bgpls_speaker/service/java/netphony-topology/src/main/sample-config-files/TM_COP_example1/TMConfCOP.xml
+++ b/src/bgpls_speaker/service/java/netphony-topology/src/main/sample-config-files/TM_COP_example1/TMConfCOP.xml
@@ -1,4 +1,4 @@
-